Resumo : neste tutorial, você aprende sobre constantes PHP e como usar a define()
função e const
a 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 WIDTH
e width
sã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 const
palavra-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 const
palavra-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 const
palavra-chave para definir a SALES_TAX
constante:
<?php
const SALES_TAX = 0.085;
$gross_price = 100;
$net_price = $gross_price * (1 + SALES_TAX);
echo $net_price; // 108.5
Linguagem de código: PHP ( php )
O exemplo a seguir usa a const
palavra-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 const
palavra-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 const
palavra-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_2
e OPTION_3
com 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 const
palavra-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 const
palavra-chave para definir constantes para tornar o código mais claro.
Observe que você pode usar a const
palavra-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 ouconst
palavra-chave para definir uma constante. - Use a
define()
função se quiser definir uma constante condicionalmente ou usando uma expressão.