PHP - Tipos de constantes

Una constante es un nombre o un identificador de un valor simple. Un valor constante no puede cambiar durante la ejecución del script. De forma predeterminada, una constante distingue entre mayúsculas y minúsculas. Por convención, los identificadores de constantes siempre están en mayúsculas. Un nombre constante comienza con una letra o un guión bajo, seguido de cualquier número de letras, números o guiones bajos. Si ha definido una constante, nunca se puede cambiar o dejar de definir.

Para definir una constante, debe usar la función define () y para recuperar el valor de una constante, simplemente debe especificar su nombre. A diferencia de las variables, no es necesario tener una constante con $. También puede usar la función constante () para leer el valor de una constante si desea obtener el nombre de la constante de forma dinámica.

función constante ()

Como lo indica el nombre, esta función devolverá el valor de la constante.

Esto es útil cuando desea recuperar el valor de una constante, pero no conoce su nombre, es decir, está almacenado en una variable o devuelto por una función.

ejemplo de constante ()

<?php
   define("MINSIZE", 50);
   
   echo MINSIZE;
   echo constant("MINSIZE"); // same thing as the previous line
?>

Solo los datos escalares (booleanos, enteros, flotantes y cadenas) pueden estar contenidos en constantes.

Las diferencias entre constantes y variables son

  • No es necesario escribir un signo de dólar ($) antes de una constante, mientras que en Variable uno tiene que escribir un signo de dólar.

  • Las constantes no se pueden definir mediante una asignación simple, solo se pueden definir mediante la función define ().

  • Las constantes se pueden definir y acceder a ellas en cualquier lugar sin tener en cuenta las reglas de alcance de las variables.

  • Una vez que se han establecido las constantes, no se pueden redefinir ni dejar de definir.

Nombres de constantes válidos y no válidos

// Valid constant names
define("ONE",     "first thing");
define("TWO2",    "second thing");
define("THREE_3", "third thing");
define("__THREE__", "third value");

// Invalid constant names
define("2TWO",    "second thing");

Constantes de PHP Magic

PHP proporciona una gran cantidad de constantes predefinidas a cualquier script que ejecute.

Hay cinco constantes mágicas que cambian dependiendo de dónde se utilicen. Por ejemplo, el valor de __LINE__ depende de la línea en la que se usa en su secuencia de comandos. Estas constantes especiales no distinguen entre mayúsculas y minúsculas y son las siguientes:

A continuación se dan algunas constantes PHP "mágicas":

No Señor Nombre y descripción
1

__LINE__

El número de línea actual del archivo.

2

__FILE__

La ruta completa y el nombre de archivo del archivo. Si se usa dentro de una inclusión, se devuelve el nombre del archivo incluido. Desde PHP 4.0.2,__FILE__ siempre contiene una ruta absoluta, mientras que en versiones anteriores contenía una ruta relativa en algunas circunstancias.

3

__FUNCTION__

El nombre de la función. (Agregado en PHP 4.3.0) A partir de PHP 5, esta constante devuelve el nombre de la función tal como se declaró (distingue entre mayúsculas y minúsculas). En PHP 4, su valor siempre está en minúsculas.

4

__CLASS__

El nombre de la clase. (Agregado en PHP 4.3.0) A partir de PHP 5, esta constante devuelve el nombre de la clase tal como se declaró (distingue entre mayúsculas y minúsculas). En PHP 4, su valor siempre está en minúsculas.

5

__METHOD__

El nombre del método de la clase. (Agregado en PHP 5.0.0) El nombre del método se devuelve como se declaró (distingue entre mayúsculas y minúsculas).