Comment Utiliser les Espaces de Noms en PHP Partie 3 : Les Mots Clés et l'Autoloading
Formation
A distance
Avez-vous besoin d'un coach de formation?
Il vous aidera à comparer différents cours et à trouver la solution la plus abordable.
Description
-
Typologie
Formation
-
Méthodologie
A distance
-
Heures de classe
4h
-
Dates de début
Dates au choix
-
Envoi de matériel d'apprentissage
Oui
Objectifs: Dans les parties 1 et 2 de cette série, nous avons examiné les bases des espaces de noms en PHP, l'opérateur pour l'utilisation et la résolution de nom. Dans ce dernier article, nous abordons les options des espaces de noms les plus avancés.
Les sites et dates disponibles
Lieu
Date de début
Date de début
Les Avis
Le programme
I. La constante __NAMESPACE__ __NAMESPACE__ est une chaîne PHP qui retourne toujours le nom de l'espace de noms courant. Dans l'espace global, elle renverra une chaîne vide. La valeur présente des avantages évidents durant le débogage. Elle peut également être utilisée pour générer dynamiquement un nom de classe entièrement qualifié, par exemple : II. Le mot clé namespace Le mot clé namespace peut être utilisé pour référencer explicitement un élément dans l'espace de nom courant ou un sous-espace de noms. C'est l'équivalent dans les espaces de noms de self au sein des classes :
III. Autoloading des classes d'un espace de noms L'un des meilleurs moyens de gagner du temps avec PHP 5 est l'autoloading. À l'échelle globale (non-espace de noms) du code PHP, une fonction de chargement automatique standard pourrait être écrite comme ceci :
En PHP 5.3, vous pouvez créer une instance d'une classe d'espace de noms. Dans cette situation, l'espace de noms entièrement qualifié et le nom de classe sont passés à la fonction __autoload(), par exemple la valeur de $class_name pourrait être App\LIB1\MyClass. Vous pouvez continuer à mettre tous vos fichiers de classe PHP dans le même dossier et y chainer l'espace de nom, cependant, cela pourrait entraîner des conflits de nom de fichier.
Alternativement, la hiérarchie de vos fichiers de classes pourraient être organisée de la même manière que la structure de votre espace de noms. Par exemple, un fichier MyClass.php pourrait être créé dans le dossier /classes/App/Lib1 :
Un fichier dans le dossier racine pourrait alors utiliser le code suivant :
Explications :
- La classe \LIB1\MyClass est aliassée en tant que MC.
- new MC() est traduit par new App\Lib1\MyClass() pendant la compilation.
- La chaîne App\LIB1\MyClass est passé à la fonction __autoload. Cela remplace tous les antislash de l'espace de noms avec le chemin du fichier avant le slash, et modifie la chaîne si le fichier classes\App\LIB1\ MyClass.php est chargé.
Avez-vous besoin d'un coach de formation?
Il vous aidera à comparer différents cours et à trouver la solution la plus abordable.
Comment Utiliser les Espaces de Noms en PHP Partie 3 : Les Mots Clés et l'Autoloading