Vamos a continuar con los resúmenes de PHP, en este post voy a escribir un resumen sobre las constantes.
Una constante es un identificador (nombre) para expresar un valor simple. Como el nombre sugiere, este valor no puede variar durante la ejecucción del script. Una constante es sensible a mayúsculas por defecto. Por convención, los identificadores de contantes siempre suelen declararse en mayúsculas.
El nombre de una constante sigue las mismas reglas que cualquier otra etiqueta de PHP. Un nombre de constante válido empieza por una letra o subguión, seguido por cualquier número o letras, números o subguiones. Usando una regular expression, se representaría de la siguiente manera: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*
Ejemplos de uso y nomenclaturas:
// Nombre de constantes correctos
define("FOO", "something");
define("FOO2", "something else");
define("FOO_BAR", "something more");
// Nombres de constantes incorrectos
define("2FOO", "something");
// Esto es válido, pero debería ser evitado:
// Ya que quizá algún día PHP crea una constante mágica
// con el mismo nombre y en ese caso provocaría un error en tu script
define("__FOO__", "something");
Igual que las superglobals, el acceso a una constante es global. Se puede acceder a constantes desde cualquier sitio del script sin importar desde donde. Para más información en el acceso, lea el manual en la sección acceso a variables.
Sintaxis – Link
Se puede definir una constante usando la función define() o también declarándola fuera de la clase con const desde PHP 5.3.0. Una vez que la constante está definida, no puede ser cambiada o redifinida en ningún momento.
Solo se puede definir como constantes valores escalares (boolean, integer, float y string). Se puede definir resource en constantes, pero debería ser evitado, porque puede causar resultados inesperados. Para ver los diferentes tipos de datos entra al post de PHP – Tipo de Datos.
Para obtener el valor de una constante solo es necesarios especificar su nombre. A diferencia de las variables, no se debe prefijar una constante con el signo $. También se puede usar la función constant()para leer el valor de una constante si se desea obtener el valor de una constante de forma dinámica. Use get_defined_constants() para obtener una lista de todas las constantes definidas.
Nota: Las contantes y las variables (globales) se encuentran en un espacio de nombres distinto. Esto implica que por ejemplo TRUE y $TRUE son diferentes.
Si se usa una constante que todavía no está definida, PHP asume que se está refiriendo al nombre de la constante en si, igual que si fuera una string (CONSTANT vs “CONSTANT”). Cuando esto suceda, se mostrará un error de nivel E_NOTICE. Ver también la sección en el manual de porqué $foo[bar] es incorrecto (a no ser que primero define() bar como constante). Si simplemente quiere comprobar si una constante está definida, use la función defined().
Estas son las diferencias entre constantes y variables:
- Las constantes no llevan el signo dólar ($), como prefijo.
- Las constantes solo pueden 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. Y
- Las constantes solo deberían contener valores escalares.
Defino una constante:
define("CONSTANT", "Hola mundo.");
echo CONSTANT; // muestra "Hola mundo."
echo Constant; // muestra "Constant" y provoca un error.
Definiendo constantes usando el keyword const:
// Funciona desde PHP 5.3.0 const CONSTANT = 'Hola Mundo'; echo CONSTANT;
Nota: A diferencia de definir constantes usando define(), las constantes definidas con la palabra clave const deben declararse en el nivel superior del entorno de la aplicación porque se definen en tiempo de ejecución. Esto significa que no pueden declararse dentro de funciones, loops o declaraciones if.
Constantes predefinidas – Link
PHP ofrece un largo número de constantes predefinidas a cualquier script en ejecució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.
Hay siete constantes predefinidas que cambian dependiendo de donde son usadas. Por ejemplo el valor de __LINE__ depende en la línea que se use en el script. Estas constantes especiales son sensibles a mayúsculas y son las siguientes:
| Nombre | Descripción |
|---|---|
| __LINE__ | Línea actual en el fichero. |
| __FILE__ | Ruta completa y nombre del fichero. Si se usa dentro de un include, devolverá el nombre del fichero del include. Desde PHP 4.0.2, __FILE__ siempre contiene la ruta absoluta con symlinks resueltos, en otras versiones contenía la ruta relativa en según que circunstancias. |
| __DIR__ | Directorio del fichero. Si se utiliza dentro de un include, devolverá el directorio del fichero include. Esta constante es igual que dirname(__FILE__). El nombre del directorio no lleva la barra inicial a no ser que esté en el directorio root. (Fue añadida en PHP 5.3.0) |
| __FUNCTION__ | Nombre de la función. (Añadida en PHP 4.3.0) Desde PHP 5 esta constante devuelve el nombre de la función donde fue declarada (sensible a mayúsculas). En PHP 4 su valor siempre es en minúsculas. |
| __CLASS__ | Nombre de la clase. (Añadida en PHP 4.3.0) Desde PHP 5 esta constante devuelve el nombre de la clase donde fue declarada (sensible a mayúsculas). En PHP 4 su valor siempre es en minúsculas. |
| __METHOD__ | Nombre del método de la clase. (Añadida en PHP 5.0.0.) Nombre del método devuelto donde fue declarada. (sensible a mayúsculas). |
| __NAMESPACE__ | Nombre del espacio de nombres actual (sensible a mayúsculas). Esta constante se define en tiempo de compilación (Añadida en PHP 5.3.0) The name of the current namespace (case-sensitive). |
Listado con todas las Constantes Reservadas – Link
Pronto seguiré con mas temas!


Pablo Ignacio de la Vega Ibañez ha compartido esta publicación por primera vez:
PHP – Constantes
Vamos a continuar con http://sgp.cm/6a4662
Capitulo 7 PHP – Constantes http://wp.me/pSTFt-7b #PHP #tutoriales ReTweet please!
Capitulo 7 PHP – Constantes http://wp.me/pSTFt-7b #PHP #tutoriales ReTweet please!
Capitulo 7 PHP – Constantes http://wp.me/pSTFt-7b #PHP #tutoriales ReTweet please!
Capitulo 7 PHP – Constantes http://wp.me/pSTFt-7b #PHP #tutoriales ReTweet please!