Wenn Sie fragen: "Was ist Yii?" Auschecken Einführung in das Yii-Framework, Hier werden die Vorteile von Yii beschrieben und ein Überblick über Yii 2.0 gegeben.
In der Programming With Yii2-Serie unterstütze ich die Leser beim Einsatz des Yii2-Frameworks für PHP. In diesem Tutorial werde ich einen kurzen Überblick über die Helfer geben. In Yii sind Helfer Module, die unter anderem häufig nützliche Bibliotheken für die Verwaltung von Strings, Dateien, Bildern, URLs und HTMLs zusammenfassen und sich leicht erweitern lassen.
Ich zeige Ihnen auch ein Beispiel für die Erstellung eines Hilfsprogramms in Meeting Planner, das den Fokus unserer Envato Tuts + -Startingserie bildet.
Bevor wir anfangen, denken Sie daran, ich versuche, an den folgenden Diskussionen teilzunehmen. Wenn Sie eine Frage oder ein Thema haben, schreiben Sie bitte einen Kommentar oder kontaktieren Sie mich unter Twitter @reifman.
Wenn Sie die Lücke zwischen den Episoden der Programmierserie Yii bemerkt haben, liegt dies daran, dass ich es musste Gehirnoperation im letzten Jahr. Vielen Dank für Ihre Geduld und Ihre Unterstützung. Es ist schön, regelmäßig wieder zu schreiben. Ich freue mich darauf, Yii2 weiter zu behandeln.
Helfer sind im Wesentlichen nur Module für topisch orientierte Codierungsunterstützung. Hier eine Liste von Helfern, die im Rahmen von Yii2 bereitgestellt werden. Diese Liste ist jetzt etwas aktueller als die Dokumentation und ihre Menüs:
Ich verwende häufig die Html- und URL-Helfer in meinen Yii-Anwendungen. Sie erinnern sich vielleicht, dass ich den Imagine-Helfer beim Erstellen Ihres Startups mit PHP verwendet habe: Benutzereinstellungen, Profilbilder und Kontaktdetails, um hochgeladene Profilbilder zu skalieren.
Werfen wir einen kurzen Blick auf einige der weniger bekannten Helfer.
Wie Sie sehen, bietet ArrayHelper eine Handvoll nützlicher Array-orientierter Funktionen.
GetValue vereinfacht beispielsweise das Nachschlagen von Werten von Schlüsseln in komplexen Arrays:
// Arbeit mit dem Array $ username = \ yii \ helpers \ ArrayHelper :: getValue ($ _ POST, 'username'); // Arbeit mit dem Objekt $ username = \ yii \ helpers \ ArrayHelper :: getValue ($ user, 'username'); // Arbeit mit der anonymen Funktion $ fullName = \ yii \ helpers \ ArrayHelper :: getValue ($ user, function ($ user, $ defaultValue) Rückgabe von $ user-> firstName. ". $ user-> lastName;); / / Verwenden des Punktformats zum Abrufen der Eigenschaft des eingebetteten Objekts $ street = \ yii \ helpers \ ArrayHelper :: getValue ($ users, 'address.street'); // Verwenden eines Schlüsselfelds zum Abrufen des Werts $ value = \ yii \ helpers \ ArrayHelper :: getValue ($ versions, ['1.0', 'date']);
Oder map () erstellt ein einfaches Schlüsselwert-Array aus einem komplexeren Array:
$ array = [['id' => '123', 'name' => 'aaa', 'class' => 'x'], ['id' => '124', 'name' => 'bbb ',' class '=>' x '], [' id '=>' 345 ',' name '=>' ccc ',' class '=>' y '],]; $ result = ArrayHelper :: map ($ array, 'id', 'name'); // Das Ergebnis ist: // [// '123' => 'aaa', // '124' => 'bbb', // '345' => 'ccc', //]
Sie können HtmlPurifier verwenden, um die Sicherheit beim Umgang mit Benutzereingaben zu verbessern. Wenn zum Beispiel jemand SQL-Injektionscode wie oben in Ihr Formular einfügt, wird die Bereinigung mit HtmlPurifier jeden Angriff neutralisieren.
echo HtmlPurifier :: process ($ html);
Es nutzt die Open-Source-HTML-Purifier-Bibliothek.
StringHelper bietet einige erweiterte Methoden zum Arbeiten mit Strings in PHP. Zum Beispiel kann truncateWords () eine Zeichenfolge auf eine bestimmte Anzahl von Wörtern reduzieren, aber auch das richtige HTML im Ergebnis beibehalten.
Als Meeting Planner, der Fokus der Startupserie, immer größer wurde, war es hilfreich, einen grundlegenden Helfer zu erstellen, den ich verwenden konnte. Fürs Erste habe ich alles zu einer namens MiscHelpers.php zusammengefasst:
Sie können sehen, dass eine Vielzahl von Methoden von verschiedenen Typen enthalten sind. Zum Beispiel,
getDisplayName ()
Gibt entweder einen Benutzernamen, eine E-Mail-Adresse oder verkettete Zeichenfolgen mit Vor- und Nachnamen zurück, sofern verfügbar.Es ist hilfreich, diese einmal an einer einzigen Stelle zu erstellen, anstatt sie in den Modellen je nach Bedarf neu zu schreiben.
Ich habe MiscHelpers.php erstellt, indem ich eine Datei in / common / components erstellt und eine Klasse erstellt habe, die ich in der gesamten Anwendung aufrufen kann.
Das
buildCommand
Diese Funktion erleichtert das programmgesteuerte Erstellen von Links für ausgehende E-Mail-Nachrichten, zu denen auch die Authentifizierung von Benutzern mit der E-Mail gehört$ auth_key
in der Datenbank gespeichert.public static function buildCommand ($ meeting_id, $ cmd = 0, $ obj_id = 0, $ actor_id = 0, $ auth_key = ") // to do - build - Zeichenfolge des lokalen oder fernen Ziels // Hinweis: Wenn Änderungen vorgenommen wurden, ändern in Message.php geben Sie url :: to (['meeting / command', 'id' => $ meeting_id, 'cmd' => $ cmd, 'actor_id' => $ actor_id, 'k' => $ auth_key, 'zurück obj_id '=> $ obj_id,], true);Dieses Modul hat nichts Besonderes, außer dass es dem Ziel von Standard-Yii-Helfern ähnelt, das ich zuvor beschrieben habe.
Überall, wo ich MiscHelper-Funktionen verwenden möchte, kann ich folgenden Code verwenden: