Constantes em PHP

Constantes em PHP

Uma Constante é um valor que pode ser armazenado sob um nome, de forma parecida com uma variável, porém com uma diferença fundamental: esse valor não pode ser alterado após a constante ser definida e atribuída.

Desta forma, o valor armazenado pode ser utilizado no script sempre que a constante for empregada, sem o risco de ter esse valor alterado inadvertidamente.

Uma constante é muito útil para armazenar valores que nunca devem ser alterados, como constantes matemáticas (Pi, por exemplo) e strings de conexão a bancos de dados, entre outros. O escopo de uma constante é global.

Criamos constantes nomeadas em PHP com o uso da função define().

Sintaxe:

define(nome_constante, valor_constante[, ignora_caso]);

Onde:

  • nome_constante é o nome que queremos dar à constante
  • valor_constante é o valor que será armazenado na constante. OS tipos de dados aceitos são integer, string, float e boolean, ou ainda o valor NULL. No PHP também são aceitos arrays.
  • ignora_caso é um flag que ativa ou desativa a verificação de maiúsculos e minúsculos no nome da constante.

O nome da constante não se inicia com o caractere $, de forma diferente das variáveis.

O valor padrão para [ignora-caso] é FALSE, ou seja, o caso não é ignorado - maiúsculas e minúsculas no nome da constante são diferenciadas.
Alterando seu valor para TRUE não será feita diferenciação entre maiúsculas e minúsculas no nome da constante.

Exemplo:

<?php
 define("constante1", "Bóson");
 define("constante2", "Próton", TRUE);
 define("constante3", 35);
 echo constante1."<br>";
 echo Constante1."<br>";
 echo constante2."<br>";
 echo CONSTANTE2."<br>";
 echo constante3."<br>";
?>

Note que é gerado um erro ao tentar mostrar o conteúdo da constante 1 quando ela é referenciada como Constante1, com o primeiro caractere em maiúscula. Já a constante2, mesmo em maiúsculas, não gera esse erro, pois o parâmetro ignora_caso foi definido como TRUE para ela:

Erro em constantes de nome diferente no PHP

Após uma constante ser definida, seu valor não pode ser alterado durante a execução do script. Qualquer tentativa de escrever um valor diferente em uma constante já definida resultará em erro na execução do script, como é possível constatar acrescentando as seguintes instruções ao script anterior:

constante3 = 20;
echo constante3."<br>";

Será gerado o erro a seguir, mostrando que a atribuição (=) não é possível a uma constante após ter sido criada:

Erro em atribuição de constantes no PHP

Erro ao tentar atribuir valor a uma constante no PHP. Clique na imagem para ampliá-la.

Constantes e Arrays

Também podemos criar uma constante do tipo array, a partir do PHP 7. Veja abaixo um exemplo:

define('LINGUAGENS', array('C','Java','PHP','Haskell'));
echo LINGUAGENS[1]; // Saída: "Java"

Próximo: Operadores aritméticos e de atribuição de variáveis em PHP

 

Sobre Fábio dos Reis (1236 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

Escreva um comentário

Seu e-mail não será divulgado


*