constant
PHP Manual
PHP Manual»Funciones Varias»constant

constant

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

constant — Retorna el valor de una constante

Descripción

function constant(string $name): mixed

Retorna el valor de la constante name.

constant() es útil cuando se debe leer el valor de una constante, pero su nombre solo se conoce durante la ejecución del script. Por ejemplo, este nombre puede ser el resultado de una función.

Esta función también funciona con las constantes de clase y tipos enum.

Parámetros

name

El nombre de la constante.

Nota:

constant() toma el nombre como un string ordinario y no lo resuelve con respecto al espacio de nombres actual: el nombre se busca en el espacio de nombres global, por lo que un nombre sin calificar puede devolver silenciosamente una constante diferente a la que el mismo identificador sin prefijo haría referencia. Para recuperar el valor de una constante declarada en un espacio de nombres, el espacio de nombres debe formar parte del nombre, como en constant('Mi\Espacio\MICONSTANTE') o constant(__NAMESPACE__ . '\MICONSTANTE'). Como el nombre es una cadena simple, los alias introducidos por sentencias use y el prefijo namespace\ no se aplican a él. En una cadena entre comillas dobles, los separadores de espacio de nombres deben escaparse, como en "Mi\\Espacio\\MICONSTANTE". La parte del espacio de nombres del nombre no distingue entre mayúsculas y minúsculas, el nombre de la constante sí lo hace.

Valores devueltos

Retorna el valor de la constante.

Errores/Excepciones

Si la constante no está definida, se lanza una excepción Error. Anteriormente a PHP 8.0.0, se emitía un error de nivel E_WARNING en este caso.

Historial de cambios

Versión Descripción
8.0.0 Si la constante no está definida, constant() ahora lanza una excepción Error; anteriormente se emitía un E_WARNING y se retornaba null.

Ejemplos

Ejemplo #1 Uso de la función constant() con constantes

<?php

define("MAXSIZE", 100);

echo MAXSIZE;
echo constant("MAXSIZE"); // idéntico a la línea anterior

interface bar {
    const test = 'foobar!';
}

class foo {
    const test = 'foobar!';
}

$const = 'test';

var_dump(constant('bar::'. $const)); // string(7) "foobar!"
var_dump(constant('foo::'. $const)); // string(7) "foobar!"

?>

Ejemplo #2 Uso de la función constant() con tipos enum (a partir de PHP 8.1.0)

<?php

enum Suit
{
    case Hearts;
    case Diamonds;
    case Clubs;
    case Spades;
}

$case = 'Hearts';

var_dump(constant('Suit::'. $case)); // enum(Suit::Hearts)

?>

Véase también

To Top