Constantes en PHP: Aprendiendo a usar define

Avatar Tutor | octubre 18, 2018

Una constante es un tipo de variable que no se puede cambiar. Una constante no puede ser indefinida y una vez que su valor ha sido establecido, no puede cambiar su valor a lo largo del script.

Las constantes generalmente se encuentran en los archivos de configuración que contienen información como el usuario y la contraseña de la base de datos, el nombre de la base de datos, la URL del sitio y otros datos útiles.

Así es como se define una constante en PHP:

<?php

// nombre del sitio
define('SITE_NAME', 'mi nombre del sitio', false);

// conexión de base de datos
define('DB_INFO', array(
'host' => 'localhost',
'usr' => 'my_user',
'pass' => 'my_database_pass',
'db' => 'my_database')
);

echo "Bienvenido a" SITE_NAME;
echo "<br />"
var_dump(DB_INFO);
?>

Echemos un vistazo más de cerca a los ejemplos anteriores. Usamos la función define () para crear la constante y con los siguientes parámetros:

nombre: el nombre definido para nuestra constante
valor: el valor definido para nuestra constante
distingue entre mayúsculas y minúsculas: este es un parámetro opcional y es verdadero de forma predeterminada. Esto significa que nuestra constante es sensible a mayúsculas y minúsculas. Ajústelo a falso si lo necesita

Nombrando constantes

Al igual que una variable normal, un nombre de constante válido comienza con una letra o un guión bajo. Por otro lado, una constante PHP no necesita el signo “$” antes del nombre constante.

Aunque no es un deber, hay una convención que los nombres constantes se escriben en mayúsculas. Esto facilita la identificación y los distingue de otras variables cuando se revisan los documentos de codificación.

Alcance de Constantes

Las constantes se definen automáticamente como globales y se pueden usar directamente en cualquier lugar del script sin necesidad de realizar ninguna acción.

<?php
// conexión de base de datos
define ('DB_INFO', array(
'host' => 'localhost',
'usr' => 'my_user',
'pass' => 'my_database_pass',
'db' => 'my_database')
);

// función simple para imprimir datos
function nice_printing() {
echo "<pre>";
print_r (DB_INFO);
echo "</pre>"
}

// ejecución de la función
nice_printing();
?>

Comprobar si se ha definido una constante

Aunque todavía no hemos hablado sobre la etiqueta if / else, este es un buen lugar para mencionar que las constantes tienen una función específica para verificar si están definidas.

Para las variables usaremos isset() mientras que para las constantes usaremos defined(). Aquí hay un ejemplo usándolo en una constante:

<?php
define ('DEBUG', 3);

if (defined(DEBUG)) {
// hacer algo si DEBUG está definido
}
?>

Written by Tutor