Dacă vă întrebați: "Ce este Yii?" verifică Introducere în Cadrul Yii, care analizează beneficiile Yii și include o prezentare generală a Yii 2.0.
În programul de programare cu seria Yii2, îndrumăm cititorii în folosirea cadrului Yii2 pentru PHP. În acest tutorial, voi oferi o scurtă trecere în revistă a ajutoarelor. În Yii, ajutoarele sunt module care grupează în mod obișnuit biblioteci utile pentru gestionarea șirului, fișierelor, imaginilor, URL-urilor și HTML-urilor și sunt ușor de prelungit.
Voi împărtăși, de asemenea, un exemplu de creare a unui ajutor în Planificatorul de întâlniri, în centrul seriei de pornire Envato Tuts +.
Înainte de a începe, amintiți-vă, încerc să particip la discuțiile de mai jos. Dacă aveți o întrebare sau o sugestie de subiect, vă rugăm să postați un comentariu de mai jos sau să mă contactați pe Twitter @reifman.
Dacă ați observat diferența dintre episoadele seriei de programare Yii, este pentru că a trebuit să am operație pe creier anul trecut. Vă mulțumim pentru răbdarea și sprijinul dvs. - este bine să scrieți din nou în mod regulat și aștept cu nerăbdare să vă continuăm să reflectați Yii2.
În esență, ajutoarele sunt doar module de suport de codare orientat local. Iată o listă de ajutoare furnizate ca parte a Yii2 - această listă este acum mult mai actualizată decât documentația și meniurile sale:
Eu folosesc în mod obișnuit ajutorul Html și Url în aplicațiile mele Yii. Și, poate vă amintiți, am folosit Ajutorul Imaginați în Construirea sistemului de pornire cu PHP: Setări de utilizator, Imagini de profil și Detalii de contact pentru a scala imaginile de profil încărcate.
Să aruncăm o privire scurtă asupra unora dintre ajutoarele mai puțin cunoscute.
După cum puteți vedea, ArrayHelper oferă o mulțime de funcții utile de orientare.
De exemplu, getValue simplifică căutarea valorilor din cheile din matrice complexe:
// lucrează cu matrice $ username = \ yii \ helpers \ ArrayHelper :: getValue ($ _ POST, 'username'); // lucrează cu obiectul $ username = \ yii \ helpers \ ArrayHelper :: getValue ($ user, 'username'); // lucrează cu funcția anonimă $ fullName = \ yii \ helpers \ ArrayHelper :: getValue ($ user, funcție ($ user, $ defaultValue) return $ user-> firstName. / folosind formatul punct pentru a extrage proprietatea obiectului încorporat $ street = \ yii \ helpers \ ArrayHelper :: getValue ($ users, 'address.street'); // folosind o serie de chei pentru a extrage valoarea $ value = \ yii \ helpers \ ArrayHelper :: getValue ($ versiuni, ['1.0', 'data']);
Sau harta () construiește o simplă matrice de valori cheie dintr-o matrice mai complexă:
$ '=' '', 'nume' => 'bbb', 'nume' => ' ',' class '=>' x '], [' id '=>' 345 ',' nume '=>' ccc ',' class '=>' y '],]; $ rezultat = ArrayHelper :: harta ($ array, 'id', 'nume'); // rezultatul este: // ['123' => 'aaa', // '124' => 'bbb', // '345' => 'ccc'
Puteți utiliza HtmlPurifier pentru a îmbunătăți securitatea manipulării cu ajutorul utilizatorului. De exemplu, dacă cineva introduce codul de injecție SQL în formularul de mai sus, curățarea cu HtmlPurifier va neutraliza orice atac.
echo HtmlPurifier :: proces ($ html);
Acesta utilizează librăria open-source HTML Purifier.
StringHelper oferă câteva metode extinse pentru lucrul cu șiruri de caractere în PHP. De exemplu, truncateWords () poate să reducă un șir la un anumit număr de cuvinte, dar să păstreze și HTML-ul adecvat în cadrul rezultatului.
Ca Planificator de Întâlniri, focus-ul seriei de pornire, a devenit mai mare, mi-a fost util să creez un ajutor de bază pe care l-aș putea folosi. Pentru moment, am combinat totul într-unul numit MiscHelpers.php:
Puteți vedea o varietate de metode care sunt incluse de diferite tipuri. De exemplu,
getDisplayName ()
returnează fie un nume de utilizator, un e-mail, fie șiruri de caractere concatenate cu numele și prenumele, atunci când sunt disponibile.Este util să le creați o singură dată într-un singur loc, decât să le rescrieți în mod diferit în modele, deoarece acestea sunt necesare.
Am creat MiscHelpers.php creând un fișier în / common / components și construind o clasă pe care am putut să o invoc în întreaga aplicație.
buildCommand
Funcția facilitează crearea de link-uri pentru mesajele de e-mail de ieșire programate, care includ capacitatea de autentificare a utilizatorilor cu$ auth_key
stocate în baza de date.funcția publică statică buildCommand ($ meeting_id, $ cmd = 0, $ obj_id = 0, $ actor_id = 0, $ auth_key = ") // de a construi un șir de destinație locală sau la distanță // notă: în Message.php întoarcere Url :: la (['întâlnire / comandă', 'id' => $ meeting_id, 'cmd' => $ cmd, 'actor_id' => $ actor_id, 'k' obj_id '=> $ obj_id,], adevărat);Nu există nimic deosebit în legătură cu acest modul, în afară de faptul că seamănă cu obiectivul ajutoarelor standard Yii pe care le-am descris mai devreme.
Oriunde vreau să utilizez funcțiile MiscHelper, pot folosi următorul cod: