Introduksjon til Yii Framework

Hva du skal skape

Hvorfor Yii?

Å skrive "Hello World" i PHP er ganske enkelt, men å bygge en faktisk webapplikasjon blir komplisert raskt. Så snart du vil administrere sikkerhet, skriv DRY-kode, eller utnytte MVC-designteknikker, virker PHP mangelfull. Tidligere har jeg jobbet med Ruby on Rails, men fant at det fortsatt er mye som er vanskelig med det - spesielt når det gjelder hosting og distribusjon på en økonomisk og fleksibel måte. 

Det er her PHP rammer kommer inn.

Det finnes en rekke gode PHP-rammer, Symfony, Cake, Zend, CodeIgniter, Laravel og min favoritt, Yii. Yii er et fritt, åpen kildekode rammeverk for PHP5 som fremmer ren, DRY-design, og støtter rask utvikling. Jeg har funnet ut at Yii tilbyr bredden til alt jeg forventer av et rammeverk i en høyytelsespakke med få av de begrensningene som andre PHP-rammer har påført.

Upstart media site Vice er skrevet i Yii som er den fremvoksende utviklerens alternativ til WordPress, CraftCMS (følg @reifman for min kommende Intro to CraftCMS).

Yii er skiller seg ut for sin ytelse, noe som er kritisk når du vedtar et rammeverk:

Yii-rammeverket tilbyr også en bredde av muligheter som gjør at jeg raskt og enkelt kan skrive optimerte webapplikasjoner. Og viktigere, Yii tilbyr også utmerket dokumentasjon og et støttende fellesskap.

Yii er moden, tidsprøvd og stabil. Utgitt av utvikler Qiang Xue, har Release 1.x eksistert siden 2008. Utgitt 2.0 forventes øyeblikkelig, de fullfører bare dokumentasjonen og sluttprøven..

Egenskaper

For en høy ytelse rammeverk, Yii bredde av evner og funksjonssett er ganske ekstraordinært, og det er en av grunnene til at jeg ble tiltrukket av rammen. Du kan se og prøve noen eksempler på Yii-kode i aksjon på Yii Playground.

Her er noen høydepunkter:

  • Modell-View-Controller-arkitektur. Akkurat som Ruby on Rails, nå kan du utnytte MVC i PHP-applikasjonene dine.
  • Database Access Objects (DAO), Active Record, og programmatiske Database-migreringer forenkler utfordringene ved å bygge database-drevne webapplikasjoner.
  • Skjemainngang, validering og Ajax-støtte er innebygd. Yii gjør skjemaene ganske enkle.
  • Innebygd autentisering og kraftige brukeradministrasjonsutvidelser gjør det enkelt å lansere nye webprogrammer.
  • Yiis innebygde kodegenerasjonsverktøy, Gii, øker hastigheten på appens utviklings stillas i MVC-mote
  • Konsoll Yii. Du kan kjøre Yii fra kommandolinjen eller som en demon. Med dette er det mulig å bygge oppgaver med høy ytelse i PHP.
  • Disse alternativene, for eksempel Bootstrap-utvidelsen, gjør det enklere å bygge flotte, seriøse apper
  • Layered caching support Yii gjør det enkelt å implementere typer caching som gir mening for applikasjonen din
  • Sikkerhet. Yii reduserer i stor grad de typiske risikofaktorene for å kjøre tjenester med PHP og MySQL
  • Integrasjon med andre rammer. Det er lett å bruke Zend eller PEAR-funksjoner i Yii
  • Utvidelser. Yii samfunn tilbyr et utvalg av gratis, åpen kildekodeplugger og widgets
  • Internasjonalisering. Yii støtter I18N og gjør det enkelt å levere lokale versjoner av appen din.
  • Feilhåndtering, logging og testing - Ja, Yii leverer.

Yii-fellesskapet kjøpte også en ubegrenset lisens til den vakre, webbaserte rike teksteditoren Redactor - slik at du kan bruke den til noen av dine egne Yii-apper. Dette er flott for rike formaterte inngangs- eller CMS-funksjoner.

Yii dokumentasjonen og fellesskapet er også gode funksjoner. Det er noen gode bøker for å hjelpe deg med å komme i gang.

Min erfaring med Yii

Yii har vært en sentral del av min økte produktivitet de siste to årene. Yii har gjort det enkelt for meg å bygge en rekke webapplikasjoner:

  • Forenkle e-postfiltre, administrerer og sender fordøyelser for min e-post, forenkler problemer i dagens kommunikasjon og aktiverer kraftige nye funksjoner som e-post-stille timer. Den integreres med PHP IMAP biblioteket, Mailgun API samt Pushover API for varsler. 
  • Geogram er et konseptprosjekt for å tilby e-postgrupper til nabolag og steder. Geogram integreres med Zillow-nabolagsdata, Google Maps, Google Steder og Mailgun.
  • Simple Monitor overvåker mine WordPress-nettsteder og helsen til mine servere. Når noe går galt, sender det et iOS-varsel til telefonen min.
  •  ListApp, et gratis, åpen kildekode-e-post-sendingsprogram ved hjelp av Mailguns liste og e-postvaliderings-API. Jeg skal skrive mer om dette for Tuts + snart.

Koden for forenkle e-post og enkel skjerm er tilgjengelig for kjøp hvis du vil gjerne gå gjennom en dypere Yii-kode. Jeg har også skrevet en håndfull Yii-veiledninger. 

Noen av mine favoritt Yii-utvidelser inkluderer Yii-bruker, Yii Bootstrap, Redactor og Yii Hybridauth.

Hva er nytt i Release 2.0?

Yii 2.0 er klar for utgivelse (følg utviklingsplanen). Yii2 beta notater oppsummerer best forbedringer fra Yii 1.x. 

Delvis på grunn av hvor avansert Yii 1.x var, er det ikke en eneste fantastisk funksjon til Yii2, men det er et bredt sett med betydelige forbedringer som vil gjøre livet lettere for Yii-utviklere. 

Her er noen høydepunkter:

  • Støtte for autolading av PSR-4-klasser, enklere navneområder, raskere lasting og forbedret brukervennlighet for utviklere
  • Ytelses- og sikkerhetsforbedringer
  • RESTful API-rammeintegrasjon for å gjøre bygnings-APIer enklere
  • Codeception testing integrasjon
  • Database og aktiv rekord forbedringer inkludert batched spørringer, støtte for sub-queries og inverse relasjoner
  • Forbedret URL-håndtering og behandling
  • Oversettelser av kjernemeldinger tilgjengelig på 26 språk
  • Dokumentasjonsgenerator

Komme i gang med Yii

Komme i gang med Yii er ganske enkelt på grunn av sin fremragende dokumentasjon. Her er noen ting å prøve:

  • Ta Yii Tour
  • Se på Yii Screencasts
  • Gå til biblioteket: Den Definitive Guide to Yii, sjekk ut Larry Ullmans Yii Book og Web Application Development med Yii og PHP.
  • Utforsk Yii Playground
  • Prøv gratis, åpen kildekode ListApp for Mailgun-opplæringen, kjøp koden til Simple Monitor eller sjekk ut mine andre opplæringsprogrammer.
  • Pass på å stille spørsmål i Yii-forumet.

Jeg er enormt begeistret for Yii 2.0 og fremtiden for Yii som et PHP-rammeverk. Det er utjevnet min effektivitet som utvikler og konsulent. Jeg håper du finner Yii så interessant og nyttig som jeg har.

Hvis du har spørsmål eller rettelser, vennligst legg inn dem i kommentarene. Hvis du vil fortsette med mine fremtidige Tuts + opplæringsprogrammer og andre serier, vennligst følg @reifman eller besøk min forfatterside.