Constantes PHP

Resumo : neste tutorial, você aprende sobre constantes PHP e como usar a define()função e consta palavra-chave para definir constantes.

Introdução às constantes PHP

Uma constante é simplesmente um nome que contém um único valor. Como o próprio nome indica, o valor de uma constante não pode ser alterado durante a execução do script PHP.

Para definir uma constante, você usa a   define() função. A   define() função leva o nome da constante como primeiro argumento e o valor da constante como segundo argumento. Por exemplo:

<?php 

define('WIDTH','1140px');
echo WIDTH;Linguagem de código:  PHP  ( php )

Por convenção, os nomes das constantes são maiúsculos. Ao contrário de uma variável , o nome da constante não começa com o cifrão ( $).

Por padrão, os nomes das constantes diferenciam maiúsculas de minúsculas. Isso significa que WIDTHe widthsão constantes diferentes.

É possível definir constantes que não diferenciam maiúsculas de minúsculas. No entanto, está obsoleto desde PHP 7.3

No PHP 5, uma constante pode conter um valor simples como um número , uma string , um valor booleano . A partir do PHP 7.0, uma constante pode conter um array . Por exemplo:

<?php

define( 'ORIGIN', [0, 0] );Linguagem de código:  PHP  ( php )

Assim como as variáveis ​​superglobais, você pode acessar constantes de qualquer lugar no script.

A palavra-chave const

PHP fornece outra maneira de definir uma constante por meio da constpalavra-chave. Aqui está a sintaxe:

const CONSTANT_NAME = value;Linguagem de código:  PHP  ( php )

Nesta sintaxe, você define o nome da constante após a constpalavra-chave. Para atribuir um valor a uma constante, você usa o operador de atribuição (=) e o valor da constante. O valor constante pode ser escalar, por exemplo, um número, uma string ou um array.

O exemplo a seguir usa a constpalavra-chave para definir a SALES_TAXconstante:

<?php

const SALES_TAX = 0.085;

$gross_price = 100;

$net_price = $gross_price * (1 + SALES_TAX);

echo $net_price; // 108.5Linguagem de código:  PHP  ( php )

O exemplo a seguir usa a constpalavra-chave para definir a constante RGB que contém uma matriz:

<?php

const RGB = ['red', 'green', 'blue'];Linguagem de código:  PHP  ( php )

definir vs const

Primeiro, the define()é uma função enquanto the consté uma construção de linguagem.

Isso significa que a define()função define uma constante em tempo de execução, enquanto a constpalavra-chave define uma constante em tempo de compilação.

Em outras palavras, você pode usar a define()função para definir uma constante condicionalmente como esta:

<?php

if(condition) 
{
    define('WIDTH', '1140px');
}Linguagem de código:  PHP  ( php )

No entanto, você não pode usar a constpalavra-chave para definir uma constante dessa forma. Por exemplo, a sintaxe do código a seguir é inválida:

<?php 

if(condition) 
{
   const WIDTH = '1140px';
}Linguagem de código:  PHP  ( php )

Em segundo lugar, a função define() permite definir uma constante com o nome que vem de uma expressão. Por exemplo, o seguinte define três constantes OPTION_1, OPTION_2e OPTION_3com os valores 1, 2 e 3.

<?php

define('PREFIX', 'OPTION');


define(PREFIX . '_1', 1);
define(PREFIX . '_2', 2);
define(PREFIX . '_3', 3);Linguagem de código:  PHP  ( php )

Entretanto, você não pode usar a constpalavra-chave para definir um nome de constante derivado de uma expressão.

A menos que você queira definir uma constante condicionalmente ou usar uma expressão, você pode usar a constpalavra-chave para definir constantes para tornar o código mais claro.

Observe que você pode usar a constpalavra-chave para definir constantes dentro de classes .

Resumo

  • Uma constante é um nome que contém um valor simples que não pode ser alterado durante a execução do script. A partir do PHP 7, uma constante pode conter um array.
  • Uma constante pode ser acessada de qualquer lugar no script.
  • Use a define()função ou constpalavra-chave para definir uma constante.
  • Use a define()função se quiser definir uma constante condicionalmente ou usando uma expressão.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *