Constantes

Tabla de contenidos

Una constante es un identificador (nombre) para un valor simple. Como su nombre sugiere, ese valor no puede cambiar durante la ejecución del script (excepto las constantes mágicas, que en realidad no son constantes). Las constantes distinguen entre mayúsculas y minúsculas. Por convención, los identificadores de constantes se escriben siempre en mayúsculas.

Nota:

Antes de PHP 8.0.0, las constantes definidas con la función define() podían no distinguir entre mayúsculas y minúsculas.

El nombre de una constante sigue las mismas reglas que cualquier etiqueta en PHP. Un nombre de constante válido comienza con una letra o guion bajo, seguido de cualquier cantidad de letras, números o guiones bajos. Como expresión regular, se expresaría así: ^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$

Es posible definir constantes con define() usando nombres reservados o incluso inválidos, cuyo valor solo puede obtenerse con la función constant(). Sin embargo, no se recomienda hacerlo.

Sugerencia

Eche un vistazo a Guía de entorno de usuario para nombres.

Ejemplo #1 Nombres de constantes válidos e inválidos

<?php

// Nombres de constantes válidos
define("FOO", "something");
define("FOO2", "something else");
define("FOO_BAR", "something more");

// Nombres de constantes inválidos
define("2FOO", "something");

// Esto es válido, pero debe evitarse:
// PHP podría algún día proporcionar una constante mágica
// que rompa el script
define("__FOO__", "something");

?>

Nota: Para estos propósitos, una letra es a-z, A-Z y los caracteres ASCII del 128 al 255 (0x80-0xff).

Al igual que las superglobals, el ámbito de una constante es global. Las constantes pueden ser accedidas desde cualquier lugar del script sin importar el ámbito. Para más información sobre el ámbito, consulte la sección del manual sobre ámbito de las variables.

Nota: A partir de PHP 7.1.0, las constantes de clase pueden declarar una visibilidad protected o private, haciéndolas disponibles únicamente en el ámbito jerárquico de la clase en la que se definen.