Heim > PHP-Framework > YII > Was ist der Unterschied zwischen yii1.1 und yii2.0?

Was ist der Unterschied zwischen yii1.1 und yii2.0?

(*-*)浩
Freigeben: 2020-10-21 11:01:18
Original
3043 Leute haben es durchsucht

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.

Was ist der Unterschied zwischen yii1.1 und yii2.0?

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

  • 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.

  • Namespace

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:

yii-Tutorial

) 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 Objekt

Yii 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.

Ereignis

In 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);
Nach dem Login kopieren

Um einen Ereignishandler an ein Ereignis anzuhängen, müssen Sie verwenden [[yiibaseComponent:: on()|on()]] Methode:

$component->on($eventName, $handler);
// 解除事件处理器,使用 off 方法:
// $component->off($eventName, $handler);
Nach dem Login kopieren

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!

Verwandte Etiketten:
yii
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage