Heim  >  Artikel  >  php教程  >  Yii-Framework-Analyse (6) – Yii-Aliasverwaltung und Objekterstellungsverwaltung

Yii-Framework-Analyse (6) – Yii-Aliasverwaltung und Objekterstellungsverwaltung

黄舟
黄舟Original
2016-12-27 11:21:211073Durchsuche

Die YiiBase-Klasse stellt gemeinsame Grundfunktionen für den Betrieb des YII-Frameworks bereit: Alias-Verwaltung und Objekterstellungsverwaltung.

Beim Erstellen eines PHP-Objekts müssen Sie zuerst die Definitionsdatei dieser Klasse einschließen und dann das Objekt neu erstellen. In verschiedenen Umgebungen (Entwicklungsumgebung/Testumgebung/Online-Umgebung) kann die Konfiguration des Webroot-Pfads von Apache unterschiedlich sein, sodass der vollständige Pfad der Definitionsdatei dieser Klasse unterschiedlich ist. Das Yii-Framework löst dieses Problem durch die Alias-Verwaltung YiiBase-Frage.

Beim Erstellen eines Objekts müssen Sie die Definition der entsprechenden Klasse importieren. Sie müssen häufig diese 5 Funktionen verwenden: include(), include_once(), require(), require_once(), set_include_path(). . Yii löst dieses Problem einheitlich durch die Verwendung von YiiBase::import(). Die folgende Abbildung beschreibt das Funktionsprinzip der von YiiBase bereitgestellten „Aliasverwaltung und Objekterstellungsverwaltung“:

Yii-Framework-Analyse (6) – Yii-Aliasverwaltung und Objekterstellungsverwaltung

Erstens sehen Sie sich die Aliasverwaltung an, bei der eine Datei einem Ordner zugewiesen wird (ein Ordner, der oft einem Modul entspricht) Erstellen Sie einen Alias. Im Yii-Framework können Sie diesen Alias ​​verwenden, um den vollständigen Pfad des Ordners zu ersetzen. Beispiel: Der Systemalias stellt den Pfad des Frameworks/home/work/yii dar /framework, sodass Sie system verwenden können. base.CApplication stellt den Pfad zur Datei /home/work/yii/framework/base/CApplication.php dar. Natürlich können Aliase auch über Yii::setPathOfAlias ​​im Code der Anwendungsschicht registriert werden.

Im Allgemeinen verwenden wir absolute Pfade oder relative Pfade, um auf Dateien zu verweisen. Natürlich haben beide Fälle Nachteile. Absolute Pfade: Wenn unser Code in der Testumgebung oder Online-Umgebung bereitgestellt wird, müssen wir die Pfade der enthaltenen Dateien in großen Mengen ändern. Relative Pfade: Wenn der Speicherort einiger Modulordner angepasst (umbenannt) wird, müssen alle relativen Pfade geändert werden geändert werden. Die Art und Weise, Aliase zu verwenden, erfordert nur eine Änderung: bei der Registrierung von Aliasen, nämlich Yii::setPathOfAlias(). Auf diese Weise können Codeänderungen, die durch Änderungen in Ordnern verursacht werden, an einem Ort konzentriert werden.

Schauen wir uns die Importfunktion an: a. Importieren Sie die Definition einer Klasse, damit Objekte dieser Klasse erstellt werden können. b. Fügen Sie einen Ordner zu include_path hinzu direkt. Yii::import entspricht der Vereinheitlichung der folgenden fünf Funktionen: include(), include_once(), require(), require_once() und set_include_path(). Und im Allgemeinen ist die Geschwindigkeit höher als bei diesen Funktionen. Natürlich unterstützt Yii::import die Alias-Funktion, die die durch Pfadänderungen verursachten Probleme lösen kann.

Schließlich werfen wir einen Blick auf die Objekterstellung. Es gibt zwei Methoden zum Erstellen von Objekten im YII-Framework: 1. Verwenden Sie das Schlüsselwort new. 2. Verwenden Sie die Methode Yii::createComponent.

Wenn Sie zum Erstellen eines Objekts das Schlüsselwort new verwenden, sucht Autoload in drei Schritten nach der Definition der entsprechenden Klasse: a. Bestimmen Sie, ob es sich um eine Klasse im Framework handelt (alle Klassen im Framework und die vollständige). Der Pfad dieser Klasse wird in einer Mitgliedsvariablen von YiiBase gespeichert. 2. Bestimmen Sie, ob diese Klasse mit Yii::import importiert wurde. Bei Nicht-Framework-Klassen müssen wir zuerst die Definition dieser Klasse importieren, wenn wir Objekte von erstellen 3. Suchen Sie im Verzeichnis include_path nach dem PHP-Skript, das nach diesem Klassennamen benannt ist. Versuchen Sie daher, den Klassennamen mit dem Dateinamen in Einklang zu bringen, damit wir den Ordner importieren können, der diese Datei enthält Sie müssen jede Datei in diesem Ordner einmal importieren.

Wenn Sie die Yii::createComponent-Methode zum Erstellen eines Objekts verwenden, bietet sie mehr Funktionen als das neue Schlüsselwort: a. Geben Sie den Speicherort und den Klassennamen der Klasse über den vollständigen Pfadalias dieser Klasse an (die Klasse). Der Name muss mit dem Dateinamen übereinstimmen. Wenn diese Klasse nicht importiert wurde, wird die Definition dieser Klasse automatisch basierend auf dem vollständigen Pfad importiert. 2. Weisen Sie den Mitgliedsvariablen des erstellten Objekts Werte zu. Das heißt, wie in der folgenden Abbildung beschrieben, dauerte das Schreiben früher mehr als drei Codezeilen, jetzt kann es jedoch mit einer Codezeile erledigt werden (weniger schreiben, mehr tun).

Yii-Framework-Analyse (6) – Yii-Aliasverwaltung und Objekterstellungsverwaltung

Das Obige ist die Yii-Framework-Analyse (6) – Yiis Alias-Verwaltung und Objekterstellungsverwaltung. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www. php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn