Maison  >  Article  >  php教程  >  Analyse du framework Yii (6) - Gestion des alias Yii et gestion de la création d'objets

Analyse du framework Yii (6) - Gestion des alias Yii et gestion de la création d'objets

黄舟
黄舟original
2016-12-27 11:21:211111parcourir

La classe YiiBase fournit des fonctions de base communes pour le fonctionnement du framework YII : gestion des alias et gestion de la création d'objets.

Lors de la création d'un objet php, vous devez d'abord inclure le fichier de définition de cette classe, puis créer un nouvel objet. Dans différents environnements (environnement de développement/environnement de test/environnement en ligne), la configuration du chemin webroot d'Apache peut être différente, donc le chemin complet du fichier de définition de cette classe sera différent. Le framework Yii résout ce problème grâce à la gestion des alias de. Question de base.

Lors de la création d'un objet, vous devez importer la définition de la classe correspondante. Vous devez souvent utiliser ces 5 fonctions : include(), include_once(), require(), require_once(), set_include_path(). . Yii résout ce problème de manière uniforme en utilisant YiiBase::import(). La figure suivante décrit le principe de fonctionnement de la « gestion des alias et de la création d'objets » fournie par YiiBase :

Analyse du framework Yii (6) - Gestion des alias Yii et gestion de la création dobjets

Premier aperçu de la gestion des alias, qui consiste à attribuer un fichier à un dossier (un dossier correspondant souvent à un module), créez un alias dans le framework Yii, vous pouvez utiliser cet alias pour remplacer le chemin complet du dossier. Par exemple : l'alias système représente le chemin du framework/home/work/. yii/framework, vous pouvez donc utiliser system. base.CApplication représente le chemin d'accès au fichier /home/work/yii/framework/base/CApplication.php. Bien entendu, les alias peuvent également être enregistrés dans le code de la couche application via Yii::setPathOfAlias.

Généralement, nous utilisons des chemins absolus ou relatifs pour les références de fichiers. Bien entendu, les deux cas présentent des inconvénients. Chemins absolus : lorsque notre code est déployé dans l'environnement de test ou l'environnement en ligne, nous devons modifier les chemins des fichiers inclus en grande quantité. Chemins relatifs : lorsque l'emplacement de certains dossiers de modules est ajusté (renommé), tous les chemins relatifs sont tous nécessaires. à modifier. La façon d'utiliser les alias ne doit changer qu'une chose : lors de l'enregistrement des alias, c'est-à-dire Yii::setPathOfAlias(). De cette façon, les modifications de code provoquées par les modifications dans les dossiers peuvent être concentrées en un seul endroit.

Regardons la fonction d'importation : a. Importez la définition d'une classe, afin que les objets de cette classe puissent être créés ; b. Ajoutez un dossier à include_path, afin que tous les fichiers sous ce fichier puissent être inclus ; directement. Yii::import équivaut à l'unification des cinq fonctions suivantes : include(), include_once(), require(), require_once() et set_include_path(). Et généralement la vitesse sera plus rapide que ces fonctions. Bien sûr, Yii::import prend en charge la fonction alias, qui peut résoudre les problèmes causés par les changements de chemin.

Enfin, jetons un œil à la création d'objets. Il existe 2 méthodes pour créer des objets dans le framework YII : 1. Utilisez le mot-clé new ; 2. Utilisez la méthode Yii::createComponent.

Lors de l'utilisation du mot-clé new pour créer un objet, autoload recherchera la définition de la classe correspondante en trois étapes : a. Déterminer s'il s'agit d'une classe dans le framework (toutes les classes du framework et le complet). chemin de cette classe sont enregistrés dans une variable membre de YiiBase); 2. Déterminez si cette classe a été importée à l'aide de Yii::import Pour les classes non-framework, nous devons d'abord importer la définition de cette classe lors de la création d'objets de. cette classe ; 3. Depuis le répertoire include_path Recherchez le script php nommé d'après ce nom de classe, donc lors du développement, essayez de sauvegarder le nom de la classe cohérent avec le nom du fichier, afin que nous puissions importer le dossier contenant ce fichier, donc il n'y a pas vous devez importer chaque fichier de ce dossier une fois.

Lorsque vous utilisez la méthode Yii::createComponent pour créer un objet, elle fournit plus de fonctions que le mot-clé new : a. Spécifiez l'emplacement et le nom de classe de la classe via l'alias de chemin complet de cette classe (la classe). le nom doit être cohérent avec le nom du fichier), lorsque cette classe n'a pas été importée, la définition de cette classe sera automatiquement importée en fonction du chemin complet ; 2. Attribuez des valeurs aux variables membres de l'objet créé. Autrement dit, comme décrit dans la figure ci-dessous, il fallait auparavant plus de 3 lignes de code pour écrire, mais maintenant cela peut être fait avec une seule ligne de code (écrire moins, faire plus).

Analyse du framework Yii (6) - Gestion des alias Yii et gestion de la création dobjets

Ce qui précède est l'analyse du framework Yii (6) - Gestion des alias et de la création d'objets de Yii Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www. php.cn) !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn