90 votes

Comment vérifier si une constante définie existe en PHP ?

J'utilise donc un framework PHP appelé fuelphp et j'ai cette page qui est un HTML et je ne peux donc pas y utiliser PHP. J'ai un autre fichier qui contient une barre supérieure, que mon fichier HTML appellera par ajax.

Comment vérifier si une constante existe en PHP ?
Je veux vérifier l'emplacement des fichiers du framework fuelphp.

Voici les constantes que je dois vérifier (en fait, je ne dois vérifier qu'une seule d'entre elles) :

define('DOCROOT', __DIR__.DIRECTORY_SEPARATOR);
    define('APPPATH', realpath(__DIR__.'/fuel/app/').DIRECTORY_SEPARATOR);
    define('PKGPATH', realpath(__DIR__.'/fuel/packages/').DIRECTORY_SEPARATOR);
    define('COREPATH', realpath(__DIR__.'/fuel/core/').DIRECTORY_SEPARATOR);                    
    require APPPATH.'bootstrap.php';

éditer :
J'ai réalisé que ce ne sont pas des variables mais des constantes...

112voto

Tom Walters Points 7327

Utilisez defined() fonction par exemple :

if (defined('VAR_NAME')) {
    // Something
}

107voto

Eric MORAND Points 2979

Tout d'abord, il ne s'agit pas de variables, mais de constantes.

Et vous pouvez vérifier leur existence en utilisant la fonction defined() fonction :

bool defined ( string $name )

Vérifie si la constante donnée existe et est définie.

46voto

Niklas Points 2009

Vérifier en utilisant defined('CONSTANT') fonction.

Un exemple tiré du manuel :

<?php
/* Note the use of quotes, this is important.  This example is checking
 * if the string 'TEST' is the name of a constant named TEST */
if (defined('TEST')) {
    echo TEST;
}
?>

32voto

lordspace Points 384

Voici une façon plus cool et plus concise de le faire :

defined('CONSTANT') or define('CONSTANT', 'SomeDefaultValue');

crédit : daniel at neville dot tk https://www.php.net/manual/en/function.defined.php#84439

5voto

Zac Points 1545

Je suppose que vous voulez dire CONSTANTS et non variables ! la fonction est defined();

voir ici : défini

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X