Beware that some PHP versions return an integer (1 or 0) instead of a boolean.
Confirmed PHP versions that return an integer are 4.3.2 and 4.3.4.
Relevant bug report:
http://bugs.php.net/bug.php?id=27443
This make it impossible to use the following, when the PHP version is not known:
if (defined('CONSTANT') === true) {
}
Relevant commit for PHP 4.3.5 (thanks to Pollita at #php.thinktank):
http://cvs.php.net/viewcvs.cgi/Zend/zend_builtin_functions.c?
r1=1.124.2.13&r2=1.124.2.14
defined
(PHP 4, PHP 5)
defined — Prüft, ob eine benannte Konstante existiert
Beschreibung
bool defined
( string
$name
)Überprüft, ob die angegebene Konstante existiert und definiert ist.
Hinweis:
defined() gilt nur für Konstanten. Verwenden Sie isset(), falls Sie wissen wollen, ob eine Variable existiert. Um zu überprüfen, ob eine Funktion existert, verwenden Sie function_exists().
Parameter-Liste
-
name -
Der Name der Konstante
Rückgabewerte
Wenn die durch name angegebene Konstante definiert
ist, wird TRUE zurückgegeben, ansonsten FALSE.
Beispiele
Beispiel #1 Konstanten überprüfen
<?php
/* Beachten Sie die Verwendung von Anführungsstrichen. Das ist wichtig!
* In diesem Beispiel wird überprüft, ob die Zeichenkette 'TEST' der Name
* einer Konstante namens TEST ist */
if (defined('TEST')) {
echo TEST;
}
?>
Siehe auch
- define() - Definiert eine benannte Konstante
- constant() - Liefert den Wert einer Konstante
- get_defined_constants() - Returns an associative array with the names of all the constants and their values
- function_exists() - Falls die angegebene Funktion definiert ist, wird TRUE zurück gegeben
- Das Kapitel über Konstanten
defined
Harald Ponce de Leon
18-May-2006 05:24
18-May-2006 05:24
ndove at cox dot net
28-Jan-2005 04:20
28-Jan-2005 04:20
In PHP5, you can actually use defined() to see if an object constant has been defined, like so:
<?php
class Generic
{
const WhatAmI = 'Generic';
}
if (defined('Generic::WhatAmI'))
{
echo Generic::WhatAmI;
}
?>
Thought it may be useful to note.
-Nick
Craig at chatspike dot net
30-Nov-2003 08:57
30-Nov-2003 08:57
This can be useful if you want to protect pages which get included from outsiders eyes, on your mail page (the page viewable by people) put define("X", null); then on all your other pages, you can then do something like:
if (!defined("X")) {
echo "You Cannot Access This Script Directly, Have a Nice Day.";
exit();
}
And your page is a good as protected :)