Las constantes en PHP como en muchos otros lenguajes de programación se diferencian de las variables es que en el valor que tienen asignado, este nunca cambia en la ejecucion del programa. Ejemplo
<?php
define("DOMINIO", "www.render2web.com");
?>
En el ejemplo anterior hemos creado una constantes conel nombre “DOMINIO” y le hemos asignado el valor “www.render2web.com”, este valor siempre será el mismo, nunca podrá cambiar para esta constante, no podemos re asignar un valor nuevo a esta constante, como si lo podemos hacer si fuera una variable.
Algunas características de las constantes en php son:
- Las constantes no llevan el signo dólar (
$
), como prefijo. - Antes de PHP 5.3, las constantes solo podían ser definidas usando la función define(), y no por simple asignación.
- Las constantes pueden ser definidas y accedidas desde cualquier sitio sin importar las reglas de acceso de variables.
- Las constantes no pueden ser redefinidas o eliminadas una vez se han definido;
- Las constantes podrían evaluarse como valores escalares. A partir de PHP 5.6 es posible definir una constante de array con la palabra reservada
const
, y, a partir de PHP 7, las constantes de array también se pueden definir con define(). Se pueden utilizar arrays en expresiones escalares constantes (por ejemplo,const FOO = array(1,2,3)[0];
), aunque el resultado final debe ser un valor de un tipo permitido. - El alcance o scope de una constante es global, se puede acceder desde cualquier lugar
Como imprimir constantes:
<?php
define("DOMINIO", "www.render2web.com");
echo CONSTANTE;
?>
En el ejemplo anterior tenemos una constantes con nombre “DOMINIO” y la imprimimos usando un “echo” en php.
Algunas buenas practicas recomendades para el trabajo con constantes:
- Que sean en mayúsculas
- No usar nombres con guión bajo u otros: define(_NOMBRE_)
Constantes Predefinidas
PHP ofrece un gran número de constantes predefinidas a cualquier script en ejecucción. Muchas de estas constantes, sin embargo, son creadas por diferentes extensiones, y sólo estarán presentes si dichas extensiones están disponibles, bien por carga dinámica o porque han sido compiladas.
Algunos ejemplos de constantes predefinidas:
__LINE__
: El número de línea actual en el fichero.__FILE__
: Ruta completa y nombre del fichero con enlaces simbólicos resueltos. Si se usa dentro de un include, devolverá el nombre del fichero incluido.__DIR__
: Directorio del fichero. Si se utiliza dentro de un include, devolverá el directorio del fichero incluído. Esta constante es igual quedirname(__FILE__)
. El nombre del directorio no lleva la barra final a no ser que esté en el directorio root.
<?php
echo __LINE__;
echo "<br />";
echo __DIR__;
?>
En el ejemplo anterior con el primer “echo” obtendrémos exactamente el número de línea de código del script php. Con el tercer “echo” obtendremos la ruta completa del directorio del archivo en el que estamos trabajando.
Son constantes muy útiles para el desarrollo de nuestros proyectos php.
Puedes ver la lista completa de constantes predefinidas en php en el siguiente enlace:
https://www.php.net/manual/es/language.constants.predefined.php