CLASS_EXISTS |
Classe existe |
PHP 4.0+ |
Syntaxe
function class_exists($class_name);
|
function class_exists($class_name,$autoload);
|
Paramètres
Nom |
Description |
$class_name |
Ce paramètre permet d'indiquer le nom de la classe. |
$autoload |
Ce paramètre permet d'indiquer s'il faut appeler «__autoload» (true) ou non (false). |
Retour
Valeur |
Description |
FALSE |
Ces valeurs permettent d'indiquer que la classe n'existe pas. |
TRUE |
Cette valeur permet d'indiquer que la classe existe. |
Description
Cette fonction permet de vérifier si la classe spécifié existe présentement dans le script PHP.
Remarques
- Vérification de l'existence d'une classe : La fonction class_exists est utilisée pour vérifier si une classe est définie dans le code. Elle retourne
un booléen : true si la classe existe et false si elle n'existe pas. Cela permet aux développeurs de vérifier l'existence d'une classe avant de tenter
de l'instancier, réduisant ainsi les erreurs potentielles liées à une classe non définie.
- Prise en charge des classes autochargées : class_exists peut également vérifier les classes étant autochargées grâce à une fonction d'autoload
personnalisée. Cela est utile dans des environnements où des classes peuvent être chargées dynamiquement via des mécanismes d'autoload, comme dans les projets utilisant
Composer ou des autochargeurs manuels.
- Prise en charge de la casse : Par défaut, class_exists effectue une comparaison sensible à la casse. Cela signifie qu'il faut spécifier le nom exact de la classe,
en tenant compte des majuscules et des minuscules, comme défini dans le code. Cette sensibilité à la casse est importante lorsqu'on travaille avec des systèmes de fichiers
sensibles à la casse (par exemple, Linux).
- Paramètre optionnel autoload : class_exists dispose d'un second paramètre, $autoload, permettant de contrôler si la fonction doit ou non tenter
d'autoloader la classe si elle n'est pas encore définie. Par défaut, ce paramètre est true, ce qui signifie que l'autoload sera tenté si nécessaire. Si vous passez
false, la fonction se contentera de vérifier si la classe est déjà définie sans tenter de la charger.
- Utilité dans les tests conditionnels : Elle est fréquemment utilisée dans les tests conditionnels, où un développeur veut exécuter un bloc de code uniquement si
une classe existe. Par exemple, cela peut être utilisé pour vérifier la présence d'une bibliothèque externe avant d'utiliser ses fonctionnalités ou d'inclure un fichier.
- Comportement avec les interfaces et traits : class_exists fonctionne non seulement pour les classes, mais aussi pour les interfaces et les traits. Cette
flexibilité permet de l'utiliser dans des cas plus généraux, comme vérifier l'existence d'une interface avant de vérifier son implémentation ou d'utiliser un trait dans une
classe.
- Optimisation des performances avec l'autochargeur : En cas d'utilisation de l'autochargeur, il est important de noter que class_exists peut entraîner une
légère surcharge de performance si le mécanisme d'autoload est complexe. Par conséquent, dans des contextes où la performance est critique, il peut être préférable de
gérer explicitement les inclusions de fichiers ou de vérifier la présence d'une classe à des moments spécifiques dans le cycle de vie de l'application.
- Dépannage et gestion des erreurs : Lorsqu'une erreur survient dans une application PHP et qu'une classe attendue n'est pas définie, class_exists peut être
utilisé pour identifier la cause sous-jacente. Cela permet de gérer de manière proactive les erreurs d'instanciation, comme lors de l'oubli d'inclure un fichier ou d'une
mauvaise configuration de l'autoload.
Voir également
Langage de programmation - PHP - Référence de procédures et fonctions - function_exists
Dernière mise à jour : Mercredi, le 25 mars 2015