Yii ist ein leistungsstarkes PHP5-Framework für die Entwicklung von Webanwendungen. Mit einem einfachen Befehlszeilentool kann yiic schnell ein Webanwendungscode-Framework erstellen. Entwickler können Geschäftslogik basierend auf dem generierten Code-Framework hinzufügen, um die Anwendungsentwicklung schnell abzuschließen.
Das Yii2.0-Versions-Framework wurde komplett neu geschrieben und es gibt einige Unterschiede zwischen den Versionen 1.1 und 2.0. [Empfohlenes Lernen: Yii Erste Schritte Tutorial]
Was sind also die Unterschiede zwischen yii1 und yii2?
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.
1. Die Anwendungsinstanz verwendet direkt globale benannte Variablen, um auf Folgendes zuzugreifen: $app, ohne app() aufzurufen.
2. Eine wesentliche Änderung in der Ansichtsebene von Yii2 ist die Einführung von Ansichtsklassen, wodurch die Implementierung des MVC-Musters vollständiger wird. Dementsprechend werden die relevanten untergeordneten Klassen der Präsentationsschicht von der neuen Ansichtsklasse verwaltet. Beispielsweise sollte theme: Yii::app()->theme->baseUrl auf Yii::$app->view-> aktualisiert werden ; theme->baseUrl oder $this->theme->baseUrl.
3. Yii2 führt das Konzept des Ressourcenpakets ein und die Art der Ressourcenreferenz hat sich stark verändert.
Es gibt zwei Möglichkeiten, Ressourcen einzuführen: eine über die AppAsset-Klasse im Assets-Verzeichnis und die andere über eine Registrierungsmethode ähnlich Yii1.
Die Methode Yii::app()->getClientScript() ist nicht mehr verfügbar. Wenn Sie beispielsweise eine JS-Skriptdatei dynamisch auf der Seite registrieren möchten, sind die Änderungen wie folgt:
Yii::app() ->getClientScript()->registerScriptFile('...') wird in Yii::$app->view->registerJsFile('...') geändert,
oder $this- >registerJsFile('...').
4. Verwenden Sie die Datenbank
Fragen Sie beispielsweise einen Datensatz mit user_id ab
yii1:
User::model()->find( ' user_id=:user_id',[':user_id'=>$user_id]);
yii2:
User::find()->where('user_id=:user_id ' ,[':user_id'=>$user_id])->one();
Mehrere Datensätze abfragen:
yii1:
User::model( )->findAll('status=:status',[':staus'=>$status]);
yii2:
User::find()->where ('status=:status',[':staus'=>$status])->all();
Darüber hinaus stellt yii2 auch die Methode asArray() und das direkte Abfrageergebnis bereit ist ein Array:
User::find()->where('status=:status',[':staus'=>$status])->asArray()->all ();
Wenn Sie Anfänger sind, wird empfohlen, yii2 direkt zu lernen.
Das obige ist der detaillierte Inhalt vonWas sind die Unterschiede zwischen yii1 und yii2?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!