Inhaltsverzeichnis
Key Takeaways
Erste Schritte
Was hat sich geändert?
Controller
Modelle
Ansichten
Upgrade von yii 1.1
Schlussfolgerung
häufig gestellte Fragen zu yii 2.0
Was sind die neuen Funktionen in Yii 2.0 im Vergleich zu den vorherigen Versionen? Es unterstützt nun die Verwendung von Namespaces, was die Codeorganisation erheblich erleichtert. Es führt auch ein neues Routing -System ein, das flexibler und leistungsfähiger ist. Die ActivereCord -Klassen wurden neu gestaltet, um mehr Datenbanktypen, einschließlich NoSQL -Datenbanken, zu unterstützen. Das Framework enthält auch eine neue Unterstützung für erholsame API -Entwicklungen, die es einfacher erleichtern, APIs aufzubauen. Darüber hinaus verfügt Yii 2.0 verbesserte Sicherheitsmerkmale, einschließlich integrierter CSRF-Schutz (Cross-Site-Anfrage). Unterstützung von Internationalisierung (I18N). Sie können mehrere Übersetzungen derselben Nachricht in verschiedenen Sprachen speichern. Sie können auch Daten, Zahlen und Währungen gemäß dem Gebietsschema formatieren. YII 2.0 unterstützt auch Pluralformen und Nachrichtenauswahl basierend auf dem Kontext.
Wie handelt Yii 2.0 Datenbankmigrationen? Sie können eine neue Migration mit dem Befehl yii migrieren/erstellen erstellen. Das Migrationsskript enthält Methoden zur Anwendung und Rückkehr der Migration. Sie können dann die Migration mit dem Befehl yii migrieren/up anwenden. Es beinhaltet Unterstützung für Routing, Anforderungsverarbeitung, Antwortformatierung und Fehlerbehandlung. Sie können auch die ActiveController -Klasse verwenden, um Aktionen für Ihre API schnell CRUD (Erstellen, Lesen, Aktualisieren, Löschen) zu generieren. Formularvalidierungssystem. Sie können Validierungsregeln für Ihre Formularfelder in der Modellklasse definieren. Wenn ein Formular eingereicht wird, validiert YII die Eingabedaten automatisch gegen diese Regeln und generiert geeignete Fehlermeldungen. . Es unterstützt sowohl die traditionelle Benutzername-/Passwortauthentifizierung als auch modernere Methoden wie OAuth und OpenID. Sie können das integrierte Benutzermodell auch erweitern, um Ihre eigenen Authentifizierungsmethoden hinzuzufügen. Es kann sowohl PHP -Fehler als auch Ausnahmen erfassen und umgehen. Die Fehler können in verschiedenen Formaten angemeldet und an verschiedene Ziele gesendet werden, z. B. Dateien, E -Mails und Browser.
Heim Backend-Entwicklung PHP-Tutorial Was zu erwarten von yii 2.0 zu erwarten ist

Was zu erwarten von yii 2.0 zu erwarten ist

Feb 19, 2025 pm 01:02 PM

Was zu erwarten von yii 2.0 zu erwarten ist

yii 2.0 wurde im vergangenen April in die Beta veröffentlicht und das Ziel für eine erste stabile Veröffentlichung wurde für die Mitte 2014 festgelegt. Die GitHub -Ausgabeliste hat 300 offene Probleme und 2913 geschlossen, während ich dies schreibe, und beide Zahlen steigen immer noch . Der Fortschritt des Meilensteins von 2.0RC lag bei 99%. Ich vermute, dass das Team nahe ist, aber wir müssen wahrscheinlich nur ein bisschen länger warten. Während wir alle warten, schauen wir uns an, was wir erwarten können, indem wir uns ein bereits verfügbares Beispiel ansehen.

Key Takeaways

  • yii 2.0 führt signifikante Verbesserungen und Änderungen ein, einschließlich der Verwendung von Namespaces, Merkmalen und Komponisten -Integration, wobei die modernen PHP -Framework -Funktionen verbessert werden.
  • Das Framework hat sich von dem Blaupause CSS -Framework auf Twitter Bootstrap verschoben, was nicht nur die Ästhetik verändert, sondern auch umfangreiche UI -Komponenten für die schnelle Anwendungsentwicklung bietet.
  • Fehlerbehebung in YII 2.0 wurde überarbeitet, um alle Fehler in Ausnahmen umzuwandeln, informativere Ausgabe zu liefern und Debugging -Prozesse zu verbessern.
  • gii, das Tool für die Codegenerierung in YII, bleibt in YII 2.0 integraler und unterstützt jetzt eine bessere Codegenerierung für CRUD -Operationen und Internationalisierung.
  • yii 2.0 erfordert PHP 5.4 oder höher und verwendet erweiterte PHP
ein kleines Stück Geschichte

Die erste Version von YII wurde nach ihrer Veröffentlichung im Jahr 2008 ziemlich schnell beliebt. Es ist Gründer Qiang Xue, zuvor am Prado -Framework und verwendete Erfahrung und Feedback, um YII zu bauen.

yii verwendet viele Ideen aus anderen Frameworks, Sprachen und Bibliotheken: Prado, Ruby, JQuery, Symfony und Joomla werden als Inspirationsquellen anerkannt.

Die ersten Commits für YII 2.0 stammen aus dem Jahr 2011, aber die Entwicklung hat im letzten Jahr abgenommen. Das Team hat eine Umschreibung mit dem Ziel neu geschrieben, der PHP -Framework der neu neuen Generation zu werden. Es verwendet die neuesten Technologien und Funktionen wie Komponist, PSR, Namespaces, Merkmale und mehr.

etwas erwähnenswert ist, dass die Unterstützung nach der Download Seite YII Version 1.1 am 31. Dezember 2015 endet. Wir haben also etwas Zeit, um über den Übergang nachzudenken.

Anforderungen

Die Verwendung von Namespaces und Merkmalen erhöhte die Anforderungen auf PHP 5.4. Zusätzlich benötigen Sie die MB_String-, PDO- und INTL -Erweiterungen bei der Entwicklung. Dies sollte kein Problem sein, wenn Sie Ihren eigenen Server ausführen, aber wenn Sie sich in einer gemeinsam genutzten Umgebung befinden. Natürlich wird dieses Problem rechtzeitig verschwinden.

Installation

yii ist jetzt vom Komponisten installierbar. Wir werden diese Installationsmethode bald durchlaufen.

derzeit sind zwei Anwendungsbeispiele verfügbar. Es gibt ein grundlegendes Beispiel mit einigen Seiten, einer Kontaktseite und einer Anmeldeseite. Das erweiterte Beispiel fügt eine separate Front- und Backend-, Datenbankinteraktion, Anmeldung und Kennwortwiederherstellung hinzu.

Erste Schritte

Ich beginne mit dem grundlegenden Beispiel. Wenn Sie sich YII zuvor angesehen haben, werden Sie dasselbe grundlegende webapp erkennen, mit dem Yii 1.1 mitgekommen ist. Installieren Sie das Grundbeispiel mit dem Komponisten mit dem folgenden Befehl:

composer.phar create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Sie können dann überprüfen, ob Ihr Server die Anforderungen erfüllt, indem Sie http: //localhost/yii2-app-basic/requirements.php öffnen. Die tatsächliche Anwendung wird dann von http: // localhost/yii2-app-basic/web/ausgeführt.

Dies ist die erste wichtige Sache, die Sie bemerken müssen: Die Idee ist, dass Sie das Dokumentenrouch Ihrer Anwendung auf/path/to/application/web festlegen, ähnlich wie bei Symfony. Das Verzeichnislayout hat sich von Version 1.1 ein wenig geändert. Wenn Sie genau hinschauen, ist die Änderung sinnvoll und verbessert die Sicherheit Ihrer Anwendung.

Zuvor würden alle Anwendungskomponenten (Modelle, Ansichten, Controller, Framework- und Lieferantenbibliotheken) im Dokumentenrouch im geschützten Ordner unter dem Dokument root leben. Auf diese Weise hing die Sicherheit von .htaccess -Dateien ab, die respektiert wurden, was bedeutete, dass Ihre Anwendung bei Nginx standardmäßig zu 100% unsicher war. Das Verschieben aller Anwendungskomponenten vom Dokumentwurzel verhindert, dass der Webserver Ihre Anwendungskomponenten an einen Benutzer sendet.

Sie könnten nach den tatsächlichen Framework -Quellen suchen. Das Framework ist eine Komponente, die mit dem Komponisten installiert wurde, sodass sie sich im Verzeichnis von compendoryiisftyii befindet. Hier finden Sie viel mehr, aber im Moment werden wir es einfach dabei lassen.

Ändern wir vorerst die lokale Webserverkonfiguration und setzen Sie das Dokumentroot auf/path/to/application/web. Ich habe einen virtuellenHost http: //yii2-app-basic.localhost/ hinzugefügt, aber tun, was Sie für Ihre eigene Situation geeignet halten. Die Standardkonfiguration wird so eingestellt, dass die Skriptdatei in der URL ausgeblendet wird. Wenn Sie Apache verwenden, müssen Sie dem Web -Verzeichnis eine .htaccess -Datei hinzufügen, um Apache zum Umschreiben zu unterweisen. Es ist standardmäßig nicht vorhanden.

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Ein Blick auf die grundlegende yii -Anwendung

Nachdem wir die grundlegende Bewerbung ausgeführt haben, sind einige Glückwünsche in Ordnung…

Was zu erwarten von yii 2.0 zu erwarten ist

Danke! Bisher keine Raketenwissenschaft.

Sie beginnen mit der Startseite, einer Statik über Seite, einer Kontaktseite und einer Anmeldeseite. Die Kontaktseite und das Anmeldesformular haben die gleiche Funktionalität wie zuvor. CAPTCHA -Code, Formularvalidierung und zwei Benutzer zur Anmeldung zur Anmeldung zur Anmeldung sind dieselben wie zuvor. Nahe nichts. Trotzdem ist es ein guter Anfang.

Das Design der grundlegenden Anwendung änderte sich dramatisch. Zuvor erhalten Sie eine Anwendung, die auf dem Blueprint CSS -Framework basiert, während wir jetzt mit Twitter Bootstrap beginnen. Verbesserung? Es wird wahrscheinlich mit Blueprint verglichen, aber wiederum ist Bootstrap viel mehr als die Blaupause jemals versucht zu sein.
Bootstrap bietet Ihnen alle Arten von Anwendungskomponenten und beschleunigt eine Anwendung. Einige mögen andererseits argumentieren, dass alle Websites mit Bootstrap gleich aussehen (Themen beheben dies nur teilweise), und es wird auch Ihre Website größer. In jedem Fall erfolgt die Integration mit YII 2.0 mit der Erweiterung der YII2-Bootstrap. Dies macht es sehr einfach, die Bootstrap -Komponenten in Ihre Ansichten zu integrieren.

Eine andere Sache, die Sie bemerken werden, ist die Debug -Leiste unten. Es ist standardmäßig installiert und aktiviert, genau wie in Symfony. Es ermöglicht einen schnellen Zugriff auf viele Informationen zu Ihrer Konfiguration, Anforderungen und Anwendungsprotokollierung. Es wird auch eine Geschichte von Anfragen mit Debug -Informationen führen.

Was zu erwarten von yii 2.0 zu erwarten ist

yii behandelt Fehler, die sich normalerweise als PHP normalerweise tun würden. YII wandelt alle Fehler (tödlich und nicht tödlich) in Ausnahmen um. Diese werden behandelt, indem Sie eine aufschlussreiche Ausgabe machen, die Sie auf den Punkt hinweist, an dem Sie durcheinander gebracht wurden oder Ihr Code eine Mitteilung generiert hat. Sogar analysieren Sie Fehler, für die YII 1.1 auf die grundlegenden PHP -Fehler zurückgreifen würde, erhalten Sie einen schön gerenderten Überblick über Ihren Code. Dies ist etwas, was die meisten von uns zu schätzen wissen.

Was zu erwarten von yii 2.0 zu erwarten ist

gii ist ebenfalls erneut vorhanden und standardmäßig aktiviert.

Was zu erwarten von yii 2.0 zu erwarten ist

gii hilft Ihnen, indem Sie Code generieren, mit dem Sie beginnen können, ein weiteres großartiges Tool, um Ihre Entwicklung zu beschleunigen. Es generiert Modelle und Controller für Sie. Der CRUD -Generator geht noch einen Schritt weiter und generiert einen vollständigen MVC -Satz für alle Aktionen. GII wird auch Code generieren, das besser für die Internationalisierung (i18n) geeignet ist, indem Sie sofort die Funktion yii :: t () einfügen, in der Sie sie benötigen.

Die grundlegende Anwendung wird jetzt auch mit einer einfachen Befehlszeilenanwendung geliefert, auf die Sie erstellen können. Yii 1.1 hat dies bereits unterstützt, aber Sie müssten ein Beispiel aus dem Wiki erhalten.

Das finden Sie in der grundlegenden Anwendung. Es gibt auch ein -Anwendungsbeispiels . Es hat eine etwas andere Struktur, fügt Ihrer Anwendung jedoch noch mehr Funktionen hinzu:

  • Benutzerberechtigung, Authentifizierung und Kennwortwiederherstellung.
  • Eine Anwendung, die in eine Vorder- und Backend aufgeteilt ist.

Setzen Sie den Blick auf die grundlegende Version fort, lassen Sie uns einen genaueren Blick auf den Code werfen…

Was hat sich geändert?

hat sich viel geändert. Einige Änderungen könnten Sie zunächst verwirren, aber ich finde die meisten Änderungen sinnvoll und sind leicht zu akzeptieren. Hier sind einige der Änderungen, die ich interessant, lustig oder rätselhaft empfunden habe.

Die Anforderung von PHP 5.4 machte einige Änderungen möglich; Die Array -Short -Tags sind verfügbar. Es ist auch sicher, die Echo -Short -Tags in Ansichten zu verwenden, da dies nicht mehr von den Konfigurationseinstellungen abhängt.

composer.phar create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Eine kleine Änderung, aber eine, die Sie schnell treffen werden; Vorher verwenden Sie Yii :: App (), um auf die Anwendungsinstanz und die Komponenten zuzugreifen. In Yii 2.0 änderte sich dies von einer statischen Funktion zu einer statischen Variablen yii :: $ App.

Die Übersetzungsfunktion yii :: t () ist immer noch bei uns. Es weist YII an, die I18N -Komponente zu verwenden, um den mitgelieferten Text in die aktuelle verwendete Sprache zu übersetzen. Sie können es auch anweisen, Variablen zu ersetzen.

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Die Formatierung und Styling der Platzhalter wurde ernsthaft überarbeitet, was mehr Formatierungsoptionen ermöglicht. Einige Beispiele:

<span><span><?php
</span></span><span><span>$elements = array(1,2,3,4); //Yii 1.1
</span></span><span><span>$elements = [1,2,3,4]; //Yii 2.0
</span></span><span><span>?></span>
</span><span><span><?php echo $someVar; ?></span> //Yii 1.1
</span><span><span><?= $someVar ?></span> //always safe to use in Yii 2.0</span>
Nach dem Login kopieren
Nach dem Login kopieren

Aufgrund dieser Platzhalterformatierung ist die datetimeFormatter verschwunden:

<span><span><?php
</span></span><span><span>echo `Yii<span>::</span>t('app', 'Hello, {username}!', [
</span></span><span>  <span>'username' => $username,
</span></span><span><span>]);
</span></span><span><span>?></span></span>
Nach dem Login kopieren

Diese Funktionalität wird von der Intensivbibliothek geliefert. Die YII -Dokumentation nennt die Originaldokumentation dafür: „ziemlich kryptisch“. Ich wage Sie, es zu lesen und zu verstehen. Hoffen wir, dass die YII -Dokumentation eine lesbare Version rechtzeitig enthält.

Controller

zuvor wäre AccessControl () eine Funktion Ihres Controllers, wenn Sie die YII -Zugriffskontrollfunktionalität verwenden möchten. Mit yii 2.0 ist die Zugriffskontrolle Teil des Verhaltens des Controllers ():

<span><span><?php
</span></span><span><span>echo <span>\Yii</span>::t('app', '{n, number} is spelled as {n, spellout}', ['n' => 81]);
</span></span><span><span>echo <span>\Yii</span>::t('app', 'You are {n, ordinal} in line, please hold.', ['n' => 3]); //Will echo "You are 3rd in line, please wait.".
</span></span><span><span>echo <span>\Yii</span>::t('app', 'There {n, plural, =0{are no cats} =1{is one cat} other{are # cats}}!', array(
</span></span><span>    <span>'n' => 14,
</span></span><span><span>));
</span></span><span><span>?></span></span>
Nach dem Login kopieren

Dies ist fast identisch mit der Art und Weise, wie es in Yii 1.1 war.

Ich habe bemerkt, dass der Beispielcode (nicht das Framework selbst!) Viele Docblocks fehlt und viele @Inheritdoc -Kommentare enthält. Dies ist nicht das, was Sie von einem Beispiel erwarten, aber ich gehe davon aus, dass dies rechtzeitig repariert wird.

Modelle

Das Basismodell (zuvor Cmodel) änderte sich nicht sehr. Szenarien ermöglichen es Ihnen nun, die Durchsetzung von Validierungsregeln zu ändern. Sie können ändern, was auf Ihrem aktuellen Szenario validiert werden muss (d. H. Ein Modell mit unterschiedlichen Regeln, wenn sie von vorne oder Backend verwendet werden).

Der abgeleitete Activerecord wurde jedoch ernsthaften Veränderungen durchgesetzt. Die Syntax für die Suche mit ActiveCord wurde eher zu Schreibfragen, da CDBCRiteria verschwunden ist. Es wurde durch ActiveQuery ersetzt, das das Abrufen von Informationen einfacher ermöglichte:

<span><span><?php
</span></span><span><span>//Previously in Yii 1.1
</span></span><span><span>Yii<span>::</span>app()->dateFormatter->formatDateTime(time(), 'medium', 'medium');
</span></span><span>
</span><span><span>//In Yii 2.0
</span></span><span><span>echo <span>\Yii</span>::t('app', 'The date is {0, date, short}', time());    //uses the pre-defined 'short' notation (i18n save)
</span></span><span><span>echo <span>\Yii</span>::t('app', 'The date is {0, date, YYYY-MM-dd}', time()); //or define your own notation
</span></span><span><span>?></span></span>
Nach dem Login kopieren
Die Definition

Beziehungen hat sich ebenfalls dramatisch geändert. Nehmen wir zum Beispiel eine Website mit Bloggern, die Artikel veröffentlichen, die Benutzer kommentieren. Die Relations -Definitionen für die Autorentabelle werden nachstehend beschrieben. Ich beginne damit, wie es in yii 1.1:

aussah.
composer.phar create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Wie Sie sehen können, definieren Sie alle Beziehungen eines aktiven Datensatzes in einem großen Array. In YII 2.0 müssen Sie Getter -Methoden definieren, die ein ActiveQuery -Objekt für all diese Beziehungen zurückgeben. Sie müssen das Schlüsselwort "durch" verwenden, um eine Beziehung zwischen einer Vermittlertabelle zu definieren.

Sie haben jetzt zwei Optionen, um dies zu definieren. Normalerweise verwenden Sie die via () -Methode in einer Beziehungsfunktion. Sie können die Beziehung auch mit der Viatable () -Methode definieren, wenn Sie die Daten nur nach der Pivot -Tabelle benötigen. Gleiches Beispiel wie oben, aber jetzt für YII 2.0:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Dies ist ein ziemlich einfaches Beispiel. Das Definieren der Beziehungen durch die Getter -Funktionen, die ActiveQuery -Objekte zurückgeben, ermöglicht viel mehr. Sie können beispielsweise eine bestimmte Funktion hinzufügen, die eine Abfrage für Beiträge ausführt, die> 50 Kommentare erhalten, indem Sie einen Where () -Anruf in der zurückgegebenen ActiveQuery hinzufügen.

Eine interessante Ergänzung ist die Möglichkeit, Cross -DBMS -Beziehungen zu definieren. Sie können die Beziehungen zwischen MySQL und MongoDB oder Redis definieren und in Ihrer Anwendung als ein Objekt verwenden.

Ansichten

Die Hauptsache in Ansichten ist, dass $ dies nicht mehr auf die Controller -Instanz bezieht. In einer Ansicht, $ Dies ist eine Instanz des YiiWebView -Objekts. Der Controller ist über $ this-> Kontext zugänglich.

Wie ich bereits sagte; PHP 5.4 macht das kurze Echo -Tag konsequent verfügbar. Dies macht die Ansichten, die aus gemischtem PHP und HTML bestehen;

<span><span><?php
</span></span><span><span>$elements = array(1,2,3,4); //Yii 1.1
</span></span><span><span>$elements = [1,2,3,4]; //Yii 2.0
</span></span><span><span>?></span>
</span><span><span><?php echo $someVar; ?></span> //Yii 1.1
</span><span><span><?= $someVar ?></span> //always safe to use in Yii 2.0</span>
Nach dem Login kopieren
Nach dem Login kopieren

Die Funktionen von Render () und RenderPartial () haben sich ebenfalls geändert. Bevor es die gerenderte Ausgabe automatisch wiederholt und Sie einen zusätzlichen Parameter hinzufügen, um die gerenderte Ausgabe als Zeichenfolge zu erhalten. Yii 2.0 wird immer eine Zeichenfolge auf Render () zurückgeben-wie Anrufe, was sie mit der Art und Weise, wie sich Widgets verhalten, übereinstimmen.

Upgrade von yii 1.1

Sollten Sie in Betracht ziehen, Ihre YII 1.1 -Anwendung auf yii 2.0 rechtzeitig zu aktualisieren?

Bruno Škvorc hat kürzlich hier auf SitePoint über den Legacy -Code geschrieben. Er argumentiert, dass ein Umschreiben, das in 2 Monaten durchgeführt werden kann, in Betracht gezogen werden sollte - , insbesondere Wenn die von Ihnen verwendete Software geschäftskritisch ist. Ich stimme ihm zu und schlägt vor, dass Sie es in Betracht ziehen, wenn Sie sich ernsthaft über Ihre Bewerbung informieren und sie über das Ende des Lebens von YII 1.1 hinaus halten möchten. Aber wie immer; Es hängt von Ihrer Situation ab.

Es gibt eine spezielle Seite, die sich für die Aktualisierung von YII auf der YII -Website widmet. Das größte Problem sind vorerst Ihre Erweiterungen. Wenn Sie sich auf viele Erweiterungen verlassen, fällt es Ihnen schwer, dass die Community einige Zeit dauert, um die Erweiterungen für YII 2.0 zu schreiben. Wenn Sie ein echter Profi sind, können Sie sich natürlich die Erweiterungen, die Sie verwenden, ernsthaft ansehen, und in Betracht ziehen (wieder).

Das Migrationshandbuch enthält einen Abschnitt zum Ausführen von YII 1.1 und YII 2.0 in einer Anwendung. Für große Projekte ist dies ein guter Weg, um einen sicheren Migrationspfad zu schaffen. Migrieren Sie Ihren generischen Code in YII 2.0 und nehmen Sie sich Zeit für komplexere oder erweiterte gefüllte Teile.

Schlussfolgerung

Über den endgültigen Leitfaden für Yii 2.0 geht es mir immer enthusiastischer, mit YII 2.0 zu beginnen. Ich musste mich bereits daran hindern, es in einem neuen Projekt zu verwenden, weil ich keine Probleme mit dem Vorproduktionscode riskieren konnte.

Die Dokumentationsqualität für yii 2.0 verbesserte sich von yii 1.1. Es fiel mir schwer, Dinge herauszufinden, als ich vor ein paar Jahren mit Yii 1.1 begann, und ich bin der Meinung, dass die Dokumentation umfangreicher ist als zuvor.

Haben Sie sich Yii 2.0 bereits angesehen oder vielleicht sogar etwas damit gebaut? Bitte sagen Sie uns, worauf Sie gestoßen sind. Ich würde gerne Ihre Erfahrungen kennen!

häufig gestellte Fragen zu yii 2.0

Was sind die neuen Funktionen in Yii 2.0 im Vergleich zu den vorherigen Versionen? Es unterstützt nun die Verwendung von Namespaces, was die Codeorganisation erheblich erleichtert. Es führt auch ein neues Routing -System ein, das flexibler und leistungsfähiger ist. Die ActivereCord -Klassen wurden neu gestaltet, um mehr Datenbanktypen, einschließlich NoSQL -Datenbanken, zu unterstützen. Das Framework enthält auch eine neue Unterstützung für erholsame API -Entwicklungen, die es einfacher erleichtern, APIs aufzubauen. Darüber hinaus verfügt Yii 2.0 verbesserte Sicherheitsmerkmale, einschließlich integrierter CSRF-Schutz (Cross-Site-Anfrage). Unterstützung von Internationalisierung (I18N). Sie können mehrere Übersetzungen derselben Nachricht in verschiedenen Sprachen speichern. Sie können auch Daten, Zahlen und Währungen gemäß dem Gebietsschema formatieren. YII 2.0 unterstützt auch Pluralformen und Nachrichtenauswahl basierend auf dem Kontext.

Was ist der YII 2.0 -Debugger und wie funktioniert es? Ihre Anwendungen. Es sammelt und zeigt Informationen zu jeder Anforderung an Ihre Anwendung, einschließlich der ausgeführten SQL -Abfragen, der Anforderung und der Antwortdaten sowie der Leistungssteuerdaten. Sie können auf diese Informationen über ein Panel unten auf den Seiten Ihrer Anwendung zugreifen. , die mit dem Composer Package Manager installiert werden können. Nach der Installation können Sie diese Erweiterungen genau wie die integrierten Merkmale von YII verwenden. Die YII -Community hat eine breite Palette von Erweiterungen entwickelt, die zusätzliche Funktionen liefern, z. B. Benutzerauthentifizierung, Formularvalidierung und Datenbankabstraktion.

Wie handelt Yii 2.0 Datenbankmigrationen? Sie können eine neue Migration mit dem Befehl yii migrieren/erstellen erstellen. Das Migrationsskript enthält Methoden zur Anwendung und Rückkehr der Migration. Sie können dann die Migration mit dem Befehl yii migrieren/up anwenden. Es beinhaltet Unterstützung für Routing, Anforderungsverarbeitung, Antwortformatierung und Fehlerbehandlung. Sie können auch die ActiveController -Klasse verwenden, um Aktionen für Ihre API schnell CRUD (Erstellen, Lesen, Aktualisieren, Löschen) zu generieren. Formularvalidierungssystem. Sie können Validierungsregeln für Ihre Formularfelder in der Modellklasse definieren. Wenn ein Formular eingereicht wird, validiert YII die Eingabedaten automatisch gegen diese Regeln und generiert geeignete Fehlermeldungen. . Es unterstützt sowohl die traditionelle Benutzername-/Passwortauthentifizierung als auch modernere Methoden wie OAuth und OpenID. Sie können das integrierte Benutzermodell auch erweitern, um Ihre eigenen Authentifizierungsmethoden hinzuzufügen. Es kann sowohl PHP -Fehler als auch Ausnahmen erfassen und umgehen. Die Fehler können in verschiedenen Formaten angemeldet und an verschiedene Ziele gesendet werden, z. B. Dateien, E -Mails und Browser.

Wie kann ich meine YII 2.0 -Anwendungen testen? Basierend auf Phpunit und Selen. Es unterstützt sowohl Unit -Tests als auch Funktionstests. Sie können Testfälle schreiben, um Ihre Modelle, Ansichten und Controller zu testen. Das Testframework bietet auch Methoden zum Simulieren von Benutzereingaben und zur Überprüfung der Ausgabe.

Das obige ist der detaillierte Inhalt vonWas zu erwarten von yii 2.0 zu erwarten ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1659
14
PHP-Tutorial
1258
29
C#-Tutorial
1232
24
Wie funktioniert die Session -Entführung und wie können Sie es in PHP mildern? Wie funktioniert die Session -Entführung und wie können Sie es in PHP mildern? Apr 06, 2025 am 12:02 AM

Die Hijacking der Sitzung kann in den folgenden Schritten erreicht werden: 1. Erhalten Sie die Sitzungs -ID, 2. Verwenden Sie die Sitzungs -ID, 3. Halten Sie die Sitzung aktiv. Zu den Methoden zur Verhinderung der Sitzung der Sitzung in PHP gehören: 1. Verwenden Sie die Funktion Session_regenerate_id (), um die Sitzungs -ID zu regenerieren. 2. Store -Sitzungsdaten über die Datenbank, 3. Stellen Sie sicher, dass alle Sitzungsdaten über HTTPS übertragen werden.

Erklären Sie verschiedene Fehlertypen in PHP (Hinweis, Warnung, tödlicher Fehler, analysieren Sie Fehler). Erklären Sie verschiedene Fehlertypen in PHP (Hinweis, Warnung, tödlicher Fehler, analysieren Sie Fehler). Apr 08, 2025 am 12:03 AM

Es gibt vier Hauptfehlertypen in PHP: 1. Nichts: Das geringste unterbrochen das Programm nicht, wie z. B. Zugriff auf undefinierte Variablen; 2. Warnung: Ernst als Bekanntmachung, wird das Programm nicht kündigen, z. B. keine Dateien; 3. FatalError: Das schwerwiegendste wird das Programm beenden, z. 4. Parseerror: Syntaxfehler verhindern, dass das Programm ausgeführt wird, z. B. das Vergessen, das End -Tag hinzuzufügen.

PHP und Python: Vergleich von zwei beliebten Programmiersprachen PHP und Python: Vergleich von zwei beliebten Programmiersprachen Apr 14, 2025 am 12:13 AM

PHP und Python haben jeweils ihre eigenen Vorteile und wählen nach den Projektanforderungen. 1.PHP ist für die Webentwicklung geeignet, insbesondere für die schnelle Entwicklung und Wartung von Websites. 2. Python eignet sich für Datenwissenschaft, maschinelles Lernen und künstliche Intelligenz mit prägnanter Syntax und für Anfänger.

Was sind HTTP -Anforderungsmethoden (erhalten, posten, setzen, löschen usw.) und wann sollte jeder verwendet werden? Was sind HTTP -Anforderungsmethoden (erhalten, posten, setzen, löschen usw.) und wann sollte jeder verwendet werden? Apr 09, 2025 am 12:09 AM

Zu den HTTP -Anforderungsmethoden gehören GET, Post, Put und Löschen, mit denen Ressourcen erhalten, übermittelt, aktualisiert und gelöscht werden. 1. Die GET -Methode wird verwendet, um Ressourcen zu erhalten, und eignet sich für Lesevorgänge. 2. Die Post -Methode wird verwendet, um Daten zu übermitteln und häufig neue Ressourcen zu erstellen. 3. Die Put -Methode wird zum Aktualisieren von Ressourcen verwendet und eignet sich für vollständige Updates. V.

Erklären Sie sicheres Kennwort -Hashing in PHP (z. B. password_hash, password_verify). Warum nicht MD5 oder SHA1 verwenden? Erklären Sie sicheres Kennwort -Hashing in PHP (z. B. password_hash, password_verify). Warum nicht MD5 oder SHA1 verwenden? Apr 17, 2025 am 12:06 AM

In PHP sollten die Funktionen für Passwort_Hash und passwart_verify verwendet werden, um sicheres Passwort -Hashing zu implementieren, und MD5 oder SHA1 sollte nicht verwendet werden. 1) Passwort_hash generiert einen Hash, der Salzwerte enthält, um die Sicherheit zu verbessern. 2) Passwort_Verify prüfen Sie das Passwort und sicherstellen Sie die Sicherheit, indem Sie die Hash -Werte vergleichen. 3) MD5 und SHA1 sind anfällig und fehlen Salzwerte und sind nicht für die Sicherheit der modernen Passwort geeignet.

PHP: Eine Schlüsselsprache für die Webentwicklung PHP: Eine Schlüsselsprache für die Webentwicklung Apr 13, 2025 am 12:08 AM

PHP ist eine Skriptsprache, die auf der Serverseite weit verbreitet ist und insbesondere für die Webentwicklung geeignet ist. 1.PHP kann HTML einbetten, HTTP -Anforderungen und Antworten verarbeiten und eine Vielzahl von Datenbanken unterstützt. 2.PHP wird verwendet, um dynamische Webinhalte, Prozessformdaten, Zugriffsdatenbanken usw. mit starker Community -Unterstützung und Open -Source -Ressourcen zu generieren. 3. PHP ist eine interpretierte Sprache, und der Ausführungsprozess umfasst lexikalische Analyse, grammatikalische Analyse, Zusammenstellung und Ausführung. 4.PHP kann mit MySQL für erweiterte Anwendungen wie Benutzerregistrierungssysteme kombiniert werden. 5. Beim Debuggen von PHP können Sie Funktionen wie error_reporting () und var_dump () verwenden. 6. Optimieren Sie den PHP-Code, um Caching-Mechanismen zu verwenden, Datenbankabfragen zu optimieren und integrierte Funktionen zu verwenden. 7

Erklären Sie die in Php 7.4 eingeführten Pfeilfunktionen (kurze Schließungen). Erklären Sie die in Php 7.4 eingeführten Pfeilfunktionen (kurze Schließungen). Apr 06, 2025 am 12:01 AM

Die Pfeilfunktion wurde in Php7.4 eingeführt und ist eine vereinfachte Form von kurzen Schließungen. 1) Sie werden mit dem Operator => Operator definiert, weglassen und Schlüsselwörter verwenden. 2) Die Pfeilfunktion erfasst automatisch die aktuelle Umfangsvariable ohne das Schlüsselwort verwenden. 3) Sie werden häufig in Rückruffunktionen und kurzen Berechnungen verwendet, um die Einfachheit und Lesbarkeit von Code zu verbessern.

PHP in Aktion: Beispiele und Anwendungen in realer Welt PHP in Aktion: Beispiele und Anwendungen in realer Welt Apr 14, 2025 am 12:19 AM

PHP wird in E-Commerce, Content Management Systems und API-Entwicklung häufig verwendet. 1) E-Commerce: Wird für die Einkaufswagenfunktion und Zahlungsabwicklung verwendet. 2) Content -Management -System: Wird für die Erzeugung der dynamischen Inhalte und die Benutzerverwaltung verwendet. 3) API -Entwicklung: Wird für die erholsame API -Entwicklung und die API -Sicherheit verwendet. Durch Leistungsoptimierung und Best Practices werden die Effizienz und Wartbarkeit von PHP -Anwendungen verbessert.

See all articles