Vil du vite mer om Yii? Lese Introduksjon til Yii Framework og følg vår Yii Programmeringsserie.
I dagens veiledning forklarer vi hvordan du installerer Yii i et lokalt utviklingsmiljø for både Windows og MacOS. For Windows-veiledningen vil vi stole på WAMP Server, et Windows-webutviklingsmiljø for Apache, PHP og Mac, og for Mac-guiden bruker vi sin fetter, MAMP. Selv om Rod bruker WAMP i dagens veiledning, er det også en Windows-versjon av MAMP.
Jeg skriver Mac-delen av denne veiledningen, og min kollega Rod Ussing skriver Windows-siden. Jeg møtte Rod i videregående skole i California på min andre programmeringsjobb, et veldig stort heksadesimale nummer i år siden. Han bruker fortsatt Windows, men etter åtte år med å jobbe hos Microsoft og trøtt av å starte systemet på nytt for å starte Outlook igjen, dro jeg til MacOS.
Yii er et utrolig pålitelig, godt designet, høypresterende rammeverk for PHP, som Rails er for Ruby og ligner på Laravel. Hvis du lurer på om du kan bygge virkelige applikasjoner i Yii, sjekk ut Meeting Planner og Building Your Startup-serien.
Jeg elsker koding i Yii. Alt er raskere og enklere for meg. Og det er relativt grei så langt som rammer går (Det er meg å kaste skygge på Rails).
Vi starter med grunnleggende om hva som er unikt å installere Yii i MacOS, og deretter gå videre til Windows. Som det som trengs for å fullføre installasjonen på hver plattform, konvergerer, beskriver vi de resterende instruksjonene i en enhetlig form for begge plattformene.
Yii Basic er den enkleste formen for Yii. Du kan bygge alle typer applikasjoner med det, men det er best for enkelt nivå, f.eks. en kunde som vender mot siden.
Her er katalogstrukturen til en Yii Basic-applikasjon med bare et sett med kataloger for en enkelt applikasjon:
eiendeler / inneholder aktivitetsdefinisjonskommandoer / inneholder konsollkommandoer (kontroller) config / inneholder applikasjonskonfigurasjoner kontroller / inneholder webkontroller klasser post / inneholder visningsfiler for e-postmodeller / inneholder modellklasser runtime / inneholder filer generert under kjøretidstester / inneholder ulike tester for den grunnleggende applikasjonsleverandøren / inneholder avhengige tredjepartspakkevisninger / inneholder visningsfiler for webapplikasjonsweben / inneholder oppføringsskript og webressurser
Yii 2 Advanced Project Template er best for å utvikle komplekse webapplikasjoner med flere nivåer, for eksempel frontend, bakre ende og konsoll, som hver er et eget Yii-program. For eksempel kan administrative nettsteder kjøre i bakenden, og cron-oppgaver kan kjøre i konsollmiljøet.
I kontrast her er katalogstrukturen for et Yii Advanced-program med flere nivåer:
common config / inneholder delte konfigurasjoner mail / inneholder visningsfiler for e-postmodeller / inneholder modellklasser som brukes i både backend og frontend test / inneholder tester for felles klassekonsoll config / inneholder konsollkonfigurasjoner kontroller / inneholder konsollkontrollere (kommandoer) migreringer / inneholder databasemigrasjonsmodeller / inneholder konsollspesifikke modellklasser runtime / inneholder filer generert under runtime-backend-eiendeler / inneholder applikasjonsegenskaper som JavaScript og CSS config / inneholder backendkonfigurasjoner controllere / inneholder Webcontroller klasser modeller / inneholder backend-spesifikke modellklasser runtime / inneholder filer generert under kjøretidstester / inneholder tester for backend-applikasjonsvisninger / inneholder visningsfiler for webapplikasjonsweben / inneholder inngangsskript og webressurser-frontend-aktiver / inneholder applikasjonsegenskaper som JavaScript og CSS config / inneholder frontendkonfigurasjoner kontroller / inneholder webkontroll klasser modeller / contai ns frontend-spesifikke modellklasser runtime / inneholder filer generert under kjøretidstester / inneholder tester for frontend-applikasjonsvisninger / inneholder visningsfiler for webapplikasjonsnettverket / inneholder inngangsskript og webressurser widgets / inneholder frontend widgets leverandør / inneholder avhengig tredjepart pakkemiljøer / inneholder miljøbaserte overstyringer
Hvert nivå er sitt eget nettsted, men de kan enkelt dele kode og en felles database hvis ønskelig. Jeg bruker denne malen i vår oppstartsserie. Yii Advanced gir også innebygd konfigurasjonsstøtte for ulike miljøer, noe som gjør teamutvikling enklere.
Jeg har kodet i Yii på macOS i flere år nå. Jo, det er mange forskjellige måter å kjøre et Apache, MySQL, PHP miljø på Mac, men jeg foretrekker MAMP.
I utgangspunktet bare besøk MAMP nettsiden og last ned macOS pakken:
Når du er lastet ned, kan du dra pakken til applikasjoner mappe og dobbeltklikk for å starte MAMP. Dette vil vise et MAMP-vindu:
Klikk Preferanser å konfigurere portene du vil serveren på (jeg bruker 8888
for Apache):
Klikk Internett server å gjennomgå eller endre katalogen på serveren din. Jeg bruker Apache lokalt:
Yii2 krever Composer, en populær avhengighetsleder for PHP. Hvis du ikke allerede har Composer installert, gjør du følgende:
curl -s http://getcomposer.org/installer | php mv komponent.phar / usr / local / bin / komponist
Deretter bruker du Komponist til å installere Yii2. Installasjonsforespørselen krever at du bruker din egen GitHub-kontoinformasjon, Registrer deg hvis du ikke har en konto.
Som Rod beskriver nærmere nedenfor, krever installering av Yii komponentens ressursplugg:
komponist globalt krever "fxp / composer-asset-plugin: 1.0.0-beta2"
Han anbefaler å sette opp en konto med GitHub og Konfigurere et tilgangstoken. Årsaken til dette er at under installasjonen av Yii, kan antall forespørsler overstige GitHub API-grenseverdien, og Komponisten kan stoppe og be om GitHub-påloggingsinformasjonen din for å oppnå en GitHub API-tilgangstoken under installasjonen.
Når du er klar, kan du installere Yii. Vi bruker Yii basic og installerer det i ~ / Nettsteder / hallo
katalogen:
komponistskap-prosjekt - prefer-dist yiisoft / yii2-app-basic hei
Deretter oppretter du en symlink for MAMP til appen din:
CD / Programmer / MAMP / htdocs ln -s ~ / Nettsteder / hei / / Programmer / MAMP / htdocs / hallo
Hvis du bestemmer deg for å installere Yii Advanced, kan det bidra til å aktivere og tilpasse den virtuelle vertsfilen din:
$ nano /Applications/MAMP/conf/apache/httpd.conf # Virtuelle verter inkluderer /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
Nedenfor har jeg konfigurert frontend.dev og backend.dev for å kartlegge til en Yii Advanced installasjon i ~ / Nettsteder / yiiplus
katalog som har en symbolsk lenke inn / Programmer / MAMP
.
$ nano /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf NameVirtualHost *: 8888Servernavn frontend.dev DocumentRoot / Applications / MAMP / htdocs / yiiplus / frontend / web / # bruk mod_rewrite for ganske nettadressestøtte RewriteEngine on # Hvis en katalog eller en fil eksisterer, bruk forespørselen direkte RewriteCond% REQUEST_FILENAME! -f RewriteCond% REQUEST_FILENAME! -d # Ellers videresend forespørselen til index.php RewriteRule. index.php # bruk index.php som indeksfil DirectoryIndex index.php # ... andre innstillinger ... Servernavn backend.dev DocumentRoot / Applications / MAMP / htdocs / yiiplus / backend / web / # bruk mod_rewrite for ganske nettadressestøtte RewriteEngine on # Hvis en katalog eller en fil eksisterer, bruk forespørselen direkte RewriteCond% REQUEST_FILENAME! -f RewriteCond% REQUEST_FILENAME! -d # Ellers videresend forespørselen til index.php RewriteRule. index.php # bruk index.php som indeksfil DirectoryIndex index.php # ... andre innstillinger ...
Hvis du bestemmer deg for å bruke Yii Advanced, oppfordrer jeg deg til å sjekke ut min veiledning på dette som gir flere detaljer.
Det er de plattformspesifikke trinnene for macOS. La oss nå se på å forberede Yii på Windows. Senere kommer vi tilbake for å fullføre konfigurasjonene med trinn som fungerer for begge plattformene. Hvis du er strengt en macOS-bruker, hopp videre til Fullfører Yii-konfigurasjonen seksjon.
For Yii på Windows, skal vi bruke WAMP. For å begynne, må du laste ned og konfigurere WAMP på Windows-datamaskinen. For denne opplæringen vil vi installere WAMP på din lokale datamaskin (som serveren vil adressere som localhost). Hvis du ønsker å installere på en Windows-server for produksjon, må du kontakte leverandøren din for serverdetaljer og følge anbefalingene for installasjon og konfigurering av WAMP Server eller en alternativ Apache, MySQL, PHP-stakk for det miljøet..
Som fokus på denne opplæringen er å installere Yii, foreslår vi at du konsulterer en av de mange gode eksisterende opplæringsprogrammene som dekker installering av WAMP; du vil bli overrasket over hvor lett det er. Som det er også en PHP-applikasjon, er WordPress-guiden for å installere WAMP et godt utgangspunkt.
Når vi har installert og konfigurert WAMP, må vi installere Komponist, som er en avhengighetsbehandling og installatør for PHP-prosjekter. Dette gjør at vi kan komme i gang med vår Yii-installasjon.
Selv om du kan laste ned Yii-pakker fra GitHub, bruker vi Composer i denne opplæringen for å installere den. Hvis du ikke er kjent med Komponisten, kan du lære mer i denne opplæringen.
Først, la oss gå til GitHub for å laste ned og installere den nyeste versjonen av Composer-setup.exe, som på dette tidspunktet er v4.5.0.
Når installasjonen er fullført, er det en god ide å logge av og logge på igjen for å være sikker på at alle filer er oppdatert [Jeff her: eller kjøp en Mac].
Du kan sjekke installasjonen din ved å åpne kommandoprompten og gå til:
cd \ Brukere \ ditt-brukernavn
Skriv inn følgende kommando:
komponist -V
Versjonsinfo for Composer skal da vises, noe som helst:
Komponistversjon 1.4.1 2017-03-10 09:29:45
For å administrere prosjektets eiendeler i Composer .json, uten å måtte installere NPM eller Bower, må du sørge for at Composer har alle pakkene den trenger ved å kjøre installasjonskommandoen for Composer Assets plugin.
Åpne kommandoprompten på Windows og naviger til hvor PHP-mappen din er plassert. På denne installasjonen ligger PHP i katalogen wamp64 \ bin \ og det er PHP versjon 7.0.10, så vi skriver:
cd \ wamp64 \ bin \ php \ php7.0.10
Skriv deretter følgende kommando:
komponist globalt krever "fxp / composer-asset-plugin: ^ 1.3.1"
Husk at programvareendringer, så sørg alltid for at du jobber med den nyeste stabile versjonen. Vær forsiktig med betas fordi hvis du kommer for langt ut på blødningskanten, kan ting begynne å bryte.
For de nyeste versjonene av Composer og Composer Asset Plugin:
La oss nå konfigurere WAMP for Yii. Endre katalogen til WAMP-installasjonen \ www for denne installasjonen:
cd \ wamp64 \ www
I denne katalogen vil vi opprette en ny katalog med navnet Yii Basic ved å skrive:
mkdir yii-basic
Det er her vi skal installere Yii Basic. Du kan hoppe over dette trinnet og installere Yii rett inn i www-katalogen, men å lage en tydelig navngitt katalog unngår forvirring, spesielt hvis du planlegger å installere både Yii Basic og Yii avanserte maler.
I den nye yii-grunnleggende katalogen kjører vi følgende kommando for å installere Yii Basic Template:
komponentskap-prosjekt --prefer-dist --stability = dev yiisoft / yii2-app-basic yii-basic
Vi kan bekrefte Yii ved å navigere til mappen "Grunnleggende" i katalogen du opprettet:
cd \ wamp64 \ bin \ www \
Nå skriver vi inn kommandoen:
PHP yii servere
Dette vil starte opp Yii ved hjelp av WAMPs PHP-motor.
Hvis du vil tilpasse de lokale nettleseradressene til nettstedet ditt, eller referere tydelig til forsiden og baksiden av Yii-Advanced-nettstedet, må du gjøre litt mer.
Enten ved hjelp av tekstredigeringsprogrammet Åpen fil dropdown eller ved å navigere direkte i Windows Explorer, gå til filen:
C: \ Windows \ system32 \ drivers \ etc \ hosts
Vi leter etter delen som leser:
# localhost navnoppløsning håndteres i selve DNS. 127.0.0.1 localhost
I forberedelse til Yii-Advanceds flere nettsteder, la oss legge til en for frontend og en for backend:
127.0.0.1 frontend.dev 127.0.0.1 backend.dev
Det vil se slik ut:
Du finner mer om å finne og sette opp Windows Host-filen her.
Det er en god ide å kontrollere at virtuelle verter er aktivert i Apache httpd.conf filen.
Vær svært forsiktig når du redigerer httpd.conf-filen - lag en kopi før du starter, og vær sikker på at du forstår hva du gjør før du gjør endringer, ellers kan du enkelt ødelegge WAMP-serveren din. [Jeff her, høres ut som Rod snakker av erfaring.]
For å finne httpd.conf, skriv:
cd \ wamp64 \ bin \ apache \ apache2.4.23 \ conf
Jeg liker denne veiledningen for en mer detaljert forklaring på redigering av httpd.conf for å aktivere funksjoner knyttet til virtuelle verter i Apache og konfigurere virtuelle verter på WAMP.
Vi må nå konfigurere Apache Virtual Hosts. Ved hjelp av vår tekstredigeringsmeny eller Windows Utforsker, navigerer vi til følgende katalog:
C: Wamp64 \ bin \ apache \ apache2.4.23 \ conf \ ekstra \ httpd-vhosts.conf
Det bør allerede være en virtuell vert for localhost, så nå må vi legge til virtuelle verter for Yii frontend og Yii backend. Jeg anbefaler at du skriver navnet over hver virtuell vert for å unngå forvirring. (Ikke glem å kommentere navnet!)
dvs. #Frontend
Virtual Host-konfigurasjonsfilen skal se slik ut.
I dette eksemplet installerte vi Yii Advanced i c: / wamp64 / www / Yii avanserte
og opprettet et program som heter yii-applikasjon. Det er også greit å installere Yii i www, slik at banen din kan lese mer enkelt c: / wamp64 / www / myapp / frontend / web.
Vær oppmerksom på Document
og Directory
linjer. De må begge inneholde den komplette banen til Yii-applikasjonsmappen helt til "web" -filen som ligger i henholdsvis frontend- og backend-katalogene. Innholdet i DocumentRoot og Directory er identisk bortsett fra at banen for Directory er inneholdt i anførselstegn.
For å installere Yii-avansert maler, la oss gå tilbake til wamp64 \ www-katalogen:
cd \ wamp64 \ www
Nå skal vi opprette en ny katalog med navnet yii-advanced:
mkdir yii-avansert
I den nye katalogen kjører vi følgende kommando, som installerer Yii Advanced-malen:
komponentskap-prosjekt - prefer-dist yiisoft / yii2-app-avansert yii-applikasjon
Så langt har installasjonen av Yii Basic og Yii Advanced vært den samme. Nå må vi legge til noen få trinn for å få din Yii Advanced Template klar for handling.
Forutsatt at PHPmyAdmin er installert på WAMP-serveren din (det følger med MAMP), kan du faktisk opprette databasen via PHPmyAdmin GUI, men vi kommer til å ta hånd om og bruke SQL-kommandolinjen, som ærlig talt ikke tar mye mer innsats.
I kommandolinjen Windows, naviger til MySQL-mappen ved å skrive:
cd \ wamp64 \ www \ bin \ mysql \ mysql5.7.14 \ bin
Du kan også gjøre dette fra hvor som helst så lenge WAMP eller MAMP er i din lokale miljøbane.
Deretter skriver du for både Mac og Windows:
mysql -u rot-p
Dette vil bringe oss til kommandolinjen mysql. Nå skal vi utføre følgende kommando i SQL:
opprett database yii2test;
(Du kan navngi databasen uansett hva du vil, forutsatt at du sørger for at du bruker riktig navn gjennom resten av prosessen.)
Nå skal vi opprette et brukernavn og passord for denne databasen ved å skrive følgende SQL-kommandoer:
Gi alt på yiit2est. * TIL 'ditt brukernavn' @ 'localhost' IDENTIFISERT MED 'your_chosen_password'; FLUSH PRIVILEGES; EXIT;
Du vil nå forlate MySQL og bli returnert til konsoll kommandolinjen.
Hold databasens brukernavn og passord tilgjengelig, da vi trenger det for å konfigurere PHP-konfigurasjonsfilen (common / config / main-local.php), som gjør at Yii kan kommunisere trygt med MySQL.
Dette er unødvendig for Yii-grunnleggende installasjoner.
For å initialisere Yii avansert, må vi navigere til Yii-Advanced-applikasjonsmappen. I dette tilfellet ville det være:
cd \ wamp64 \ www \ yii-advanced \
Skriv deretter inn i det
:
Dette vil starte initialiseringsskriptet som vil spørre om du vil initialisere Yii for et utviklings- eller produksjonsmiljø; mest sannsynlig vil det se slik ut:
Hvilket miljø vil du at programmet skal initialiseres i? [0] Utvikling [1] Produksjon
I denne veiledningen vil vi jobbe i et utviklingsmiljø, så skriv inn 0 og trykk enter, og skriv deretter "ja" (uten anførselstegn) når du blir bedt om det, og initialiseringen vil fullføre.
Vi er nesten ferdige - alt som gjenstår nå er noen konfigurasjonstrinn, og du kan komme til jobbprogrammering med Yii.
For Yii-basic, vil du redigere /yii-basic/config/db.ini
. For, Yii-avansert, vil du redigere /yii-advanced/common/config/main-local.php
.
For å redigere denne filen må vi bruke en tekstredigerer. Atom er et godt valg som vil tjene deg godt når du går inn i mer avansert koding.
For å åpne konfigurasjonsfilen, bruk enten Åpen fil dropdown i tekstredigereren eller naviger direkte til config filen ved hjelp av Windows Utforsker og høyreklikk Åpne med og velg tekstredigeringsprogrammet. (I Windows må du kanskje kjøre tekstredigeringsprogram som admin.)
Følgende eksempel fra installasjonen vi bruker i dag illustrerer denne prosessen. Husk at du kanskje bruker en annen stasjonsbetegnelse og har en litt annen vei, avhengig av hva du kalt mappene dine.
Konfigureringsfilen bør se slik ut:
Husk å skrive inn det samme brukernavnet og passordet du brukte til å konfigurere Yii MySQL-databasen, ellers vil Yii og MySQL ikke spille fint!
Og vær så snill å ikke tenke på å bruke databasens root brukernavn og passord i config-filen! [Jeff her ... virkelig, ikke.]
Yii Advanced har egne migrasjoner. Nå som MySQL er satt opp, trenger vi noen tabeller. Yii-migrasjonene oppretter tabeller og skjemaer i MySQL-databasen programmatisk.
For å starte Yii-migreringsverktøyet i Windows, må vi gå til vår Yii-installasjonskatalog ved å skrive:
cd \ wamp64 \ www \ yii-advanced \ yii-søknad
Igjen kan du velge å installere den uten foreldrekatalogen som Rod opprettet for denne demoen. For eksempel, for MAMP, bruker jeg:
$ cd ~ / sites / yii-advanced
Skriv inn følgende kommando:
yii migrere
I et øyeblikk vil du bli spurt om du vil "Bruk overføringen ovenfor?"
Type Ja
og slå tilbake. Hvis alt går bra, får vi en melding om at Yii migrert med suksess.
Nå for sannhetens øyeblikk. Når du besøker localhost: 8888
i nettleseren din bør du se:
For Yii Advanced, må du kanskje prøve frontend.dev
eller inkludere frontend eller baksiden, f.eks. localhost: 8888 / frontend
. Hvis du ikke aktiverer vertsfilen din, kan du få tilgang til Yii direkte via banen, localhost: 8888 / web
.
Hvis du installerte den avanserte malen, går du til Melde deg på lenke og skriv inn et brukernavn, e-postadressen du vil bruke, og et passord.
Ikke bruk MySQL-passordet (det du skrev inn i PHP-konfigurasjonsfilen). Dette er Yii-brukerkonto-databasen med nye brukernavn og passord.
Din første brukerregistrering vil også være Yii-programmets administrative bruker med tilgang til alt.
Nå som du er registrert, skriv inn i nettleseren:
backend.dev
Du bør få en admin påloggingsskjerm hvor du kan skrive inn ditt nye brukernavn og passord:
Dette vil ta deg rett tilbake til ovennevnte Yii "Gratulerer
"Siden, men som en godkjent bruker.
Nå med alle gratulasjonene gå, hvorfor ikke gratulere deg selv som du nettopp har installert Yii. Bra gjort. [Jeff her, hvis du gjorde dette på Windows, må du kjøpe en Mac og prøve den der.]
Jeg håper vår veiledning i dag hjelper deg med å komme i gang med Yii. Rod og jeg likte å skrive dette sammen.
Se etter kommende opplæringsprogrammer i Programmering med Yii2-serien når vi fortsetter å dykke inn i ulike aspekter av rammen. Husk å sjekke ut vårt Bygg din oppstart med PHP-serien som bruker Yii2s avanserte mal når vi bygger en applikasjon i verden..
Slik programmerer du med Yii's Getting Started-episode, er det en god jobb å gå i detalj om å sette opp Yii basic og en produksjon Linux-server.
Hvis du vil vite når neste Yii2 opplæring kommer, følg meg @ reifman på Twitter eller sjekk min instruktørside. Min instruktørside vil inkludere alle artiklene fra denne serien så snart de er publisert.