04. Constantes en PHP

Las constantes son un tipo de dato que no varía durante la ejecución de un programa. En la vida real tenemos muchos tipos de constantes, como son el número PI, el valor de la gravedad, la temperatura de congelación del agua…

Igual que en la vida real, cuando programamos vamos a necesitar que ciertos valores no cambien nunca, y en esos casos debemos dejar de usar variables y usar constantes en su reemplazo.

Como definir una constante

Para definir una constante utilizamos la siguiente sintaxis.

Ejm

define("NOMBRE_CONSTANTE","SUTIL WEB");

Como podemos ver, utilizamos el método define() que tiene dos parámetros, el primer parámetro indica el nombre de la constante, y el segundo parámetro su valor.

Como utilizar una constante definida

Para ello hacemos uso de la siguiente sintaxis

Ejm

echo NOMBRE_CONSTANTE;

Con la sintaxis anterior es suficiente, no hay que anteponer el símbolo de dólar como ocurre para llamar a las variables.

Para definir una constante normalmente se utilizan los nombres en mayúscula, y si son más de 2 palabras, se separan con el guión bajo, como en el ejm visto anteriormente.

Constantes de tipo Array

A partir de PHP7 ya podemos definir constantes de tipo Array.

Ejm

<?php
// DEFINIMOS UNA CONSTANTE TIPO ARRAY
define('ANIMALES', [
'perro',
'gato',
'cabra'
]);

// ACCEDER AL VALOR perro
echo ANIMALES[0];
?>

Saber si se ha definido o no una constante

Va a haber ocasiones en las que queramos saber si se ha definido o no una constante, y dependiendo del resultado, realizar una u otra acción. Para ello hacemos uso del método defined() y como argumento pondremos el nombre de la constante que queremos verificar que existe, como en el ejm siguiente.

Ejm

<?php
define('CURSO', 'CURSO DE PHP');
if (defined('CURSO')) {
echo "Sí se ha definido";
}
?>

Constantes predefinidas por PHP (globales)

PHP define varias constantes globales que se pueden llamar desde un script.

  • PHP_VERSION: nos indica la versión de PHP que estamos utilizando.
  • PHP_OS: nos indica el sistema operativo utilizado.
  • PHP_EXTENSION_DIR: nos facilita la ruta de las extensiones.
  • PHP_SAPI: muestra la API del servidor.
  • __LINE__: muestra en que línea se está ejecutando esta constante.
  • __FILE__: retorna el directorio completo en el que nos encontramos.

Scroll al inicio