defined
PHP Manual
PHP Manual»Funciones Varias»defined

defined

(PHP 4, PHP 5, PHP 7, PHP 8)

defined — Verifica si una constante con el nombre dado existe

Descripción

function defined(string $constant_name): bool

Verifica si una constante con el nombre constant_name existe.

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

Nota:

Si se desea verificar si una variable existe, utilice isset() ya que defined() solo se aplica a las constantes. Si se desea ver si una función existe, utilice function_exists().

Parámetros

constant_name

El nombre de la constante.

Nota:

defined() 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 comprobar silenciosamente una constante diferente a la que el mismo identificador sin prefijo haría referencia. Para verificar si una constante declarada en un espacio de nombres está definida, el espacio de nombres debe formar parte del nombre, como en defined('Mi\Espacio\MICONSTANTE') o defined(__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 true si el nombre de la constante proporcionado por el argumento constant_name ha sido definido, false en caso contrario.

Ejemplos

Ejemplo #1 Verificar la presencia de constantes con defined()

<?php
/* Observe que el nombre de la constante está entre comillas. Este ejemplo verifica
 * si la cadena 'TEST' es el nombre de la constante llamada TEST */
if (defined('TEST')) {
    echo TEST;
}


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

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

var_dump(defined('bar::test')); // bool(true)
var_dump(defined('foo::test')); // bool(true)

?>

Ejemplo #2 Verificación de tipos enum (a partir de PHP 8.1.0)

<?php

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

var_dump(defined('Suit::Hearts')); // bool(true)
?>

Véase también

To Top