Hvis du spør, "Hva er Yii?" Sjekk ut Introduksjon til Yii Framework, som vurderer fordelene med Yii og inneholder en oversikt over Yii 2.0.
I programmeringen med Yii2-serien, veileder jeg lesere i bruk av Yii2 Framework for PHP. I denne opplæringen gir jeg en kort oversikt over hjelpere. I Yii er hjelpere moduler som blant annet bruker nyttige biblioteker for streng, fil, bilde, URL og HTML-styring, blant annet, og de er enkle å utvide.
Jeg vil også dele et eksempel på å skape en hjelper i Meeting Planner, fokuset på vår Envato Tuts + oppstartsserie.
Før vi begynner, vær så snill og husk, jeg prøver å delta i diskusjonene nedenfor. Hvis du har et spørsmål eller et emneforslag, vennligst legg inn en kommentar nedenfor eller kontakt meg på Twitter @ reifman.
Hvis du la merke til gapet mellom episodene i Programming Yii-serien, er det fordi jeg måtte ha hjernekirurgi i fjor. Takk for tålmodigheten og støtten. Det er hyggelig å skrive igjen regelmessig, og jeg ser frem til fortsatt dekning av Yii2.
I hovedsak er hjelpere bare moduler av lokalt orientert kodingsstøtte. Her er en liste over hjelpere som tilbys som en del av Yii2-denne listen er nå litt mer oppdatert enn dokumentasjonen og menyene:
Jeg bruker vanligvis Html- og Url-hjelperne over mine Yii-applikasjoner. Og du kan huske at jeg brukte Imagine-hjelperen i å bygge din oppstart med PHP: Brukerinnstillinger, profilbilder og kontaktdetaljer for å skalere opplastede profilbilder.
La oss ta en kort titt på noen av de mindre kjent hjelperne.
Som du kan se, gir ArrayHelper en håndfull nyttige array-orienterte funksjoner.
For eksempel forenkler getValue å se opp verdier fra nøkler i komplekse arrays:
// arbeider med array $ brukernavn = \ yii \ helpers \ ArrayHelper :: getValue ($ _ POST, 'brukernavn'); // arbeider med objekt $ brukernavn = \ yii \ helpers \ ArrayHelper :: getValue ($ bruker, 'brukernavn'); // arbeider med anonym funksjon $ fullName = \ yii \ helpers \ ArrayHelper :: getValue ($ bruker, funksjon ($ bruker, $ defaultValue) return $ user-> firstName. ". $ user-> lastName;); / / bruker punktformat for å hente egenskapen til den innebygde objekten $ street = \ yii \ helpers \ ArrayHelper :: getValue ($ users, 'address.street'); // ved hjelp av en rekke nøkler for å hente verdien $ value = \ yii \ helpers \ ArrayHelper :: getValue ($ versjoner, ['1.0', 'date']);
Eller kart () bygger en enkel nøkkelverdiermatrise fra et mer komplekst utvalg:
$ array = ['' id '=>' 123 ',' navn '=>' aaa ',' klasse '=>' x '], [' id '=>' 124 ',' navn '=>' bbb ',' class '=>' x '], [' id '=>' 345 ',' navn '=>' ccc ',' klasse '=>' y '],]; $ result = ArrayHelper :: map ($ array, 'id', 'name'); // resultatet er: // [// '123' => 'aaa', // '124' => 'bbb', // '345' => 'ccc', //]
Du kan bruke HtmlPurifier for å forbedre sikkerheten for håndtering med brukerinngang. For eksempel, hvis noen klistrer SQL-injeksjonskoden i skjemaet ditt som ovenfor, vil rensing av det med HtmlPurifier nøytralisere ethvert angrep.
ekko HtmlPurifier :: prosess ($ html);
Det utnytter HTML-rensebiblioteket med åpen kildekode.
StringHelper gir noen utvidede metoder for å arbeide med strenger i PHP. For eksempel kan truncateWords () redusere en streng til et bestemt antall ord, men også bevare riktig HTML i resultatet.
Som møteplanlegger ble fokuset i oppstartsserien større, jeg fant det nyttig å lage en grunnleggende hjelper som jeg kunne bruke. For nå har jeg kombinert alt til en som heter MiscHelpers.php:
Du kan se en rekke metoder er inkludert i forskjellige typer. For eksempel,
getDisplayName ()
returnerer enten et brukernavn, en e-post eller sammenkalt strenger av for- og etternavn når det er tilgjengelig.Det er nyttig å lage disse en gang på ett sted i stedet for å omskrive dem annerledes i modeller som de trengs.
Jeg opprettet MiscHelpers.php ved å lage en fil i / felles / komponenter og bygge en klasse som jeg kunne påberope gjennom hele søknaden.
De
buildCommand
funksjonen gjør det enkelt å programmere koblinger for utgående e-postmeldinger som inkluderer muligheten til å autentisere brukere med$ auth_key
lagret i databasen.offentlig statisk funksjon buildCommand ($ meeting_id, $ cmd = 0, $ obj_id = 0, $ actor_id = 0, $ auth_key = ") // for å gjøre - bygg streng av lokal eller ekstern destinasjon // notat: i Message.php returnere Url :: til (['møte / kommando', 'id' => $ meeting_id, 'cmd' => $ cmd, 'actor_id' => $ actor_id, 'k' => $ auth_key, ' obj_id '=> $ obj_id,], true);Det er egentlig ikke noe spesielt med denne modulen enn at den ligner målet med standard Yii-hjelpere som jeg tidligere beskrev.
Hvor som helst jeg vil bruke MiscHelper-funksjoner, kan jeg bruke følgende kode: