[Tónlist spila] ERIC Ouyang: Hey, allir. Velkomin. Þetta er Building Dynamic Web Apps með Laravel. Mitt nafn er Eric Ouyang. Ég er sophomore læra samfélagsfræði með efri í tölvunarfræði, og ég bý í Adams Hús hér í Harvard. Svo Laravel, í mesta lagi kjarna þess, er MVC vefur app ramma. Svo eins og það sem þið hafið verið að gera með CS50 Fjármál, Laravel er rammi sem leyfir þú að byggja dynamic vefur apps. Svo er hægt að hugsa um það í sumum skynfærin sem framhald af tegund efni þú hefur verið að gera í CS50 Fjármál, en kerfi sem er a einhver fjöldi fleiri sterkur, a einhver fjöldi glæsilegur í sumum skynfærin, og afla a einhver fjöldi af virkni fyrir þig að byggja nokkuð flókið vefur umsókn. Svo skulum við fara í gegnum sumir af the lykill lögun, og þá munum við kafa inn í dæmi um að byggja upp blogg umsókn með Laravel. Svo einn af the fyrstur hlutur sem aðgreindu það frá MVC tegund vinnu að þú hafir verið að gera með CS50 er það felur í sér Ormur vél. Svo ORM stendur fyrir hlut Vensla kortlagning. Svo gerir þetta þú að byggja lag af abstrakt milli gagnagrunninum og stýringar þinn. Svo ólíkt í CS50 Fjármál þar þú gerir beint fyrirspurnum, að Ormur lag gerir þér kleift að óhlutbundin sem í burtu og búa líkön sem eru öflugri en þú getur beint við SQL fyrirspurnum. Annað sem er í raun gagnlegt erfist sniðmát. Svo þú munt taka í CS50 Fjármál, þú endar endurskrifa mikið af hlutum, þar leggur þú gætir hugsanlega endurnýta hluti, þú ert ekki fær um að. Svo hér í Laravel, getur þú notað það sem er þekktur sem blað sniðmát vél til að búa til húsbóndi skipulag. Og þaðan er hægt að erfa þannig að undir-sniðmát getur raunverulega eru þættir innan að stærri stöð sniðmát. Migration. Þannig að þetta er nokkuð staðall lögun á Flest nútíma vefur umsókn ramma. Svo gerir þetta þú að tákna gagnasafn stefið breytingar á kóða. Svo án þess að fara að segja, phpMyAdmin, þú getur í raun að búa til þessar Búferlaflutningar þar sem þú tákna gagnagrunn stefið breytist í númerið beint. Og þetta gerir þér to-- sérstaklega ef þú ert með marga fólk að vinna á sömu vefsíðu application-- fylgjast þessar breytingar, segja í GitHub eða einhverju öðru geymsla. Svo er þetta mjög gagnlegt og dregur úr nauðsyn þess að segja, fara í kring a einhver fjöldi af SQL hugarangur. Og að lokum, Composer er eitthvað virkilega, virkilega gagnlegt sem gerir þér kleift að nota aðra kóða fólks að gera frábæra hluti. Svo Laravel er byggð upp nokkrir tónskáld pakka. Svo segja ef þú vildir koma í vottunarkerfinu pakka eða ef þú vildir koma í sumum konar rafall handrit eða stjórnanda tengi, getur þú stinga og spila þessir þættir með Composer. Svo skulum byrja. Einhverjar spurningar frá þér krakkar Áður en við að byrja? Engin spurning? Cool. Svo er fyrsta skrefið setja Composer. Svo Composer gerir þér kleift að stjórna þessum ósjálfstæði, hvort sem það er Laravel ramma eða einhver annar þriðji aðili eftirnafn. Fyrsta skipun leyfir þér að sækja Composer, og seinni skipun gerir þér kleift að færa það inn í staðbundnum bin möppunni þannig að þú getur keyrt Composer beint í gegnum flugstöðina. Eftir það, að fara á undan og búa til nýja Laravel verkefni. Við erum í raun að fara að nota nokkur dæmi kóða sem ég hef sett saman til að búa til þetta blogg. En ef þú ert að byrja frá klóra, myndir þú nota þessa skipun upp hér, tónskáld skapa-verkefni, laravel rista laravel, og þá nafn á verkefninu. Og það mun fela allt dreifingu kóða til að byrja nýtt Laravel verkefni. Svo fyrir CS50 endanlegar þínum verkefnum, þú munt væntanlega vilja nota þessa skipun. En við erum að fara að byrja með þetta. Svo þegar þú hefur gert að þú ert að fara að fá nokkuð víðtæk tala yfir skrár blog50. Svo skulum við fara bara í gegnum sumir af þessum hlutum. Þú munt taka eftir á þessari leið skrá, það er app mappa. Inni í app möppu, það er a par hjálpsamur möppur. Af huga til að byrja með er þetta config möppunni. Svo setur þetta upp hvernig vefur umsókn þín er fara að segja, að sannvotta fólk eða reiðufé hlutir eða tengjast gagnagrunninum. Og hvað er raunverulega gagnlegt er að Laravel gerir þér kleift að setja upp mismunandi þróun umhverfi. Svo það sem við höfum gert hér er ef við förum undir heimamaður mappa, það er database.php skrá. Og þú munt taka eftir hér að við setja upp MySQL tengingu að gerir einstaklinga að tengja að MySQL þjóninum sem er beint á CS50 tæki. Og við erum að tengja við gagnagrunn að ég sett upp kallaði Blog50. Svo skulum raunverulega fara á undan og hlaupa að vinna útgáfu af þessu, bara til að fá tilfinningu fyrir hvað forrit sem við erum að byggja lítur út. Svo ég er með afrit af þetta Blog50 lokið. Svo Laravel raun hefur byggt á netþjóni að þú getur keyrt beint frá the stjórn lína. Svo er þetta svipað PSet áður þegar þú í raun byggja upp eigin miðlara í C Svo þeir hafa einn innbyggður í svo að þú getur keyrt Laravel forritin beint frá the stjórn lína. Þannig að ef við gerum php Artisan þjóna, þetta mun ráðast í þróun miðlara á höfn 8000. Þannig að ef við förum að heimamaður gestgjafi 8,000, munt þú taka eftir því, hey. Við höfum blogg okkar upp og keyra. Svo Laravel hér er að búa Forsíðan blogginu okkar. Mjög einfalt forrit. En það er a par virkilega nifty lögun að það veitir undir hetta. Svo blogg forrit er einfalt. Ef við vildum að búa til færslu við getum að smella á hnappinn. Við getum sagt, "Hey, allir. Þetta er mjög skemmtilegur námskeið, "til dæmis. Og skrifa eitthvað hérna. Texta hér. Ef við smellt á Senda, þú munt eftir því að nýtt blogg okkar færsla hefur verið bætt við Forsíðan bloggið. Ef við förum aftur hér, þú munt taka eftir því að það hafa verið nokkrar athugasemdir nú þegar á blogginu. Svo ef við skruna niður, þú munt eftir því að Jonathan Tan segir að hann var mjög ráðabrugg þessa færslu. Þannig að við munum fara í hvernig hlut Vensla kortlagning gerir þú að gera þessi tengsl í nokkuð óaðfinnanlegur hátt eins vel. Cool. Einhverjar spurningar um virkni af því sem við erum að fara að byggja? Cool. Svo skulum byrja út með raunverulega búa til töflur í gagnagrunni. Svo muna að í CS50 Fjármál, þér setja saman borð fyrir notendur sem og fyrir að birgðir í eigu þinni. Svo eins og við umtal áðan, það sem við notum í Laravel er eitthvað þekktur sem búferlaflutninga. Þannig að ef við förum aftur til dreifingu kóða hér, Fyrsta stjórn sem er gagnlegt að Laravel veitir þér er þetta Flytja stjórn. Þannig að við getum gert PHP artisan flytja: gera. Svo gerir þetta okkur að búa til fólksflutninga. Og þá munum við vilja til að búa til flæði kallað create_posts_table, sem er að fara að vera þar sem við erum að fara að vera geyma bloggfærslur okkar. Og þú munt taka eftir hér að það rennur gegnum nokkur kóða sem raunverulega býr til skrá með tímamark á það. Þannig að ef við förum og skoðum database við munum taka undir Búferlaflutningar að það er búið a auður skrá fyrir okkur sem hefur boilerplate kóða með nafni að við tilgreint, búa innlegg borð. Og það hefur tvo valkosti í því. Up er það sem við viljum að keyra þegar fólksflutninga er sótt í gagnagrunn. Og niður er það sem við erum að fara að gera þegar við viljum að snúa við fólksflutninga. Svo hér skulum byrja út með að skrifa þennan flutning. Þannig að það er gagnlegt flokki í Laravel heitir stef. Þannig að við erum að fara að keyra stef :: búa. Og við erum að fara að búa til borð heitir innlegg. Og hér við beita þetta með aðgerð. Og innan hér, við erum að fara að raunverulega tilgreina innihald borðið okkar. Við erum að fara að búa til auðkenni, sem er sjálfvirk hækka. Að auki erum við að fara að skapa vettvang sem táknar titilinn blogg okkar. Við erum líka að fara að skapa vettvang til að geyma texta blogg okkar. Og að lokum, við erum að fara að geyma ýmsar tímastimplana þegar staða okkar var búin og þegar það var uppfærð. Og fyrir niður, það er nokkuð einfalt. Allt sem við viljum gera er falla borðið sem við höfum búið til. Great. Einhverjar spurningar? Svo nú ef við förum á undan and-- raun, heimamaður gestgjafi, láta mig eyða hvað við hafði áður. Farðu að gagnasöfnum. Ég ætla að eyða það sem við hafði áður. Sendu þetta og búa a nýr gagnagrunnur Blog50. Svo nú hvað töfrum hluti er hér sem við geta sótt þessar Búferlaflutningar beint að gagnagrunninum með stjórn lína tól. Þannig að ef við gerum PHP artisan flytja, þú munt taka eftir því, hey. Það er búið flutnings borð, sem við munum taka a líta á í smá, og það er sótt þessa fyrstu fólksflutninga. Þannig að við lítum á Blog50, munt þú taka eftir að það er búið tvær töflur fyrir okkur. Fyrst er þetta Búferlaflutningar borð. Svo ef við beit þetta, munt þú taka eftir því að þessi tafla er nokkuð augljóst. Það er bara sagt að hey. Við höfum sótt um þennan flutning. Við förum til baka og líta á innlegg. Þú munt taka eftir því að uppbyggingu er einmitt það sem við hafði beðið hana. Við höfum sjálfvirkt hækka ID. Við höfum band til að geyma titill og texti sviði til að geyma efnið. Great. Cool. Einhverjar spurningar um búferlaflutninga vinna, hvernig við getum sótt þá? Nei? Cool. Svo nú erum við að fara að fara á undan og í raun búa til líkan. Þannig að við viljum búa til innlegg líkan sem geymir með abstrakt af gagnagrunninum. Svo frekar en að gera MySQL fyrirspurnum beint, við erum að fara að búa til. Þannig að við verðum að búa til möppuna hér kallast módel. Og inni hér, við erum að fara að búa til skrá sem kallast post.php. Innan PHP skrá, við erum að fara að búa til a bekknum eftir sem nær málsnjall maður. Mælskur er nafn Ormur vél sem Laravel veitir. Og hér, má búast við að þú þarft í raun að skrifa nokkur númer. Við erum að fara að skrifa nokkrar hjálparstarfsemi sem síðar. En út af the kassi, þetta muni viðurkenna hvað er í gagnagrunninum og við getum nálgast, segja, texta af blogg okkar eða titill, og búa efni beint við ansi mikið ekki númer af neinu tagi. Svo er það eitt af töfrum hluti. Og vindur þegar þessum flokki er nánar viðvaningur, við munum koma fram upplýsingar um hvað það er tengjast, þannig að athugasemdum. Einnig að búa til virka þannig að við getum í raun beint fá slóðina á blogg síðu. Cool. Einhverjar spurningar um það? Nei Cool. Svo nú þegar við höfum líkan okkar, við langar að búa til stjórnandi sem er fær til tengi með þessum gerðum, og síðar í gagnagrunni. Þannig að ef við lítum á BlogController, þú munt eftir því að það er ekki mikið hér núna. Allt er er vísitala virka sem býr á heimasíðuna, en án þess að nokkuð það að sýna enn. Svo sem fyrsta aðgerðin að við erum að fara að búa til er eitt sem gerir okkur til að búa til blogg. Þannig að við erum að fara að lýsa a nýtt hlutverk heitir newPost. Og inni hér einfaldlega, við erum að fara til að stilla útlit á þessari síðu að vera bakið útgáfa, ef þú manst frá CS50, af þessu sniðmáti kallast blog.new, sem við erum að fara að búa í smá. Þú munt taka eftir hér á línu sex sem við tilgreint þessa breytu, skipulag. Og ef við lítum á Views möppu, það er Layouts mappa, sem felur í sér einfaldar HTML skrá. Og athugið, munt þú taka eftir að við höfum þetta ílát hér sem gefur efni. Svo inni sniðmát okkar hvað við erum að fara að gera er að búa til hvað er að fara að vera setinn beint innan þessa uppsetningu. Svo ég sagði að við viljum láta sniðmát heitir blog.new. En inni Blog, það er ekki enn þetta nýja sniðmát. Þannig að við erum að fara að búa til skrá sem heitir new.blade.php. Þetta segir Laravel að þetta PHP skrá ætti innt af hendi með blað sniðmát vél. Þannig að þetta er nokkuð einfalt skrá. Það er að fara að vera í formi sem við bætum reyndar í blogg. Svo töfra hér frá arfleifð er að hey. Við viljum taka fram að við kafla, efni kafla hér, sem er afmarkað meðsection ogstop. Svo er það á milli hér er að fara að í stað inn í master skipulag. Og hér það sem við viljum gera er mjög einfaldlega búa til nýtt HTML skjal. Við skulum bæta bara fljótur titil. Bæta við blogg. Og í henni, við erum fara að búa til mynd. Þessi mynd er að fara að hafa til aðgerða. Og þetta er að fara að vera eitthvað að við staðinn seinna, og við munum sjá hvernig venja passar inn hér. En við erum bara að fara að skilgreina fyrir nú að þetta fer að vefslóð með leið frá createPost. Og þá er þetta að fara að hafa aðferð færslu. Innan hér, við erum að fara að hafa tvo sviðum. Div class = "mynd-hópur". Við erum að nota Bootstrap CSS bókasafn vingjarnlega veitt af Twitter. Þannig að við erum að fara að búa til tvö af þessum. Svo er þetta fyrsta inntak fara til vera the titill. Svo inntak nafn = "title". Class = "formcontrol". Type = "texti". Ég ætla að bæta við tákn = "Titill". Og þá er hitt fara til vera a texti svæði. Name = "efni". Class = "formcontrol". Og tákn = "Skrifaðu hér". Það sem við förum. Að lokum, við erum að fara að bæta fljótur leggja hnappinn. Type = "submit" class = "BTN BTN-primary". Svo þetta eru allt aðgerðir ræsi svo að þetta er hægt að mæla út á þann hátt sem er bráð til notenda, frekar en nakinn HTML. Þannig að við höfum skilgreint stjórnandi hér. Við höfum skilgreint mjög einfalt útsýni. En hvað vantar er bandvef. Svo á þessum tímapunkti, Laravel hefur ekki hugmynd um hvernig við erum að fara að raunverulega aðgang að þessari stjórnandi. Þannig að þetta er skilgreint í a skrá sem heitir routes.php. Og núna höfum við einn leið. Sem er þegar við förum til heimili slóð fyrir þessa vefsíðu, það er að fara að gera vísitalan stjórnandi. Svo hér það sem við þurfum að gera er að innleiða ný leið fyrir okkur til að búa til færslu. Þannig að við notum þessa aðferð fá, sem skilgreinir að þegar notandi reynir að fá þetta page-- sérstaklega staða rista nýja page-- hvað við erum að fara að gera er að nota stjórnandi heitir BlogController ný staða. Sá sem við bjuggum bara. Og þá erum við að fara að ALIAS það sem newPost. Við erum að fara að búa til annað virka í smá. En hvað er hér undir lykillinn "og" er hvað við getum komið í stað innan Blað okkar sniðmát. Svo nú, við skulum reyndar einnig segja leið. Þannig að við erum líka að fara til að búa til stjórnandi svo að við getum búið til þessar færslur. Þannig að ef notandi innlegg til síðu staða rista nýtt, hvað við erum að fara að gera er notar stjórnandi sem við erum að fara að búa til fljótlega heitir BlogController á createPost. Og við erum að fara að alias þetta með eins createPost. Cool. Einhverjar spurningar? Cool. Svo skulum hlaupa það sem við höfum hingað til. Þannig að ef við gerum php Artisan þjóna, við munum sjá fullt af villum. Svo það lítur út eins og við höfum setningafræði villa á leiðum línu 27. Ah. Vantar semikommu. Þannig að ef við förum að 8000, þú munt ekki sjá neitt hér enn. Þannig að þetta er heimili sjálfgefna síðu. En ef við förum að senda rista ný, hey. Það verður formið sem við að búa til. Núna höfum við ekki innleitt virkni um þegar við að ýta á Senda hnappinn. Svo ef við smellur á the Senda hnappinn, það er að fara að keyra villu. En við erum að fara að kóða sem núna, einmitt það sem við langar að gera þegar notandi leggur þetta eyðublað. Svo skulum gera það. Fara til baka í stýringar skrá. Það sem við erum að fara að gera er hrinda þessu nýja hlutverki sem gerir okkur kleift að búa til færslu. Lýsa nýtt hlutverk. Public virka createPost. Og þessi aðgerð er að fara til vera a svolítið flóknari en það sem við höfðum áður. En þú munt sjá hér að við erum ekki fara til raunverulega skrifa hvaða SQL. The Ormur mælskur Ormur, er að fara að leyfa okkur að gera þetta í sumar leiðir meira glæsilegur vegur. Þannig að við erum að fara að búa til nýja færslu. Og hér erum við instantiating nýjan hlut frá líkaninu sem við bara búin, eftir fyrirmynd. Og það sem við erum að fara að gera er að stilla titill eiginleiki þessa með eitthvað að við fáum frá þjóninum. Svo er þetta svipað því sem við höfðum áður í CS50 Fjármál þar sem við myndum gera, með super Global Post leita titli. Svo Laravel afla sumir hreinlætisaðstöðu og whatnot nota þetta hjálpartól virka. Þannig að við myndi kjósa að nota þetta í staðinn þessarar einfaldar hrár formi frá PHP. Og þá það sem við erum að fara að gera er að setja efni af því að Input fá efni. Við erum í raun að fara að vefja þetta í hjálpsamur virka að PHP veitir heitir nl2br, sem snýr nýjar línur, NLS, í bre, hlé, svo að við getum í raun hafa mismunandi málsgreinar innan þess. Og að lokum það sem við erum að fara að gera er að vista þessa færslu. Svo við köllum virka vista á þessu líkani. Við erum að fara að vista færsluna. Og að lokum það sem við erum að fara að gera er áframsenda notandann sérstaklega að leið sem við erum að fara að búa skömmu, alias af viewPost. Og við erum að fara að fara í málflutningi persónuskilríki, vera persónuskilríki þessa nýja færslu. Great. Svo nú ef við förum í raun og keyra þetta. Við erum að fara að bæta við nýrri færslu. Við skulum segja að þetta er námskeið 50. Og segja, viss. Asdl. Whatever. Einhverskonar efni. Og senda hana. Og við munum taka eftir því, hey. leiðir ekki skilgreint. En ef við lítum á phpMyAdmin og leita hvort virka okkar gerði neitt. Horfðu á Blog50 innlegg. Við munum taka eftir því, hey. Í raun gerði við bara búa til þessi blogg senda með tímastimplana eins og tilgreint er. Svo nú skulum fara aftur og í raun búa til þetta önnur aðgerð á stjórnandi okkar, sérstaklega viewPost stjórnandi. Svo opinber virka viewPost. Svo hér það sem við munum gera, í stað að hafa tómt sviga, við munum vilt fara í ID staða sem við erum að skapa. Og héðan hvað við erum að fara að gera er í raun fyrirspurn í gagnagrunninn fyrir það. Þannig að ef við gerum staða, það er fall sem heitir Finndu það gerir okkur kleift að fyrirspurn það með auðkenni. Nánar tiltekið, reyndar, við erum að fara að notað annað útgáfu af þessu sem kallast Finna eða Fail, sem gerir okkur að hætta út af þessari aðgerð, kasta undantekningu ef ID Við fara í er ekki til. Og þá erum við að fara að gera eitthvað svipað og við gerðum áðan þar sem við setja efni á þessa síðu til að vera sem veitt útgáfa þessa nýja skoðun sem við erum að fara að búa til, blog.view. Og við erum að fara að fara í it-- finnst bara í CS50 láta function-- orðabók breytur. Lyklar þessa tengin array verða breytur innan sniðmátið. Þannig að við erum að fara að gera færslu færslu. Svo fara óbeint færslu sem við höfum sent fyrirspurn úr gagnagrunninum. . Nú það sem við erum að fara að gera er að búa til þessa mynd svo að við getum í raun að skoða bloggfærslum sem við höfum byggt. Þannig að við erum að fara að búa til skrá sem heitir view.blade.php. Svo inni í þetta sniðmát, hvað við erum að fara að gera er sett saman einföld síða sem gerir okkur kleift að birta efni. Svo við gerum kafla, það er áður en efni. Hætta. Og hvað við erum að fara að gera innan hér er skrifa nokkur HTML til að sýna þessa síðu. Þannig að við erum að fara að vefja það með fínum Ný HTML5 þáttur heitir gr. Og hér erum við að fara að hafa haus hvar við erum að fara að einfaldlega hafa H1, sem felur í sér fyrirsögn bloggsins. Svo hér, ef við lítum á þetta tvöfaldur hrokkið Brace merki, þetta mun gera í raun PHP echo fyrirsögn bloggsins. Svo það er gagnlegt styttingin að Laravel veitir okkur. Þannig að við erum að fara að nota þetta merki í staðinn. Og hér erum við að fara að einnig prenta út efni af því. Og hér erum við að fara að gera færslu efni. Og niður á botn hvað við erum að fara að gera er að búa til fót. Og í fót, við erum að fara að Fyrsta sýna þegar þetta var staða. Þannig að þetta var staða á, búið á. Og Laravel notar mjög gott dagsetning bókasafn kallast kolefni. Þannig að við getum í raun gert eitthvað sem heitir difforHumans, sem þú sást áðan. Þegar við staða. það segi, eins, fimm sekúndum. Þannig að þetta er mjög gott virkni Laravel. Og að lokum, við erum að fara að loka þessari fótur. Svo nú ef við förum aftur til Home Page sem við erum að fara að sjá neitt hér enn vegna við höfum ekki dulmáli upp á heimasíðuna. En ef við förum að senda skástrik einn, við erum að fara að sjá undantekningu. Hefur einhver vita hvers vegna við sjáum undantekningu? Hvað erum við að vantar? Einhverjar hugmyndir? Svo hvað gerði við gerum fyrr í okkur í raun að skilgreina hvernig við komum til sérstakar stýringar? Ræðumaður 1: Leiðin? ERIC Ouyang: Já. Þannig að við höfum enn að skilgreina leiðina. Svo við förum aftur hingað til að routes.php. Þú munt taka eftir því að við hafa í raun ekki skilgreint hvernig við ætlum að fá að þessari stjórnandi. Svo nú erum við að fara að skilgreina þessa leið. Það er nokkuð augljóst, svipað og við gerðum áðan. En það sem við erum að fara að taka eftir hér er að við erum að fara að hafa tákn. Þannig að ef við gerum route.get slash færslunúmer. Svo er auðkenni nú hvað er að fara að að fara framhjá í the stjórnandi. Þetta er að fara að nota stjórnandi að við bara búin, BlogController á viewPost. Og við erum að fara að alias þetta sem viewPost. Great. Svo nú erum við að fara að búa þessa leið. Svo nú ef við förum hér og endurnýja þessa síðu, erum við í raun höfum nýja blogg okkar. Svo er þetta það sem við bjuggum áður. Mjög einfalt síðu en birtir blogg sem við bjuggum bara. Cool. Og ef við förum í raun í gegnum allt Ferlið að skapa nýja blogg, við munum taka eftir því að allt tilvísanir almennilega. Ef ég segi "Hi. Ég er Jonathan Tan. " Segja: "Þetta er blogg mitt." Og senda hana, þetta mun skapa þetta nýja blogg með auðkennið 2, sem þrepum frá því sem við hafði áður og sýnir það almennilega. Awesome. Einhverjar spurningar? Já? Ræðumaður 2: Er Laravel höndla sanitization og allt fyrir þig? ERIC Ouyang: Já. Svo þegar við sáum áðan þegar við gerðum inntak ristill hreinsun fá, sem sanitates hvaða SQL sprautur og whatnot að við might vilja til að framkvæma ef við erum illgjarn notandi af the website. Svo Laravel sér mikið af því á bak við tjöldin. Góð spurning. Svo skulum taka a líta á heimasíðu. Þannig að ef við förum fyrst aftur til stjórnandi fyrir heimasíðuna, þú munt taka eftir því að það gerir ekki mikið hér. Þú munt taka eftir því að við erum ekki liggur inn í þennan stjórnandi eitthvað sérstaklega gagnlegt. Það er bara þetta vísitölu skrá. Svo skulum fara inn í þetta eitthvað gagnlegt. Og sérstaklega erum við að fara að fara í innlegg. Og Laravel gerir okkur að gera færslu allt, sem mun gera okkur kleift að fá allar færslur. Nú ef við förum aftur til index.php, munt þú sjá, hey. Ekkert hér enn. En það sem við viljum gera hér er í raun og kunnugt gegnum, gera framhandleggur lykkja yfir þeim embættum sem gerir okkur kleift að prenta út innlegg. Svo framhandleggur innlegg sem staða, hvað við viljum gera er að prenta út efni af blogg. En eitt sem þú munt taka eftir er að við skrifuðum reyndar flest þessi kóða nú þegar, í view.blade.php. Svo það sem við erum að fara að raunverulega gera er nota gott gagnlegar eiginleika Blade og þáttur þessa sameiginlegt númer. Svo við förum hér. Við erum að fara að taka þetta efni hérna, og það sem við erum að fara að gera er að búa til nýja möppu. Við skulum bara kalla það Partials. Og hér erum við að fara til að búa til post.blade.php. Svo hér þáttur við út hátt í sem við viljum sýna þessar færslur. Og hér það sem við munum gera í stað þess að í raun hafa þessi HTML beint, við erum að fara að nota þessa tilskipun kallað er meðal annars blog.partials.post. Og það sem við erum að fara að gera hér er fara í pósti á síðunni. Svo nú ef við förum aftur hér, við munum eftir því að virknin er enn það sama. En nú höfum við þetta þáttur út kóða, þetta HTML. Þannig að við getum notað það í Index. Svo hér, þetta er mjög einfalt. Allt sem við gerum er meðal annars blog.partials.post og array. Og einhvers staðar að áður, gera við eftir færslu. Svo nú ef við förum aftur til heimasíða, munum við sjá að, hey. Við erum með lista yfir alla bloggfærslur sem við höfðum áður. Við gætum vilja til að bæta nokkrum "ef" skilyrði og "annað" skilyrði þannig að ef við höfum ekki eitthvað á blogginu, við viljum sýna eitthvað gagnlegt. Eins og hey. Það er ekkert efni enn á blogginu. Og ef þið í raun að líta á dreifingu kóða á GitHub, þú munt sjá dæmi um hvernig við gerum það. Cool. Einhverjar spurningar? Já. Ræðumaður 2: Ég held bara grundvallaratriði spurning. Aftur á leiðinni. ERIC Ouyang: Já. Ef við lítum á leiðum. Ræðumaður 2: Hvaðan uses.blogcontroller á að búa til færslu, hvað þýðir það að beina okkur til? ERIC Ouyang: Já. Já. Ræðumaður 2: Eða hvað er that-- ERIC Ouyang: Svo taka a líta, segja til dæmis, þetta leið hérna. Fyrsti hlutinn er í raun URL sem notandinn mun fara til. Og þetta array hér, tengin array, skilgreinir hvernig við viljum hafa umsókn athöfn til að bregðast við henni. Svo notar er stýringin, fallið að við vilt hringja þegar notandi fer á þessa slóð. Svo viewPost hérna var fall sem við skilgreind inni af BlogController-- Ræðumaður 2: Ég sé. ERIC Ouyang: --so að við geta í raun gera útsýni, framkvæma nokkrar útreikninga, samskipti við SQL gagnagrunn. Ræðumaður 2: OK. ERIC Ouyang: Og þá er annar hluti, "eins og" er samheiti sem við notum. Svo ef við taka eftir þegar við bjuggum formið, þú munt taka eftir því að vefslóð :: routecreatePost. Svo það í staðinn í raun URL þannig að við erum ekki erfitt erfðaskrá þetta í svo við getum breytt því einu sinni, segja ef við vildum að endurnefna. Í stað þess að eftir skástrik ný, viljum við að gera eins, p rista nýtt bara til að hreinsa upp slóðum okkar svolítið. Við myndum breyta henni á einum stað frekar en yfir allar mismunandi skrár. Cool. Það er gott. Svo nú höfum við mjög undirstöðu blogg pallur. Við viljum líklega að bæta við í a hnappur svo að við getum í raun að búa til nýjar færslur. Þannig að ef við lítum á útlitið Master, við höfum kaflann Header Hægri að við höfum bara skilgreint upp á toppinn. Þannig að við getum Bættu hnöppum efst á hausnum. Þannig að ef við förum að index.blade.php, reyndar gera er að skilgreina hvað fer inni hér. Þannig að þetta Haus Hægri kafla, hvað við erum að fara að gera er að bæta í hnapp til að fara í URL skilgreind af leið nýja færslu. Bara til að hreinsa það upp og gera það nokkuð og allt Bootstrap, við erum að fara að gera þetta sjálfgefinn hnappur. Við skulum bara gera það stór fyrir gaman. Og inni, gætum við sett texta. En hvað Bootstrap afla er glyphicons. Þannig að við getum í raun bæta við í að ágætur blýantur sem við sáum fyrr. Glyphicon. Glyphicon-blýantur. Þannig að þetta mun gera okkur kleift að setja í táknmynd stað texta. Nú ef við ekki hætta, þetta mun skilgreina þessa kafla. Og, hey. Við höfum gott hnapp sem tengir okkur beint til að bæta við blogg síðu. Þannig að við höfum nokkuð einfalda blogg. Við getum bætt efni til þess. En það sem við búast almennt frá bloggi er athugasemd. Svo það er mjög mikilvægt fyrir okkur að hafa, segja, ef einhver annar heimsækir vefsíðu og í raun gaman af færslu sem þeir geta taka þátt í umræðu við annað fólk sem heimsækja síðuna. Þannig að við erum að fara að fara og búa til nýr gagnagrunnur borð og a nýr líkan svo að við getum tengt athugasemdir við innlegg. Svo fyrsta skrefið, eins og áður, er að við þurfum að keyra fólksflutninga. Svo eins og áður, við gerum PHP Artisan Flytja: gera. Og við erum að fara að búa til einn kallað create_comments_table. Þetta mun skapa a skrá sem hefur nýtt flæði okkar. Og við erum að fara að, eins og áður, skilgreina nýja töflu. Svo stef :: búa a borð heitir athugasemdir. Þessi aðgerð hér. Og innan þessa töflu hvað við erum að fara að gera er fyrst, eins og áður, tengja kenni. Þrepum ID. Við erum að fara að leyfa notendum að tengja nafn þeirra með tiltekna comment. Við erum að fara að hafa efni sem fer með þessa, texta efni. Og hér það sem við erum að fara að gera er eitthvað öðruvísi. Við erum að fara að búa til tölu sem heitir post_id sem er að fara að signify hvaða færslu sérstaklega athugasemd fer með. Að auki erum við í raun að fara að setja erlent lykill þvingun á þessu. Svo MySQL framfylgir það. Við erum ekki að reyna að úthluta athugasemd númer 5 til að senda 5000 ef við höfum ekki hafði 5000 innlegg á það. Svo það sem við gerum hér, við gerum erlendum post_id er að fara að vera í tengslum við ID sviði frá töflunni innlegg. Og við munum í raun gera eitthvað annars gagnlegt, er onDelete. Svo ef við eyða einhverjum senda úr gagnagrunninum, að við viljum Cascade á eyðir fyrir athugasemdir eins og heilbrigður. Vegna þess að það er ekki mjög gagnlegt fyrir okkur að hafa athugasemdir um innlegg sem ekki til. Og að lokum, eins og áður, erum við fara að setja tíma frímerki á þetta. Og eins og áður, við erum að fara að hafa andstæða flæði vera sleppa athugasemdir borð. Svo nú ef við förum aftur að hér erum við að fara að keyra þessa fólksflutninga, artisan flytja. Og nú er beitt á þessu fólksflutninga sem við bjuggum bara. Svo ef við líta á phpMyAdmin, við gerum í raun, nú hafa athugasemdir borð sem hefur að uppbygging sem við tilgreint bara. Svo eins og áður, erum við fara að búa til nýja fyrirmynd hlutbundinni SQL töflunni sem við bjuggum bara. Svo skulum Bæta við nýja skrá. Við erum að fara að kalla það comment.php. Og þetta er í raun að fara að vera nokkuð einfalt með smá breytingu frá því sem við höfðum áður. Svo bekknum Athugasemd nær mælskur. Og hvað við erum að fara að gera hér er að skilgreina fall sem er tengsl við aðrar gerðir. Þannig að við erum að fara að hafa færslu virka hér sem skilar þetta samband. Þannig að við erum að tilgreina að þetta tilheyrir að senda, að segja að það er einn eftir að þessi athugasemd tilheyrir. Þetta hefur í raun að vera höfuðborg P fyrir líkan. Og nú bara á hinn Flip hlið, verðum við að segja að, hey. Posts hefur athugasemdir. Svo það sem við erum að fara að gera er skilgreina opinberar athugasemdir virka. Og hér er skilað þetta hefur marga Athugasemd. Svo nú dularfullur þegar við höfum færslu, við getum fengið eigindi athugasemdir og það mun byggja það með Upplýsingar úr gagnagrunni. Svo skulum í raun að fara í gegnum og bæta við nýjum lögun til að skoða skrá okkar svo að við getum bæði sýna og búa athugasemdir. Þannig að við erum að fara að skilgreina nýja kafla. Við skulum aðskilja bara það með láréttum reglu. Auðkenni Section = "athugasemdir". Það sem við erum að fara að gera hér er, eins og áður, kunnugt um allar athugasemdir. Svo í raun hvernig við gerum þetta er, eins og ég nefndi, nokkuð töfrandi. Við gerum að senda athugasemdir. Og þá getum við gert þetta fyrir hvert lykkja yfir hvert af athugasemdum. Og það sem við erum að fara að gera er div class athugasemd, og við erum að fara að raunverulega prenta út þessa umsögn. Svo sýna að hey, comment name-- mann sem staða þessa comment-- segir punktur punktur punktur. Við erum að fara að setja þetta í blokk quote, bara til að gera það líta ágætur. Og þá athugasemd efni blokk vitna. Og framhandleggur. Svo nú er þetta að fara að lykkja gegnum öll athugasemdir sem er tengt við hvert af the staða og sýna hvert af þessum athugasemdum. Ég ætla að bæta við öðru kafla niður hér, sem gerir okkur kleift að bæta við athugasemd. Svo h3 bekknum. Settu titil hér. Bæta við athugasemd. Og við erum að fara að skilgreina nýja mynd. Svo eins og áður, erum við að fara að gera mynd aðgerða. Og hér er ný aðgerð er að við erum fara að skilgreina nýtt stjórnandi sem gerir okkur kleift að bregðast til að senda beiðnir um að búa ummæli. Svo URL :: leið createComment. Ég ætla að fara í breytu hér. The ID af the staða sem við erum að búa athugasemd á. Og þá aðferð þessarar form er að fara að vera eftir. Nú ætlum við að bæta við í a tveir reitir, mynd hópur. Þetta er að fara að vera inntak með Nafnið "nafn" og class = "mynd-stjórn", type = "texti", og með tákn = "Nafn þitt." Við erum líka að fara að skilgreina annars konar sviði, sem er að fara til vera a texti svæði eins og við höfðum áður. Rétt eins og áður, kalla það efni. Class = "mynd-stjórna." Tákn = "Skrifaðu hér." Og bara svo að við geta í raun senda hana, leggja tegund og class = "BTN BTN-primary." Loka formið. Loka þessa aðgerð. Svo nú ef við endurnýja þessa síðu þar við höfum að segja, ákveðna færslu. Við verðum að endurræsa miðlarann. PHP Artisan þjóna. Endurræsa þetta. Við verðum að skilgreina leiðina. En nú, við skulum taka bara þetta út svo að við getum í raun sýna þér hvað síða lítur út eins og þá við munum í raun að búa þeirri leið. Svo, hey. Við höfum þetta nýja form hingað svo að við getum búið athugasemdir. Svo skulum við skilgreina í raun virka innan stjórnandi svo að við getum bætt við athugasemdum. Förum aftur. Og innan blogcontroller.php, hvað við erum að fara að gera er að búa til nýtt hlutverk kallað búa umsögn. Public virka createComment. Þetta er að fara að hafa einn breytu, kenni innlegg að við erum að tjá sig um. Og eins og áður, erum við fara að fyrst að fá færslu. Svo senda, findOrfail id. Síðan ætlum við að fara til að búa til nýja athugasemd. Svo Comment = Nýr Athugasemd. Athugasemd nafn = Input :: fá nafn. Comment content = sama nýja línu í hlé frá Input :: fá efni. Og að lokum, við erum að fara að hafa til tengja þetta athugasemd við færslu. Þannig að við erum að fara að nota aðgerðina, athugasemdir, sem gerir okkur kleift að spara þetta samband. Svo nú þetta comment verður sjálfkrafa eftir ID. Við gætum líka stillt það handvirkt, en þetta er meira auðvelt að lesa eins langt sem fallið fer. Og eftir að við framkvæma þetta, hvað við viljum gera er áframsenda notandann til leið tilgreint viewPost með fylki með því Stiki færslunúmer. Og nú þannig að þetta í raun virka, þurfum við að skilgreina þessa leið. Route :: staða. Og nú erum við að fara að kalla þetta staða rista ID skástrik umsögn. Array notar nýtt hlutverk sem við bjuggum bara. BlogController. CreateComment sem createComment. Great. Svo nú vonandi ef við endurnýja þessa síðu og bæta í athugasemd, segja, David Malan. "Vonandi að þetta virki." Senda. Við, í raun hafa a athugasemd við þetta blogg. Cool. Svo nú höfum við nokkuð hagnýtur blogg. Við erum bara að fara að bæta við nokkrum klip svo að við höfum meira gagni Upplýsingar um þessar stöður. Þannig að ef við förum aftur til Forsíðan, höfum við ekkert vit hversu margir athugasemdir eru á öllum þessum póstum. Svo það sem við erum í raun að fara að gera er að inni fyrirmynd okkar, skilgreina hjálpar fall sem gerir okkur að tilgreina fjölda athugasemdir að fara með ákveðna færslu. Þannig að við erum að fara að búa til hjálpar virka. Public virka. GetNumCommentsStr. Svo band sem tilgreinir fjölda athugasemda sem fara með það. Og það sem við erum að fara að gera er að segja að num = þetta athugasemdir telja. Þannig að við erum að fara að telja fjöldi athugasemda. Og ef þessi tala er 1 erum við bara að fara að fara aftur 1 umsögn. Og þá annars, viljum við fara aftur sem samtenging á eft og athugasemdir, þannig að við fá pluralization rétt. Bara gera þetta einn vitna. Ein athugasemd. Og nú getum við notað þessa aðgerð beint inni okkar mati. Þannig að ef við förum aftur til hluta innlegg sem við bjuggum til, nú viljum við raunverulega sýna fjölda athugasemda. Svo er það sem við getum gert staða, nota þessa aðgerð sem við bjuggum bara til sýna fjölda athugasemda. Svo ef við hressa, það nú gerir í raun, sýna fjöldi athugasemdir að fara með það. Ef við vildum að vera fínt ef þú í raun líta á dreifingu kóða, við getum í raun að tengja þetta til umsagnar. Ef þú manst, skilgreint við innan skoða að þetta hefur kafla ID athugasemdir. Þannig að ef við vildum í raun að tengja beint til athugasemd hluti, hvað við myndum gera hér er a href Slóð leiðinni viewPost. Pass í fylkinu ID færslunúmer. Og þá viljum við fara að sérstaklega athugasemdir kafla. Hér skulum loka merki. Svo nú ef við hressa þetta síðu, smelltu okkur á þetta. Við munum fara beint til the athugasemd hluti. Ef við hefðum lengri færslu, þú getur raunverulega sjá þetta hopp niður. En þú munt taka eftir því að það er ekki efst á síðunni. Cool. Great. Svo er það tiltölulega einfalt dæmi um eitthvað einfalt að þú getur gert með Laravel. En þú getur taka hér að við höfum gert mikið af hlutum með nokkuð lítið magn af kóða. Laravel gerir okkur kleift að gera SQL fyrirspurnir á bak við tjöldin. Það gerir hreinlætisaðstöðu fyrir okkur á bak við tjöldin. Leyfir okkur að gera þessi tengsl mjög auðveldlega án þess að okkur að þurfa að gera allir SQL ganga yfirlýsingar til sameina athugasemdir við það sem innlegg. Leyfir okkur að gera þetta arfleifð sniðmát svo að við getum skilgreint þessar hreiður skrár þannig að við erum ekki að endurtaka okkur, bara eins og þegar við höfðum að sýna af bloggfærslum að við þurfum ekki að Afritaðu og límdu kóðann. Og héðan er hægt að byggja æ flóknari forrit. Þú getur ímyndað þér ef við langaði að framkvæma skrá þig í, gætum við sagt að koma í þriðja aðila ramma sem gerir okkur kleift að gera það. There er a búnt af þeim sem eru virkilega, virkilega mikill að geta gert eins og, lykilorð bati. Og það munum senda þér endurstilla lykilorð í tölvupósti. Við getum innleiða leyfi svo að ég er að búa til færslu, en einhver annar getur ekki breytt því. Við getum innleiða virkni til að eyða innleggjum. En þú getur séð hér að við höfum nokkuð lítið alla rudimentary hluti að byggja sumir virkilega, virkilega, dynamic og spennandi vefur apps. Svo með það, held ég að við erum góð. Gera þú krakkar hafa einhverjar spurningar? Já? Ræðumaður 3: Hvernig heldur þú fá _STATIC_CONTENT? ERIC Ouyang: Static efni. Svo þú sást áður að þegar við höfðum þetta hérna, þetta skipulag efni, útsýni gera, við höfðum þetta án þessu fylki eftir. Blog.index, við höfðum þetta sem bara truflanir skrá. Svo ef við standast ekki nokkuð eftir að það, það verður bara láta verða HTML beint. En ef við fara í þessa tengin array innlegg, sem er virk dreginn úr gagnagrunninum, við getur gert síðuna dynamic. Cool. Aðrar spurningar? Ræðumaður 3: Hvernig myndir þú bera saman Laravel að kannski sumum öðrum valkostum? ERIC Ouyang: Jú. Já. Svo Laravel is-- sem er a mikill question-- einn af mörgum valkostum fyrir vefur ramma. Svo Ruby á Teinn er eitt sem er vinsæll. Ég tel Twitter notað til að vera útfærð með Ruby á Teinn. Ég held að þeir hafa síðan kveikt. Það er annað sem heitir FuelPHP. Svo Ruby á Teinn notar Ruby tungumál og útfærir mikið af MVC efni sem við sjáum hér. FuelPHP er annar PHP ramma. Django er einn af mínum uppáhalds. Það er vefur ramma fyrir Python. Svo þú getur skrifað vefur app í Python. Þannig að það er tonn af þessum valkostum. Laravel, held ég, með og stór er uppáhalds rétt minn nú fyrir PHP bara vegna af efnisþáttunum að við töluðum um áðan. Það er Composer virkt. Það felur í sér í raun, raun svipmikill Ormur kerfi. Einnig hefur mjög ógnvekjandi sniðmát tungumál sem sumir hinna bara bjóða ekki. Og Búferlaflutningar. Búferlaflutningar eru ógnvekjandi eins og heilbrigður. Cool? Awesome. Jæja, takk svo mikið fyrir , að horfa á þessa ráðstefnu og gangi þér vel á lokaverkefni þínum.