>> Du husker kanskje fra siste gang at vi så
på dette siste eksempel på MVC,
en modell vise kontrolleren arkitektur,
og det ganske mye kokt
ned for å organisere ting litt mer renslig
i kataloger.
Og hvis jeg gjør treet, som er bare en kommando
som viser meg filsystemet som dette, hadde vi en fin
og ryddig maler katalog, en offentlig katalog, og så videre.
Og den generelle ideen ble bare satt
i offentlig katalog filene som virkelig trenger
å være offentlig, og alt annet bør være pent organisert.
Men effektivt, innsiden av dette offentlig katalog vi hadde alle
hel haug med kontrollerne, individuelle styr
som liksom nødvendig eller inkludert andre filer.
Men vi egentlig ikke gjorde så mye mer funksjonalitet enn det,
og, faktisk, vi måtte slags implementere denne oppfatningen av synspunkter,
eller maler, oss selv, med avtrekksfunksjon
og en render funksjon som vi implementert oss selv.
Og som det er vi begynne å gjøre dette, vil vi begynne å innse -
vi kommer til å begynne å bygge opp en ønskeliste, som, oh, wow,
Jeg skulle ønske jeg hadde et bibliotek for å sende e-poster.
Jeg skulle ønske jeg hadde et bibliotek for å opprette en database.
Jeg skulle ønske jeg har bibliotek for dot dot dot.
Og det er derfor disse bibliotekene eksisterer.
Dette er grunnen til at folk bruker Django med Python,
fordi det bare gir deg mer.
Det er grunnen til at folk bruker Skinner med Ruby
fordi det bare gir deg mer.
Det er derfor vi vil bruke Laravel fordi på toppen av PHP,
det bare gir deg mer.
Og bare for å lære deg, da, for en stund, kommer jeg til å gå
i en v-host katalog
til en prøve søknad hjelp Laravel.
Ved første øyekast, ærlig, det er trolig litt overveldende
fordi det er så mange filer, så mange kataloger,
men det viktigste, og som vi får se etter en rask pause,
er å fokusere bare på de mest germane ting
til å få unnagjort litt arbeid i utgangspunktet, og det kommer
å være i apt katalogen.
Som du vil se og høre, det er fortsatt en haug med mapper,
men de på kommer til å bry seg om, først og fremst, er dette.
Hvis jeg åpner opp rute stopp PHP, varsel som en teaser,
hvordan dette programmet er i ferd med å jobbe.
Dette er en reimplementation i Laravel
av super enkel dum kurs program
som ga meg uke null, uke en, forelesninger og PDF-filer.
Jeg rett og slett kommer til å spesifisere - skjermen min er litt avskåret,
igjen - Jeg kommer til å angir følgende,
at jeg ønsker å definere en rute ved hjelp av HTTP get for skråstrek,
og når en bruker for dette applikasjons besøk slash
på min hjemmeside, jeg ønsker å utføre den anonyme mengde koder,
nemlig tilbake view kolon make.
Så dette betyr at samtalen en statiske metoden inne
av en klasse som kalles visning, og make gjengir en mal
som kalles indeks, og den går i en haug
av sentrale verdi-par, i dette tilfelle tittelen.
I mellomtiden, hvis brukeren besøk slash forelesninger,
denne koden skal utføre,
og forelesninger mal bør bli gjengitt.
Til slutt, hvis brukeren besøker forelesninger slash noe,
der at noe er, per bunnen her, et tall,
en eller flere desimalsifre,
så jeg ønsker å gjengi forelesningene mal,
bestått i tittelen i tillegg.
Så sluttresultatet er at -
hvis jeg faktisk trekke opp denne søknad i nettleseren min,
sluttresultatet - Uff da.
Sluttresultatet er nøyaktig den samme,
riktignok med litt mer sexy webadresser nå.
Nå er det et foredrag slash 0 i stedet for uke null dot PHP.
Men, la oss stoppe her.
La oss ta en to-minutters brekke, og når vi kommer tilbake,
Tim kommer til å komme på opp og introdusere oss
til den interne driften av Laravel og hva slags
av funksjonalitet vi er i ferd med å komme ut av boksen.
>> Ok, så nå er vi kommer til å ta et dypere dykk
inn i Laravel PHP rammeverk, som David nevnt.
Så Laravel, den første plassen vi kommer til å starte kommer
til rask start
og installere det via noe som kalles Composer.
Så Komponist er en pakkesystem
for PHP lik edelstener for Ruby eller Pit
for Python eller MPM for Nei JS.
Komponist bidrar til å administrere alle de forskjellige avhengig
at Laravel avhenger av når - Liksom, under panseret.
Den bruker mye av symfonien,
en annen PHP rammeverk er indre arbeid.
Og, ja, vi skal å bruke kommandolinja
at de gir oss her, Komponist lage prosjekt Laravel Laravel,
etter at vi har installert Komponist verktøyet,
som jeg allerede har gjort på - la oss se.
Så jeg bruker CS 50 apparatet
fordi dette har alle PHP versjoner og min SQL
og alt som vi trenger å komme i gang å kjøre.
Så jeg kommer til å gå videre og trekke opp terminalen her
og hoppe i v-host katalog, og jeg kommer
for å lime dette - oh, jeg kan ikke gjøre det på den måten.
Så jeg kommer til SSH til Linux forekomst
at jeg kjører i VMWare.
Og jeg kommer til å kjøre denne Komponist opprette prosjektet Laravel,
og jeg kommer til å endre prosjektnavn
å bare eksempel dot dev.
Og bak kulissene,
Dette tar en liten stund første gang du kommer
å gjøre det, men det er installere alle avhengig
at du kommer til å trenger å kjøre Laravel.
Så forhåpentligvis dette gjør ikke ta for lang tid.
Det bør bare ta et sekund.
Den første gangen du gjør det, det vil ta noen få minutter,
sannsynligvis fordi det trenger å få alt.
Jeg har alt lagret her.
Så nå som vi har eksempel prikk dev, hva vi kommer til å trenge
å gjøre for å kunne få tilgang til dette
i vår Chrome nettleser er gå videre og hoppe i til -
vi kommer til pseudo via Etsy hosts-filen.
Og vi kommer til å gå videre og legge til en ny linje her med IP
av 50 apparatet, som er vist her
i nederste høyre hjørne av skjermen, det 192 168 -
og dette kan være forskjellig avhengig av maskinen din,
så 192 168 69 128 [lyd bryte] eksempel prosjektet dot dev.
Ok. Lagre som.
Så nå, hvis vi går til eksempel dot dev, ser vi - la oss se.
Å, var jeg i feil katalog, så la meg gå videre
og flytte eksempel dot dev inn i v-host katalog.
Og nå hvis vi oppdatere det, vi se at det står forbudt.
Du har ikke tilgang.
Så vi trenger å gå inn i eksempel dot dev-katalogen
i V-vert, og vi trenger å chmod den til 0711, et eksempel dot dev,
så vel som det offentlige - oh, Jeg gjorde det galt begge ganger.
Så eksempelet dot dev, som vel som offentlig katalog
som er under den, slik at den er i stand
å komme til indeks dot PHP.
Og nå, hvis vi oppdatere - oh, vi fortsatt har problemer.
Så inne i eksemplet offentlig katalog,
hvis vi liste opp alle filene, inkludert de skjulte seg,
det er en HD-tilgang fil, og dette brukes av Apache
å bidra til å avgjøre, for dette bestemt katalog,
hvor forespørsler skal rutes.
Så dette må også være CHMODet til 0644, og nå har du kommet.
Så det var den rask installasjon av Laravel via kommandolinjen.
Så la oss gå videre, og jeg kommer å bruke noe som heter Samba.
Hvis du ikke er kjent med det, du kan - fra Finder-menyen,
gå å gå og koble til server, og du kan gå videre
og gjøre SMB kolon skråstrek slash og IP-adressen
av Linux eksempel at vi er kjører i VMWare og gå videre
og koble til serveren slik at du kan montere den
som filsystem og bruke den
som om du var lokalt koblet til den.
Så jeg kommer til å gå fremover og trekke dette
inn i et redigeringsprogram som heter sublime tekst.
Hvis du ikke er kjent, det er en veldig fin redaktør
som er tilgjengelig å redigere kodefiler.
Og så skal vi å ta en titt
på katalogen struktur for prosjektet.
Så det er noen annen mapper i det øverste nivået.
Det er app, som David har nevnt allerede.
Det er bootstrap, som er noen filer som brukes internt
av Laravel å bootstrap alle avhengigheter, legger du dem alle i,
sørge for at alle magi metoder kalles ordentlig
å være i stand til [audio pause].
Det er offentlig katalogen, som er der alle
av våre offentlig-vendte eiendeler, slik som indeksen dot PHP
hvor forespørsler rutes, bilder, CSS-filer, Javascript,
noe som må være direkte tilgjengelig
av verden lever i den offentlige katalogen.
Og da leverandøren katalogen er alle eiendeler -
eller alle de [audio pause] under panseret som gjør mye
av de tunge løftene at Laravel avhengig av.
Så typisk, i et offentlig katalog, er denne typen
av hva du vil se, CSS, Javascript,
disse filene er ikke der når du installere rammen,
men de er ting som vil du sannsynligvis ønske å legge
som du bygger ut dine applikasjoner.
Den HD-Access-fil som jeg nevnt og indeksen dot PHP,
som er den fremre kontrolleren for -
hvor alle forespørsler gå gjennom først.
Så inne i søknaden mappen, disse er -
det er faktisk et par -
det er faktisk noen forskjellige mapper her.
Det er mange av dem, og som David nevnt,
Det kan være overveldende i starten, men du bare ønsker å konsentrere
på disse spesifikt.
Så det er rutene dot PHP, som er hva vi så tidligere
å vise at du kan rute en spesifikke URL og HTP-metoden
til en viss enten anonymt funksjon, som David var med,
eller en regulator, som vi er i ferd med å gå over.
Det er CONFIG mappen,
som er der du satt noen programkonfigurasjonsfil
at du trenger, for eksempel databaseinnstillinger eller noen APIer
at du kan være med å gjøre.
Hvis du bruker noe å sende e-post
eller hvis du kobler til Amazon for å lagre bilder,
du ville sette alle disse konfigurasjonene
i et sentralt punkt i den applikasjon slik at -
slags konvensjoner som alle, som de jobber
på et lag, trenger du ikke å tenke på hvor dette er.
Det er bare du har en satt sted hvor det går.
Det ville være i konfig.
Kontrollere er den plasser i søknaden
der du vanligvis rute forespørsler.
Så kontrolleren håndterer en mye av programmet logikken
og liksom plukker hva visning på skjermen kommer
å være, utsikten, og da også skjell
ut til de ulike modellene som inneholder dataene
og passerer dem til visningen.
Så du liksom - kontrolleren er liksom sentralen
til forespørslene, vet du, hva du skal gjøre
med data - eller - avhengig av forespørselen,
hvilke data som skal vises og hvor får vi det fra.
Og utsikten er vanligvis bare HTML,
kanskje ved hjelp av en templat Motoren, som vi kommer til å gå
over med Blade templating motor som Laravel skip med.
Og så de andre kataloger for akkurat nå, er vi bare kommer
å slags glans over og ikke bekymre seg for.
Men de har tester, så enhet test frie programmer,
filtre, lagring.
Jeg fortsetter å gjøre dette.
Greit, hopping tilbake over her.
Så det første at det kommer med er denne ruten får
og det gjør utsikten gjør hei.
Så hvis vi ser på visningene katalogen,
vi ser at det er et hei dot PHP,
og det er der dette du har kommet kommer fra.
Men vi kan også endre dette til -
I så fall kan vi endre dette til hei, og nå, hvis vi prøver å gå
til en rute som ikke er definert vi får denne typen stack skuffer
om hva som gikk galt med søknaden.
Men hvis vi går slash hello,
det er faktisk en intern serverfeil.
Så det er en liten bit av Magien skjer bak kulissene
i CS 50 apparatet til sørg for at du er i stand
å nevne alle disse kataloger beleilig.
Navnet på den - så det eksempel dot dev at vi ga.
Så vi faktisk har til endre én ting til
i HD tilgang fil.
Så vi kommer til å gå videre
og legge til denne linjen, omskrive grunnstrek.
Og som i utgangspunktet er et annet direktiv.
David, kan du snakke mer til hva omskrive basen gjør.
>> Det korrigerer hovedsak mer hva serveren tenker.
Det er ment å være [Uhørbart] virtuell vert.
Så spesifisere å ignorere at ved omskrive basis slash adresser.
>> Høyre. Så nå, slash hallo fungerer ordentlig.
Så la oss hoppe tilbake over her.
Så sammen med bare å gjøre en anonym funksjon som dette,
det er - så dette er bare en oppsummering
av MVC jeg var bare diskuterer.
Det går inn i rutene og deretter skjell ut kontrollerne,
som omhandler modeller og synspunkter og hvordan alle
som bør behandles med.
Så kontrollere er liksom - bidra til å sentralisere alle som,
og du får tilgang til dem via ruter ved å si rute får.
Så vi kan si rute får hello,
og kontrolleren navnet på og en metode navn.
Så la oss gå videre og gi det en sjanse.
Så vi vil si rute få slash hallo,
og vi vil gjøre en god dag controller på utstilling hallo.
Så for at dette skal fungere,
vi trenger å legge en fil som heter hallo kontrolleren dot PHP.
Jeg skal gå videre og - så det strekker en grunnkontrolleren,
som Laravel allerede skip med,
som strekker seg en kontroller, som er liksom under panseret
og gjør mye av den ting bak kulissene
som bidrar til å kontrollere å administrere alt dette staten
som kommer inn søknaden.
Så hjemmet kontrolleren, vi sa det ville bli kalt showet hallo.
Og vi vil bare - i stedet for å returnere en visning,
vi vil bare gå tilbake hello world.
Å, hallo - oh, kopierte jeg det.
Hei kontrolleren.
Så hello world.
Så det er bare en veldig, virkelig enkelt eksempel
av hvordan du kan lage kontrollerne.