Unterschiede: 1. Yii2.0 unterstützt Composer vollständig, yii1.1 jedoch nicht. 2. Fast jede Kernklasse in Yii2.0 führt Namespaces ein, und das Klassennamenpräfix „C“ in Version 1.1 ist nein längere Verwendung; 3. Yii2.0 teilt die CComponent-Klasse in 1.1 in zwei Klassen auf.
Die Version 2.0 des Frameworks ist eine komplette Neufassung und es gibt einige Unterschiede zwischen den Versionen 1.1 und 2.0. Ein Upgrade von Version 1.1 ist also nicht so einfach wie das Wechseln zwischen Nebenversionen. Mit dieser Anleitung werden Sie die Hauptunterschiede zwischen den beiden Versionen verstehen.
Installation
Yii 2.0 unterstützt vollständig Composer, das De-facto-PHP-Abhängigkeitsmanagement-Tool. Die Installation des Kernframeworks sowie der Erweiterungen erfolgt über Composer.
PHP-Anforderungen
Yii 2.0 erfordert PHP 5.4 oder höher, was eine enorme Verbesserung gegenüber PHP 5.2 darstellt, das für Yii 1.1 erforderlich ist. Es gibt also viele bemerkenswerte Unterschiede auf der Sprachebene. Im Folgenden finden Sie eine Zusammenfassung der wichtigsten Änderungen in der PHP-Schicht:
Namespace
Anonyme Funktionen
Array Die kurze Syntax [...element...] wird verwendet, um das kurze Echo-Tag = in der Ansichtsdatei zu ersetzen, da es ab PHP 5.4 immer erkannt und legal ist, egal Was die Einstellung von short_open_tag ist, kann sicher verwendet werden.
SPL-Klassen und -Schnittstellen
Verzögerte statische Bindung
Datum und Uhrzeit
Traits
intl Yii 2.0 verwendet die PHP-Erweiterung intl, um internationalisierungsbezogene Funktionen zu unterstützen.
Die offensichtlichste Änderung in Yii 2.0 ist die Verwendung von Namespaces. Fast jede Kernklasse führt Namespaces ein, wie zum Beispiel yiiwebRequest. Das Klassennamenpräfix „C“ in Version 1.1 wird nicht mehr verwendet.
(Empfohlenes Lernen:
) Das aktuelle Benennungsschema entspricht der Verzeichnisstruktur. Beispielsweise gibt yiiwebRequest an, dass die entsprechende Klassendatei die Datei web/Request.php im Yii-Framework-Ordner ist. Mit dem Klassen-Autoloader von Yii können Sie alle Kernklassen direkt verwenden, ohne bestimmte Dateien explizit einzuschließen.
Komponente und ObjektYii 2.0 teilt die CComponent-Klasse in 1.1 in zwei Klassen auf: [[yiibaseObject] ] und [[yiibaseComponent]]. Die Klasse [[yiibaseObject|Object]] ist eine leichtgewichtige Basisklasse. Sie können die Eigenschaften eines Objekts über Getter und Setter definieren.
[[yiibaseComponent|Component]]-Klasse erbt von [[yiibaseObject|Object]] und unterstützt darüber hinaus Ereignisse und Verhaltensweisen.
EreignisIn Yii 1 werden Ereignisse normalerweise durch Definieren einer Methode erstellt, die mit on beginnt (z. B. onBeforeSave). In Yii 2 können Sie einen beliebigen Ereignisnamen verwenden. Lösen Sie gleichzeitig verwandte Ereignisse aus, indem Sie die Methode [[yiibaseComponent::trigger()|trigger()]] aufrufen:
$event = new \yii\base\Event; $component->trigger($eventName, $event);
Um einen Ereignishandler an ein Ereignis anzuhängen, müssen Sie verwenden [[yiibaseComponent:: on()|on()]] Methode: Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen yii1.1 und yii2.0?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!$component->on($eventName, $handler);
// 解除事件处理器,使用 off 方法:
// $component->off($eventName, $handler);