>> Jy kan onthou uit laaste keer dat ons gekyk
in hierdie laaste voorbeeld van MVC,
'n model oog kontroleerder argitektuur,
en dit redelik baie gekook
af te organiseer dinge 'n bietjie meer skoon
in dopgehou.
En as ek doen boom wat net 'n bevel
wat wys my die lêer stelsel soos hierdie, ons het 'n lekker
en netjies templates, 'n openbare gids, en so meer.
En die algemene idee is net nog '
in die openbare gids die lêers wat dit regtig nodig
te openbaar, en alles wees anders moet mooi georganiseer word.
Maar effektief, binne hierdie openbare gids het ons al
hele klomp van die leiers, individuele leiers
wat een of ander manier nodig of ingesluit ander lêers.
Maar ons het regtig nie veel kry meer funksionaliteit as dit,
en, in werklikheid, is ons soort moes implementeer hierdie idee van standpunte,
of templates, onsself, met die uittreksel funksie
en 'n lewer funksie wat ons geïmplementeer onsself.
En as dit is wat ons begin doen , sal ons begin om te besef -
ons sal begin om te bou aan 'n wens lys, soos, ag, wow,
Ek wens ek het 'n biblioteek vir die stuur van e-pos.
Ek wens ek het 'n biblioteek vir die skep van 'n databasis.
Ek wens ek het biblioteek vir dot dot dot.
En dit is die rede waarom hierdie biblioteke bestaan ​​nie.
Dit is die rede waarom mense gebruik Django met Python,
omdat dit net gee jou meer.
Dit is die rede waarom mense gebruik Spore met Ruby
omdat dit net gee jou meer.
Dit is hoekom ons sal gebruik Laravel want op die top van PHP,
is dit net gee jou meer.
En net om julle te leer, dan, vir 'n oomblik, ek gaan om te gaan
in 'n V-gasheer gids
in 'n monster aansoek gebruik Laravel.
Met die eerste oogopslag, eerlik, dit is waarskynlik 'n bietjie oorweldigend
want daar is so baie lêers, so baie dopgehou,
Maar die belangrikste ding, en as ons sal sien na 'n vinnige breek,
is om net te fokus op die mees related dinge
te kry werk gedoen aanvanklik, en wat gaan
te wees in die gepaste gids.
As jy sien en hoor, is daar is nog steeds 'n klomp van die dopgehou,
Maar die kinders aan die gang is om te sorg oor, veral, is hierdie.
As ek oop roete stop PHP, kennisgewing as 'n teaser,
Hoe om die aansoekvorm is om te werk nie.
Dit is 'n herimplementatie in Laravel
van die super eenvoudige dom natuurlik aansoek
dat my gegee week nul week een, lesings, en die PDFs.
Ek is net gaan om te spesifiseer - my skerm is 'n bietjie afgesny is,
weer - ek gaan spesifiseer die volgende
dat ek wil 'n roete te definieer met behulp van HTTP kry vir die streep
en wanneer 'n gebruiker vir hierdie aansoek besoeke streep
op my webwerf, ek wil uit te voer die anonieme stuk kode,
naamlik opbrengs siening kolon neem.
So dit beteken oproep 'n statiese metode binnekant
van 'n klas met die naam oog, en maak 'n sjabloon maak
wat-indeks genoem word, en dit in 'n klomp verby
van die belangrikste waarde pare, In hierdie geval, die titel.
Intussen, as die gebruiker besoeke streep lesings,
hierdie kode moet voer,
en die lesings sjabloon moet gelewer raak.
Ten slotte, as die gebruiker besoeke lesings streep iets,
waar dat daar iets is, per die onderste hier, 'n nommer,
een of meer desimale syfers,
Dan wil ek lewer Die lesings patroon,
verby in die titel as well.
So het die eindresultaat is dat -
As ek eintlik trek hierdie aansoek in my leser,
die eindresultaat - Oeps.
Die eindresultaat is presies dieselfde,
al is dit met 'n bietjie sexier URLs nou.
Nou is dit 'n lesing streep 0 in plaas van die week nul dot PHP.
Maar, laat ons breek hier.
Kom ons neem 'n twee-minuut breek, en wanneer ons terug kom,
Tim gaan kom op en stel ons
om die innerlike werking van Laravel en die soort
van die funksies wat ons is oor te kry uit die boks.
>> Alle reg, so, nou is ons gaan wees om 'n dieper duik
in die Laravel PHP raamwerk wat Dawid genoem.
So Laravel, die eerste plek ons gaan begin gaan
die vinnige begin
en die installering van dit via iets genoem komponis.
So Komponis is 'n pakket bestuur stelsel
vir PHP soortgelyk aan juwele vir Ruby of put
vir Python of MPM vir No JS.
Komponis help al te bestuur die verskillende afhanklikhede
dat Laravel hang af van wanneer - Soort van, onder die enjinkap.
Dit maak gebruik van 'n baie van die simfonie,
'n ander PHP raamwerk se innerlike werking.
En so gaan ons die instruksies te gebruik
dat hulle vir ons hier, komponis skep projek Laravel Laravel,
nadat ons het geïnstalleer Die komponis nut,
wat ek reeds gedoen op die - laat ons sien.
So ek gebruik die CS 50 toestel
want dit het die hele PHP weergawes en my SQL
en alles wat ons nodig het om te begin hardloop.
So ek gaan om voort te gaan en trek die terminale hier
en spring in die V-host gids, en ek gaan
om dit te plak - o, ek kan dit nie doen dit so.
So ek gaan SSH na die Linux byvoorbeeld
dat Ek hardloop in die VMWare.
En ek gaan om dit uit te voer Komponis skep projek Laravel,
en ek gaan verander jou projek naam
om net byvoorbeeld dot dev.
En agter die skerms,
dit neem 'n rukkie die eerste keer dat jy gaan
om dit te doen, maar dit is installering van al die afhanklikes
wat jy gaan nodig Laravel te voer.
So hopelik dit doen nie te lank neem.
Dit moet net 'n sekonde.
Die eerste keer dat jy dit doen, dit sal neem om 'n paar minute,
waarskynlik nie, want dit nodig om alles te kry.
Ek het dit al hier die kas.
So nou dat ons byvoorbeeld dot dev, wat ons gaan nodig
te doen om in staat wees om dit te bekom
in ons Chrome leser is gaan voort en spring in om -
ons gaan pseudo via die hosts lêer Etsy.
En ons gaan om voort te gaan en voeg 'n nuwe lyn hier met die IP
van die 50 toestel, wat hier getoon
in die onderste regterhoek van die skerm, die 192 168 -
en dit kan anders wees afhangende van jou masjien,
so 192 168 69 128 [klank breek] projek voorbeeld dot dev.
Goed. Behalwe dat.
So, nou, as ons na byvoorbeeld dot dev, sien ons die - laat ons sien.
Ag, was ek in die verkeerde gids, so laat my gaan voort
en skuif die voorbeeld dot dev in die V-gasheer gids.
En nou as ons dit verfris, ons sien dat dit sê verbode.
Jy het nie toegang.
So het ons nodig het om te gaan in die Byvoorbeeld dot dev gids
in V-gasheer, en ons moet chmod dit tot en met 0711, die voorbeeld dot dev,
sowel as die publiek - O, Ek het wat verkeerd twee keer.
So het die voorbeeld dot dev, soos sowel as die openbare gids
wat onder dit, sodat dit in staat is om
te kry om die indeks dot PHP.
En nou, as ons verfris - O, ons is nog steeds probleme.
So in die voorbeeld openbare gids,
As ons die lys van al die lêers, insluitend die verborge kinders,
daar is 'n HD toegang lêer, en dit is wat gebruik word deur Apache
om te help bepaal, vir hierdie spesifieke gids,
waar versoeke moet aangestuur word.
So dit moet ook chmoded word te 0644, en nou het jy aangekom het.
So dit was die vinnige installeer van Laravel via die command.
So laat ons gaan voort, en ek gaan iets genoem Samba te gebruik.
As jy nie vertroud is met dit, jy kan - van die Well menu,
gaan om te gaan en te sluit op bediener, en jy kan voortgaan
en doen SMB kolon streep streep en die IP-adres
van die Linux byvoorbeeld dat ons hardloop in VMWare en gaan voort
en aan die bediener koppel sodat jy dit kan berg
as die lêer stelsel en gebruik dit
asof jy plaaslik was verbind om dit te.
So ek gaan om te gaan voor en trek dit
in 'n redakteur genoem verhewe teks.
As jy nie vertroud is, is dit is 'n baie mooi redakteur
wat beskikbaar is kode lêers te wysig.
En so gaan ons 'n blik te neem
by die Gids struktuur vir die projek.
So is daar 'n paar verskillende dopgehou in die top-vlak.
Daar is artikels wat David reeds genoem.
Daar is bootstrap, wat sommige lêers intern gebruik
deur Laravel opstart al die afhanklikes, laai hulle almal in,
maak seker dat al die magic metodes behoorlik genoem
staat te wees om [klank break].
Daar is om die publiek gids, waar al
van ons openbare front bates, soos die indeks dot PHP
waar versoeke verslaan, beelde, CSS lêers, JavaScript,
enigiets wat nodig het om te wees direk toeganklik
deur die wêreld leef in die openbare gids.
En dan is die verkoper gids is al die bates -
of al die [klank break] onder die enjinkap wat nie 'n baie
van die swaar werk dat Laravel hang af.
So tipies, in 'n openbare Gids hierdie is 'n soort
van wat jy wil sien, die CSS, JavaScript,
die lêers is nie daar toe jy die raamwerk te installeer,
maar die dinge wat jy sal waarskynlik wil hê om by te voeg
as jy die bou van uit jou programme.
Die HD toegang lêer dat ek genoem en die indeks dot PHP,
wat is die voorste kontroles vir die -
waar al die versoeke gaan deur aanvanklik.
So in die aansoek gids, dit is -
daar is eintlik 'n paar -
daar is eintlik 'n paar verskillende dopgehou hier.
Daar is 'n baie van hulle, En toe Dawid genoem,
dit kan oorweldigend wees op die eerste, maar jy wil net om te konsentreer
oor hierdie spesifiek.
So is daar die roetes dot PHP, en dit is wat ons vroeër gesien het
om te wys dat jy kan 'n roete spesifieke URL en HTP metode
tot 'n sekere óf anoniem funksie, soos Dawid was die gebruik,
of 'n Kontroleur, wat ons is oor om oor te gaan.
Daar is die config gids,
en dit is waar jy 'n aansoek opset
wat jy nodig het, soos databasis instellings of enige APIs
wat jy kan doen met '.
As jy met iets pos te stuur
of as jy is verbind Amazon beelde op te slaan,
jy het al van diegene konfigurasies
in 'n sentrale punt in die aansoek sodat -
soort van konvensies wat Elkeen, as hulle werk
op 'n span, het jy nie hoef te dink oor waar is dit.
Dit is net jy het 'n stel plek waar dit gaan.
Dit sou wees in Config.
Controllers is die plaas in die aansoek
waar jy gewoonlik roete versoeke.
So die kontroles hanteer 'n Baie van die aansoek logika
en soort optel wat die vertoning van die skerm gaan
te wees, die uitsig, en dan ook doppe
uit na die verskillende modelle wat die inligting bevat
en slaag diegene aan die oog.
So jy soort van - die kontroles is 'n soort van die dispatcher
vir die versoeke, jy weet, wat jy gaan om te doen
met die data - of met - afhangende van die aanvraag is,
wat data vertoon moet word en waar kry ons dit uit.
En die uitsig is tipies net HTML,
Miskien gebruik van 'n template enjin, as ons gaan om te gaan
oor die Blade template enjin wat Laravel skepe met.
En dan die ander dopgehou vir nou, ons is maar net gaan
om soort van glans oor en nie bekommerd wees oor.
Maar diegene sluit in toetse, so eenheid toets vrye programme,
filters, stoor.
Ek hou om dit te doen.
Alle reg, spring weer hier verby.
Dus is die eerste ding wat dit kom met is hierdie roete te kry
en dit laat dink Hello.
So as ons kyk in die menings gids,
ons sien dat daar is 'n hallo dot PHP,
en dit is waar dit wat jy aangekom het vandaan kom.
Maar ons kan ook verander om dit te -
so, kan ons dit verander na hallo, en nou, as ons probeer om te gaan
om 'n roete wat nie gedefinieer kry ons hierdie soort van stapel bak
oor wat verkeerd geloop het met die aansoek.
Maar as ons gaan streep hallo,
daar is eintlik 'n interne bediener fout.
So is daar 'n bietjie van die magie gaan agter die skerms
in die CS 50 toestel te maak seker dat jy in staat is om
al hierdie te noem dopgehou gerieflik.
Die naam van die - so die Byvoorbeeld dot dev dat ons gegee het.
So het ons eintlik moet verander een ding
in die HD toegang lêer.
So ons gaan om voort te gaan
en voeg hierdie lyn, herskryf basis streep.
En wat basies is 'n ander richtlijn.
David, kan jy meer te praat wat die herskryf basis doen.
>> Dit reggemaak wese meer wat die bediener dink.
Dit is veronderstel om te wees [Onhoorbaar] virtuele gasheer.
So spesifiseer dat te ignoreer deur herskryf basis streep adresse.
>> Right. So, nou, streep hallo werk behoorlik.
So laat ons spring terug hier.
So saam met net besig met 'n anonieme funksie soos hierdie,
daar is - so dit is net 'n herhaling
van die MVC ek was net bespreek.
Dit gaan in die roetes en dan doppe uit die leiers,
wat handel oor die modelle en menings en hoe al
wat hanteer moet word.
So controllers is soort van - help om al daardie te sentraliseer,
en jy kan toegang tot hulle via roetes deur te sê roete kry.
So kan ons sê roete kry hallo,
en dan sal die kontroles Noem ten en 'n metode se naam.
So laat ons gaan voort en gee dat 'n skoot.
So sal ons sê roete kry streep hallo,
en ons sal 'n hallo doen kontroleerder by show hallo.
So ten einde vir hierdie om te werk,
Ons moet 'n lêer genaamd by te voeg hallo kontroleerder dot PHP.
Ek sal voort te gaan en - so dit strek 'n basis kontroleerder,
wat Laravel reeds skepe met,
wat strek 'n kontroleerder, wat is 'n soort van onder die enjinkap
en doen 'n groot deel van die dinge agter die skerms
wat help controllers al hierdie toestand te bestuur
wat kom in die aansoek.
So het die huis kontroleerder, het ons gesê dit sou genoem word show hallo.
En ons sal net - plaas van die terugkeer van die oog,
ons sal net terug hallo wêreld.
O, hallo - o, ek dit kopieer.
Hallo kontroleerder.
So hallo wêreld.
So dit is net 'n baie, werklik 'n eenvoudige voorbeeld
hoe jy kan skep beheerders.