(PHP 4, PHP 5, PHP 7, PHP 8)
defined — Проверяет существование указанной именованной константы
$constant_name
): boolПроверяет существование и наличие значения указанной константы.
Функция также работает с константами классов и перечислениями.
Замечание:
Если необходимо узнать о существовании переменной, то используйте isset(), так как defined() применима лишь для констант. Если вам необходимо узнать о существовании функции, то используйте function_exists().
constant_name
Имя константы.
Возвращает true
, если именованная константа, указанная в параметре
constant_name
, была определена, false
в противном случае.
Пример #1 Проверка констант
<?php
/* Важно учесть необходимость использования кавычек. Данный пример проверяет,
* является ли строка 'TEST' именем константы 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)
?>
Пример #2 Проверка вариантов перечисления (начиная с PHP 8.1.0)
<?php
enum Suit
{
case Hearts;
case Diamonds;
case Clubs;
case Spades;
}
var_dump(defined('Suit::Hearts')); // bool(true)
?>