[Musika jotzen] ERIC Ouyang: Hey, denek. Ongi. Hau da Eraikuntzako Dynamic Web Laravel aplikazioak. Nire izena Eric Ouyang da. Nago gizarte-ikasketak ikasten sophomore informatikako bigarren mailako batekin, eta bizi naiz Adams House hemen Harvard at. Beraz Laravel, bere core gehienez, a MVC web aplikazio esparrua da. Beraz like zer duzu guys dira egiten CS50 Ogasun, Laravel ahalbidetzen duen esparru bat da web apps dinamikoa eraikitzeko duzu. Beraz, pentsa dezakezu zentzumenak batzuetan stuff mota luzapen bat bezala izan duzu CS50 egiten ari Ogasun, baina hori da sistema bat asko sendoagoak, asko Gehiago zentzumenak batzuetan dotore, eta asko ematen du zuretzat funtzionalitate nahiko konplexua eraikitzeko web aplikazioak. Beraz, goazen batzuen bidez funtsezko ezaugarri, eta, ondoren, bat sartu dugu murgiltze blog bat eraikitzeko adibide Laravel aplikazio. Beraz, lehenengo gauza bat dela bereizten da MVC lan mota batetik hori egin duzun CS50 batera da ORM motor bat biltzen ditu. Beraz ORM objektu standak erlazionalak mapping. Beraz, hau da eraikitzeko aukera ematen du abstrakzio geruza datu-basearen artean eta zure kontrolagailu. Beraz CS50 Ogasun non ez bezala zuzenean egin duzu kontsultak, ORM geruza aukera ematen dizu abstraktu kanpoan eta sortzeko hori baino ahaltsuagoa ereduak zuzenean ahal duzun SQL kontsultak batera. Hori da benetan beste gauza lagungarria inheritable templates da. Beraz CS50 Ogasun dituzu nabarituko, Honekin jarraituz, gauza asko berridazketa, non kokatzen potentzialki ezin duzu gauzak berrerabiltzea, Oraindik ezin izan duzu. Beraz, hemen Laravel ere, zer da erabili ahal izango duzu pala template motorra bezala ezagutzen diseinua master bat sortzeko. Eta hortik aurrera, oinordetzan dezakezu beraz, sub-templates benetan barruan elementuak txertatu base handiago plantilla duten. Migrazioak. Beraz, hau da on ezaugarri nahiko estandarra moderno web aplikazio esparru gehienetan. Beraz, hau irudikatzeko aukera ematen dizu datu-basearen eskema kode aldaketak. Beraz esateko joan gabe, phpMyAdmin, benetan migrazio horiek sor dezakezu non datu-basean ordezkatzen duzun Eskema kodea aldatzen zuzenean. Eta hori bereziki zaie uzten dizu Jende anitz lanean ari bada web Aplikazio berean jarraipena aldaketa horiek, GitHub, edo beste repository batzuetan esan. Beraz, hau da, benetan lagungarria eta beharra gutxi- , esan, SQL zabortegiak asko inguruan pasatzen. Eta, azkenik, Composer da Zerbait benetan, oso baliagarria duten beste erabili behar duzu pertsona kodea awesome gauzak egiteko. Beraz Laravel bezala egituratuta hainbat konpositore paketeak. Beraz, esan ekarri nahi badituzu authentication pakete batean edo batzuk ekarri nahi badituzu sorgailu gidoi edo administratzaile batek moduko interface, plug eta play dezakezu Composer dituzten osagai horiek. Hargatik Hasteko. Zuk zalantzaren dugu aurretik guys Hasteko? No galdera? Cool. Beraz, lehen urratsa da Composer instalatzen. Beraz Composer aukera ematen dizu kudeatu mendekotasun hauek, Laravel esparrua ote den edo hirugarrenen luzapena batzuk. Lehenengo komandoak ahalbidetzen Composer deskargatzeko aukera emango, eta bigarren komandoak aukera ematen dizu mugitu zure tokiko bin karpetan sartu beraz, Composer exekutatu dezakezu zuzenean terminal bidez. Ondoren, aurrera eta Laravel proiektu berri bat sortzeko. Ari gara, benetan joan Esate kodea batzuk erabili dut hori elkarrekin jarri blog hau sortzeko. Baina zuk hasita bazabiltza scratch, komando hau erabili beharko duzu: hemen, konpositore sor-proiektua, laravel barra laravel, eta gero Zure proiektuaren izena. Eta hori ere sartuko dira banaketa-kodea guztiak Laravel proiektu berri bat hasten da. Beraz, zure CS50 azken proiektu, ahal izan ziurrenik komando hori erabili nahi. Baina ari gara honekin hasiko da. Beraz, egin dituzun behin hori, lortu bazoazela kopuru nahiko zabala blog50 fitxategi. Hargatik bidez joan besterik Osagai horietako batzuk. Ibilbidea honetan nabarituko duzu gida, han Aplikazio karpeta da. Aplikazio karpeta barruan, ez dago Pare bat lagungarria karpetak. Ohar hasteko Of config karpeta hau. Beraz, hau eratzen ditu, nola Zure web aplikazioa da , esan, autentifikatu pertsona joan edo cash gauza edo datu-basera konektatu. Eta zer da benetan lagungarria dela Laravel aukera ematen du gora desberdinak ezartzeko aukera ematen dizu garapen-inguruneak. Beraz, hemen zer egin dugu bada tokiko karpeta azpian joan gara, ez database.php fitxategia da. Eta konturatu hemen duzu garela MySQL konexio bat eratu aukera ematen du gizabanako konektatzeko MySQL zerbitzaria hori da zuzenean CS50 tresnaren gainean. Eta datu base bat ari gara konektatzen konfiguratzeko I Blog50 izeneko. Hargatik joan benetan aurrera eta lan honen bertsio exekutatu, besterik zer zentzu bat lortzeko hori eraikitzen ari gara aplikazio itxura. Beraz kopia bat dut Blog50 hau bukatu. Beraz Laravel benetan du zerbitzari bat eraiki dela zuzenean exekutatu dezakezu komando lerrotik. Beraz, hau antzekoa da PSet duzunean benetan aurretik zure C. zerbitzari propioa eraiki Beraz dute bat hain eraiki hori zure Laravel aplikazioak exekutatu dezakezu zuzenean komando-lerrotik. Beraz php artisau egiten badugu balioko, hau Garapen zerbitzari bat abian jarriko 8.000 atakan. Beraz, joan bada ostalari lokalean dugu 8.000, nabarituko duzu hori, beno. Gure blog martxan daukagu. Beraz Laravel hemen sortzen da aurrean gure blog orrialdean. Aplikazio Oso erraza da. Baina badira pare bat benetan nifty ezaugarri kanpaia azpian eskaintzen duela. Beraz, blog aplikazioaren erraza. Sarrera bat sortu nahi badugu, botoi horretan ezin dugu klik. Esan dezakegu, "Hey, denek. Hau da, oso dibertigarria Mintegi ", adibidez. Eta idatzi zerbait behera hemen. Testua hemen. Dugu sakatu Bidali bazara, nabarituko dela gure blog berria post izan da gehitu aurrean blogaren orria. Hona itzuli badugu, ikusiko duzun hori han zenbait iruzkin jada Blogean. Beraz, behera joan gara, ahal izan nabarituko Jonathan Tan esaten duen zela oso post horretaz jakin. Beraz, nola objektu hori izan dugu erlazionalak mapping ahalbidetzen harreman hauek egin ditzakete a modu nahiko hobea baita. Cool. Funtzionalitate buruzko zalantzaren zer ari gara eraikitzen joan? Cool. Hargatik hasteko benetan laguntzea datu-baseko taulak sortuz. Beraz, gogora ekarri duten CS50 Ogasun ere, zuk bildu mahai baten erabiltzaileentzako baita egin zure zorroa stock. Beraz, lehenago aipatu dugun bezala, zer erabiltzen dugu Laravel in migrazioak bezala ezagutzen den zerbait da. Beraz, atzera joan bada to dugu banaketa-kodea hemen, hori da lehen komandoa lagungarria Laravel eskaintzen dizu Migratu komando hau. Beraz, egin ahal izango dugu, php artisau migrate: egiteko. Beraz, hau migrazio bat eraikitzea ahalbidetzen du. Eta gero egingo nahi dugu Migrazio bat sortzeko create_posts_table deitzen, hau da, joan non izan goaz izan gure blog mezu gordetzeko. Eta nabarituko duzu hemen hark kudeatzen duen kodea batzuetan zehar dela benetan daukan fitxategi bat sortzen du denbora zigilua. Beraz, joan gara eta datu-basea begiratu, Migrazioak pean egingo dugu nabarituko sortu dela bat Gurekin fitxategia hutsik bertan izenarekin boilerplate kodea ditu zehaztu dugula, sortu mezu taula. Eta bertan bi funtzio ditu. Up da exekutatu nahi denean, nahi genukeen Migrazio datu-basean aplikatu. Eta behera da, zer egin behar dugu joan denean migrazio bat behar diogu buelta. Beraz, hemen dezagun hasteko Migrazio hau idazten baita. Beraz, ez dago klase lagungarria da Laravel ere Eskema izeneko. Beraz, exekutatu Eskema :: sortzen joan. Eta ari gara sortzen joan Mezu izeneko taula bat. Eta hemen aplikatu dugu funtzio bat erabiliz. Eta hemen barruan, ari gara benetan Gure mahai edukia zehazteko. ID bat sortzen ari gara, bertan auto-incrementing da. Horrez gain, goazen eremu bat sortu nahi duten gure blog post izenburua adierazten du. Ari gara, halaber eremu bat sortu nahi du gure blog post testua gordetzeko. Eta, azkenik, goazen timestamps batzuk gordetzeko gure mezua noiz sortu zen for eta noiz eguneratua izan da. Eta behera, nahiko erraza da. Guztiak egin nahi dugun jaitsiera dago Nik sortu dugu mahai. Great. Zalantzaren bat? Beraz, gaur egun aurrera badugu and-- benetan, tokiko ostalari, utzi ezabatu me zer lehenago izan genuen. Datu baseak joan. Zer lehenago izan genuen ezabatu noa. Jaregin hau eta sortu base berri bat Blog50. Beraz, orain zer magikoa parte da hemen dugun migrazio horiek zuzenean aplikatu ahal izango Datu-basean komando lerroan erabiliz tresna. Beraz php artisau migrate egiten badugu, nabarituko duzu, beno. Honez migrazio taula, bertan begirada bat hartuko dugu apur batean, eta lehen migrazio hori aplikatuko da. Beraz, begiratu Blog50 dugu, nabarituko duzu dela bi mahai sortu guretzat. Lehen migrazioak taula hau. Nabigatzen Beraz badugu, ikusiko duzun hori taula hau nahiko erraza da. Besterik esanda, beno. Migrazio hau aplikatuko dugu. Atzera egin dugu eta mezu begiratu. Nabarituko duzu egitura zehazki zer zuen galdetu dugu. Auto-incrementing ID bat daukagu. Gordetzeko kate bat daukagu izenburua, eta testu-eremu bat edukia gordetzeko. Great. Cool. Migrazioak buruzko zalantzaren lana, nola horiek aplikatu ahal izango dugu? No? Cool. Beraz, gaur egun ari gara, aurrera joan eta benetan eredua sortzeko. Beraz mezu eredu bat sortu nahi dugu, datu-basearen abstrakzioa gordetzen. Beraz, baizik MySQL kontsultak egiten baino zuzenean, sortu goaz. Beraz bat sortu behar dugu ereduak hemen izeneko karpeta. Eta hemen barruan, ari gara joan Blog izeneko fitxategi bat sortu. PHP fitxategi hau Inside, Sortuko goaz Klase post horrek hedatzen elokuenteak. Elokuenteak ORM izenean dagoen motorra Laravel ematen du. Eta hemen ere, agian hori espero dugu benetan kodea batzuk idatzi behar duzu. Batzuk idatzi goaz funtzio helper geroago. Baina out koadroan, egingo dagoeneko aitortu zer da datu-basean eta sartu ahal izango dugu, esan, testua gure blog post edo titulua, eta zuzenean sortu stuff nahiko askoz kodea inolako. Beraz, osagai magiko bat da. Eta haize-klase hau behin da, gero erabat fledged, buruzko informazioa sartu dugu zer Honez zerikusia, hain iruzkinak. Era berean, funtzio bat sortu beraz, ezin dugu benetan URL zaitez blog post-orri baten. Cool. Horri buruzko edozein galdera? Kop Cool. Beraz, orain, behin gure eredua izan dugu, kontroladore bat hori da, sortu nahi den eredu horien interfaze gai, eta, ondoren, datu-basea. Beraz, begirada bat hartuko dugu BlogController, ahal izan konturatu ez, hori ez da askoz hemen oraintxe. Guztiak ez dago indizea funtzioa da duten etxeko orria sortzen du, baina ezer gabe dago oraindik erakutsi. Lehenengo funtzioa Beraz ari gara sortzen joan batek ematen digu da blog post bat sortzeko. Beraz, bat aldarrikatu joan newPost izeneko funtzio berriak. Eta hemen, besterik gabe, barruan, goazen Orrialde honen diseinua ezartzeko bildutakoen bertsioa izan behar du, Gogora CS50 bada, blog.new izeneko txantiloi hau, zeinek pixka bat ere sortu dugu. Hemen nabarituko duzu on line sei dagoela aldagai hori zehaztu dugu, diseinua. Eta begirada bat hartuko dugu Views karpeta batean, Diseinu karpeta bat da, eta horrek Oso oinarrizko HTML fitxategi bat barne. Eta ohar, nabarituko duzu Edukiontzi hau dugula Hemen eduki Rendimientos. Beraz, gure plantilla barrutik zer egin goaz sortzen da, zer izan da joan zuzenean ordezkatu diseinua honen barruan. Beraz errendatu nahi dugula esan dugu izeneko blog.new txantiloi bat. Baina Blog barrutik, ez dago oraindik ez Txantiloi berri hau. Beraz, bat sortu nahi du fitxategi deitzen new.blade.php. Hau kontatzen Laravel dagoela PHP beharko lukete fitxategi hau izango batera Errendatutako pala template motorra. Beraz, hau da, nahiko bat erraza den fitxategia. Honez horren bidez inprimakia izango da benetan gehitu dugu blog post batean. Beraz, magia, hemen bertatik herentzia dela, beno. Nahi duten zehaztu nahi dugu atalean, eduki atalean Hemen, den zedarrituak section etastop arabera. Beraz, zer da hemen artean dago joan egon diseinua master sartu ordez. Eta hemen zer egin nahi dugun da oso besterik gabe HTML fitxategi berri bat sortzeko. Dezagun gehitu besterik izenburua azkar bat. Gehitu blog post bat. Eta horren barruan, ez gara formulario bat sortzeko. Formulario hau da, ekintza bat izan da. Eta hau da, zerbait izango da ordezkatuko duen dugu geroago, eta ikusiko dugu nola routing hemen sartzen. Baina bakarrik ari gara oraingoz definitzen joan hori URL bat doa ibilbidea createPost from. Eta gero, hau da, joan Metodo post izatea. Hemen barruan, goazen Bi eremu dute. Div class = "inprimaki-taldea". Bootstrap CSS liburutegia erabiltzen ari gara graciously Twitter emandako. Beraz, horietako bi sortzeko. Beraz, lehen sarrera da hau joan titulua izan. Beraz, sarrera name = "title". Class = "FormControl". Mota = "testua". Placeholder = "Izenburua" gehitzeko noa. Eta gero, bigarrena da Testu-eremu bat izango da. Name = "edukia". Class = "FormControl". Eta placeholder = "Idatzi hemen". Bertan dugu. Azkenik, goaz azkar submit botoi bat gehitu. Mota = "bidali" class = "btn btn-lehen". Beraz, horiek dira guztiak Bootstrap ezaugarri hain hori ezarritako daitezke modu bat da ere egindako erabiltzaileari harrapariak, baizik eta biluzik HTML baino. Beraz definitu dugu kontroladorea hemen. Ikuspegi oso sinple bat definitu dugu. Baina zer falta da ehun konektiboaren. Beraz, puntu honetan, Laravel modurik ez dakiena goaz benetan controller honetan sartzeko. Beraz batean dago hau definitu fitxategi deitzen routes.php. Eta oraintxe, ibilbide bat egin behar dugu. Zein da, orduan joan behar dugu web-gune honetako bidea, Honez errendatu joan indize kontroladorea. Beraz, hemen zer egin da martxan jarri behar dugu Gurekin ibilbide berri bat post bat sortzeko. Beraz, metodo hau erabili dugu lortzeko, eta horrek zehazten du Erabiltzaile bat saiatzen denean nahi duten hau lortzeko orri batean, zehazki post barra orri batean berria zer egin goaz izeneko controller erabili da New post BlogController. Sortu berri dugun Bat. Eta gero ari gara , alias nahi newPost gisa. Beste sortu goaz Pixka batean funtzioa. Baina, zer da hemen azpian gakoa "bezala" zer da barruan ordezka dezakegu Gure Blade txantiloiak. Beraz, oraingoz, dezagun benetan ere ibilbidea esan. Beraz, halaber joan kontroladore bat sortzeko eta, beraz, mezu horiek sortu ahal izango dugu. Beraz, bada bat lankide orrialde post mezu barra berria, zer egin behar dugu joan da kontroladore bat erabiltzen duen handik sortzen goaz BlogController createPost at izeneko. Eta alias goaz hau createPost bezala. Cool. Zalantzaren bat? Cool. Hargatik exekutatu Orain arte ez dugu. Beraz php artisau egiten badugu balioko du, akatsak asko ikusiko ditugu. Beraz itxura bat dugu sintaxia ibilbideetan error line 27. Ah. Puntu eta koma falta da. Beraz bazoaz 8.000 dugu, ezer ikusiko duzu hemen oraindik. Beraz, hau etxeko orria lehenetsia da. Baina post joan gara, barra berria, beno. Sortu berri dugun formularioa izango da. Oraintxe bertan, ez daukagu funtzionalitate inplementatu sakatzen dugun Bidali botoia. Beraz, egin klik dugu Bidali botoia, akats bat exekutatu da joan. Baina kodea goaz dagoela oraintxe, hain zuzen, zer dugu Erabiltzaile bat egin nahi Formulario honetan aurkezten. Beraz, utzi egin dela. Joan Controllers fitxategia itzuli. Zer egin behar dugu, funtzio berri hau martxan post bat eraikitzea ahalbidetzen du. Funtzio berri Deklaratu. Funtzio Publikoaren createPost. Eta funtzio hori bat izango da Pixka baino sofistikatuagoa zer aurretik izan genuen. Baina ikusiko duzu hemen, ez gara Edozein SQL benetan idatzi zuen joan. ORM The, elokuenteak ORM da, aukera ematen joan Horretarako gurekin batzuk modu dotoreago moduak. Beraz, post berri bat sortzeko. Eta hemen gaude Objektu berri bat instantiating eredua besterik ez dugu sortu, post-eredua. Eta zer egin behar dugu, ezarri izenburua zerbait erabiliz hau atributua Zerbitzaritik lortuko dugula. Beraz, hau da, antzeko zer aurretik izan genuen CS50 Finantzetako non ez genuke, Super erabiliz Global Post titulua bila. Beraz Laravel saneamendu batzuk eskaintzen eta whatnot helper funtzio hau erabiliz. Beraz ordez hau erabili nahiago genuke PHP batetik oso oinarrizko forma gordinak honen. Eta gero, zer egin behar dugu, ezarri it edukiaren idazketa eduki ahal izan du. Benetan ari gara itzulbiratu egingo hau lagungarria funtzio batean PHP ematen dio nl2br, izeneko berria lerroak, NLS, BRS sartu, jauziak txandaka, ezin dugula benetan dute hain bere baitan paragrafo desberdinak. Eta, azkenik, zer ari gara egin da gorde post honetan. Beraz, funtzio deitzen dugun Eredu honetan gorde. Post gordetzeko goaz. Eta, azkenik, zer egin behar dugu joan redirect erabiltzailearentzat zehazki bertan goaz ibilbidea sortu eta handik gutxira, alias viewPost arabera. Eta ari gara argudioak pasatzen joan id, post berri honen id izanik. Great. Beraz, gaur egun badugu benetan joan eta hau exekutatu. Post berri bat gehitzeko goaz. Demagun hau Mintegi 50 da. Eta esan, ziur. Asdl. Whatever. Edukia moduko batzuk. Eta aurkeztu. Eta nabarituko dugu, beno. bideak ez definitu. Baina phpMyAdmin begirada bat hartuko dugu eta Gure funtzioa ala ez begiratu ezer egin. Begira Blog50 mezu at. Nabarituko dugu, beno. Izan ere, besterik blog hori sortu genuen timestamps batera bidaltzeko zehaztu bezala. Beraz, orain goazen atzera eta benetan sortu beste gure kontroladore funtzio hau, Zehazki viewPost kontroladorea. Funtzio Beraz publiko viewPost. Beraz, hemen zer egin dugu, ordez Parentesi bat hutsik edukitzea, to ID-pasa nahi zaitugu post sortzeko ari gara. Eta hemendik zer egin ari gara joan benetan datu-basea kontsultatzeko da. Beraz, post ez bada, izeneko funtzio bat Aurki dela kontsultak egiteko IDa arabera ahalbidetzen. Hain zuzen ere, egia esan, ari gara joan ordezko honen bertsio izeneko bat erabili Aurki edo Fail, horri esker gurekin funtzio honen kanpo irten, bota ID egin bada salbuespen bat pasatzen dugu, ez da existitzen. Eta gero ari gara zerbait egin behar da zer lehenago egin dugu antzeko non edukia ezarri dugu Orrialde honen izan Errendatutako ikuspegi berri honen bertsio bertan ari gara, sortzeko blog.view joan. Eta ari gara sartu pasatzen joan hobeto esanda CS50 gustatzen besterik errendatu aldagai-hiztegi bat funtzio. Elkartze-array honen gakoak plantilla barruan aldagai bihurtu. Beraz, post post egin behar. Beraz pasatzeko zeharka zer dela basetik dugu galdekatu. . Orain zer goaz egiten da ikuspegi hau sortzeko ezin dugula benetan ikusteko hain eraiki dugu blog mezu. Beraz, bat sortu nahi du fitxategi deitzen view.blade.php. Beraz txantiloia honen barruan, zer egin goaz orri sinple bat elkarrekin jartzea da, Edukia ikusteko aukera ematen digu. Beraz atalean egin dugu, hori eduki aurretik. Gelditu. Eta zer ari gara hemen barruan egin da HTML batzuk pantaila orri hau idazten. Beraz, hura biltzeko fancy batekin joan artikulua izeneko HTML5 elementu berriak. Eta hemen, goazen goiburu bat non dute h1 bat besterik izan dugu, bertan post izenburua dira. Beraz, hemen, begiratzen dugu honetan bada kizkur giltza notazio bikoitza, hau funtsean egingo PHP oihartzuna post izenburua. Beraz, lagungarria azkarra da Laravel eskaintzen digu hori. Beraz, erabili joan idazkera hau horren ordez. Eta hemen, ari gara, halaber, inprimatu da edukia. Eta hemen, goazen post eduki behar den. Eta behean zer gara behera egin behar footer bat sortuko da. Eta oinean, ari gara joan Lehenengo pantaila denean hau pubilkatu zen. Hau So zen posted, at sortu. Eta Laravel erabiltzen benetan polita Carbon izeneko data liburutegia. Beraz, benetan izeneko zerbait egin ahal difforHumans, horrek lehenago ikusi duzu. Noiz dugu etan. esango da, bezala, duela bost segundo. Beraz, hau da benetan polita Laravel funtzionalitate. Eta, azkenik, goazen footer hau ixteko. Beraz, orain atzera joan behar dugu Home Page goaz Hemen oraindik delako ezer ikusteko ez dugu hasierako orriaren bidez sortu. Baina barra bat bidaltzeko, joan badugu, salbuespen bat ikusteko goaz. Norbaitek ezagutzen zergatik ikusten dugun salbuespen bat? Zer dira? Ideia bat? Beraz, zer egin ez dugun Gurekin lehenago benetan nola lortu dugun definitzeko Kontrolagailu bereziki? HIZLARIA: 1 Ibilbidea? ERIC Ouyang: Bai. Beraz, oraindik ibilbidea definitu behar dugu. Beraz, atzera hemen dugu nahi routes.php. Dugun nabarituko duzu Ez dute benetan definitu nola iritsi goaz controller honetarako. Beraz, gaur egun ari gara ibilbide hau zehazteari. Nahiko erraza da, zer lehenago egin dugu antzeko. Baina zer ari gara hemen nabarituko joan da ari garela leku-marka bat izan da. Beraz route.get barra post ID egin badugu. Beraz ID orain da, zer joan egon kontroladorea pasa. Hau da, erabili joan controller besterik ez dugu sortu, BlogController viewPost at. Eta goaz alias hau viewPost gisa. Great. Beraz, gaur egun ari gara ibilbide hau sortzeko. Beraz, gaur hemen joan badugu eta freskatu orri hau, izan ere daukagun gure Hitza- ez. Beraz, hau da lehenago sortu genuen. Oso orri erraza, baina erakustaldiak Sortu berri dugun blog post. Cool. Eta, benetan osoan zehar joan blog sarrera berri bat sortzeko prozesua, dena dela nabarituko dugu ongi birzuzentzen. Dut esan bada, "Hi. Naiz Jonathan Tan ". Esan, "Hau nire blog post bat da." Eta bidali, hau izango da sortuko ID 2 eta blog sarrera berri honetan, bertan zatituko izan duguna batetik Aurretik eta behar bezala bistaratzen ditu. Awesome. Zalantzaren bat? Bai? HIZLARIA 2: Ez du Laravel helduleku sanitization eta zuretzat dena? ERIC Ouyang: Bai. Beraz, lehenago ikusi dugun egin dugu sarrera colon colon lortzeko, duen edozein SQL sanitates injekzioak eta whatnot baliteke nahi izanez gero egin nahi dugu webgunearen erabiltzaile maltzur bat gara. Beraz Laravel asko maneiatzen eszenak atzean hartako. Ona galdera. Beraz, dezagun hasierako orriaren begirada bat. Beraz, ikusteko lehenengo atzera egin behar Hasierako orrialdera controller, nabarituko duzu dela ez du egin askoz hemen. Nabarituko duzu ez garela kontroladore hau sartu pasatuz ezer bereziki lagungarria. Besterik aurkibidearen hau da. Hargatik pasatzen sartu Zerbait zaio hau. Eta, zehazki, ez gara mezu pasatzen joan. Eta Laravel ematen digu post guztiak egiteko, eta horrek mezu guztiak lortzeko aukera izango dugu. Orain itzuli badugu index.php, ikusiko duzu, beno. Nothing hemen oraindik. Baina hemen zer nahi dugun egin benetan batetik bestera joateko bitartez, Mezu zehar foreach begizta bat egin duten ahalbidetzen bidalketen inprimatu digu. Mezu Beraz foreach gisa post, zer egin nahi dugun da edukia inprimatu blog post bat. Baina gauza bat nabarituko duzu dela benetan idatzi dugu kodea duten gehienak Dagoeneko, view.blade.php ere. Beraz, zer ari gara benetan egin egingo da Blade ezaugarrietako lagungarria nice bat erabili eta faktore egindako kodea komun hori. Beraz, hemen goaz. Eduki hau hartu behar dugu hementxe, eta zer egin behar dugu joan da karpeta berri bat sortzeko. Dezagun deitu da partials. Eta hemen, goazen post.blade.php bat sortzeko. Beraz, hemen, egindako factored dugun bidea zein mezu horiek erakutsi nahi dugu. Eta hemen zer ordez egin dugu benetan zuzenean HTML izatea, Direktiba hau erabiltzeko goaz izeneko artean, blog.partials.post. Eta zer ari gara hemen egin behar dugu da orriaren post pasatzeko. Beraz, orain, atzera egin dugu hemen, zaitugu nabarituko funtzionalitate dela oraindik bera. Baina orain hau dugu factored egindako kodea, HTML honetan. Beraz, ezin dugu erabili Indizearen. Beraz, hemen, hau da, oso erraza da. Egiten dugun guztia da, besteak blog.partials.post eta array. Eta nonbait aurretik, post post egiten dugu. Beraz, orain atzera joan behar dugu hasiera orria, ikusiko dugu, beno. Guztien zerrenda bat daukagu blog mezu horren aurretik izan genuen. Baliteke zenbait "bada" gehitu nahi dugu baldintzak eta "beste" baldintza beraz, ez badugu izan duten ezer blogean, zerbait lagungarria erakutsi nahi dugu. Atsegin dut, beno. Ez dago eduki oraindik blogean dago. Eta zuk guys benetan begiratu banaketa GitHub kodea, hori nola egiten dugun adibide bat ikusiko duzu. Cool. Zalantzaren bat? Bai. HIZLARIA 2: besterik asmatzen dut funtsezko galdera bat. Ibilbidearen at Back. ERIC Ouyang: Bai. Ibilbide begirada bat hartuko bagenu. HIZLARIA 2: Non du uses.blogcontroller post sortu, zer dela zuzendu dagokigu guri? ERIC Ouyang: Bai. Bai. HIZLARIA 2: Edo zer da aurrerantzean -bere ERIC Ouyang: Beraz, Begirada bat, esaten adibidez, hementxe ibilbide hau. Lehenengo zatian benetako da URL, erabiltzaileak joango da. Eta array hau hemen, elkartze-array definitzen nola izan nahi dugu Aplikazio horri erantzunez jarduteko. Beraz erabiltzen kontroladorea da, funtzioa garela deitu denean bat nahi Erabiltzaile URL hau doa. Beraz viewPost hementxe zen bat barruan definitu dugu funtzio BlogController-- of HIZLARIA 2: ikusten dut. ERIC Ouyang: dugun --so benetan ikuspegi bat errendatu daiteke, kalkulu batzuk egiteko, SQL datu elkarreragin. HIZLARIA 2: OK. ERIC Ouyang: Eta gero bestea zatia, "" bezala erabiltzen dugun alias bat da. Beraz, konturatu dugunean bada inprimakia sortu genuen, nabarituko duzu URL hori :: routecreatePost. Beraz ordezkatzen ditu benetako batean URL, beraz ez gara gogor kodeketa horietan, beraz, aldatu ahal izango dugu behin, esan behar zaio izena aldatu nahi badugu. Horren ordez post barra berriak, behar bezala, p egin nahi dugu barra berria besterik garbitzen gure URL apur bat gora. Hori aldatzeko genuke Leku bat baizik desberdinak fitxategiak guztietan baino. Cool. Hori ona da. Beraz, gaur egun dugun oso bat oinarrizko blog plataforma. Ziurrenik gehitu botoi bat ere, beraz, nahi dugu dugun benetan mezu berriak sor ditzakezu. Beraz, begirada bat hartuko dugu Layout Master at, Goiburuko Right izeneko atal bat dugu dugun Oraintxe goialdean definitzen du. Beraz botoiak gehitu ahal izango dugu goiburua goialdean. Beraz, index.blade.php benetan joan badugu egin da definitu hemen barruan zer gertatzen den. Beraz Goiburuko Right Atal honetan, zer egin goaz Gehitu botoi bat joan in URL ibilbidea post berria definitzen da. Just garbitu eta egiteko nahiko eta Bootstrap guztiak, egiteko goaz lehenetsi bat botoi hau. Dezagun egin handi fun da. Eta haren barruan, testu batzuk jarri ahal izan genuen. Baina zer Bootstrap ematen du glyphicons da. Beraz, benetan gehitu ahal izango direla polita arkatza lehenago ikusi genuen. Glyphicon. Glyphicon-arkatza. Beraz, hau da jarri emango digute Testu ordez ikono bat da. Orain dugu gelditu egiten bada, hau Atal honetan zehaztuko dira. Eta, beno. Lotzen gaitu polita botoi bat daukagu zuzenean etorri blog post orri bat gehitzeko. Beraz blog nahiko erraza dugu. Stuff gehitu ahal izango dugu bertara. Baina, zer da, oro har, espero dugu blogak komentatuz da. Beraz, benetan garrantzitsua da guretzat, eta, esan, beste norbaitek web orri bat bisitatzen bada eta benetan post gustuko dute eztabaida ihardun orria bisitatzen duten beste pertsona batzuekin. Beraz, joan eta sortzen joan a datu-baseko taula eta eredu berri baten berria hori lotzeko ahal izango dugu, beraz, mezuekin iruzkinak. Beraz, lehen urratsa, bezala aurretik, da migrazio bat exekutatu behar ditugu. Beraz, aurretik bezala, egiten dugu php artisau migrate: egiteko. Eta ari gara bat sortzen joan create_comments_table izeneko. Hau fitxategi bat sortuko du dela gure migrazio berri du. Eta goaz, atsegin aurretik, zehaztu taula berri bat. Beraz Eskema :: bat sortu iruzkinak izeneko taula. Funtzio honek hemen. Eta mahai hau barruan zer ari gara lehen egin behar da, atsegin aurretik, esleitu ID bat. ID zatituko. Erabiltzaileei erlazionatuko uzten goaz beren iritzi eta jakin batekin izen. Eduki batzuk goaz dagoela , testu-edukia honekin batera doa. Eta hemen zer ari gara joan zerbait ezberdina da. Zenbaki oso bat sortzen ari gara hori post_id izeneko zer post adierazteko joan iruzkin jakin batekin doa. Horrez gain, benetan ari gara joan honetako funtsezko atzerriko murriztapen bat ezarri. Beraz MySQL duten behartuko da. Ez dugu saiatzen ari iruzkin zenbakia esleitu 5 bidaltzeko 5.000 ez badugu bertan 5.000 mezu izan. Beraz, hemen zer egiten dugun, Atzerriko post_id egiten dugu da behar elkartuak joan ID mahai mezu batetik eremua. Eta egia esan dugun zerbait egin beharko bestela lagungarria, onDelete da. Beraz batzuk ezabatu badugu basetik bidaltzeko, Cascade nahi dugun iruzkinak ezabatuko du, baita. Ez da oso lagungarria delako Gurekin diren iruzkinak dute hori ez da existitzen. Eta, azkenik, lehen bezala, gara honetan denbora zigiluak, hasteko. Eta lehen bezala, ari gara joan dute alderantzizko migrazioa izan iruzkinak mahai jaregiten. Beraz, orain, atzera egin dugu bada hemen, goazen Migrazio honetan, artisau migrate exekutatu. Eta orain aplikatzen da hau Sortu berri dugun migrazioa. Beraz badugu begirada bat phpMyAdmin at, , egiten dugu, hain zuzen ere, gaur egun, iruzkinak taula bat duela dute zehaztu besterik ez dugu egitura. Beraz, aurretik bezala, gara eredu berri bat sortu nahi du abstraktu SQL mahaira sortu besterik ez dugu. Hargatik Gehitu fitxategi berri bat. Deitu comment.php goaz. Eta hau da benetan nahiko izango da aldaketa txiki batekin erraza zer aurretik izan genuen. Beraz klase iruzkina hedatzen elokuenteak. Eta zer ari gara hemen egin behar den zehazteko dela funtzio bat beste eredu harremana. Beraz, post funtzio bat izan da joan Hemen harreman hori itzultzen duen. Beraz, hori ari gara zehaztuz hori daukan bidaltzeko, ez dagoela post bat da esaten iruzkin hau dela dagokion. Hau benetan izan behar kapital eredua P. Eta orain, besterik gabe, beste flip on albo, horrek esan nahi du, hey behar dugu. Mezuak iruzkinak dute. Beraz, zer egin behar dugu, define funtzio publikoaren iruzkinak. Eta hemen itzuliko da hau askotan komentatu ditu. Beraz, orain magikoki Mezu bat dugu, eskuratu ahal izango dugu atributua iruzkinak eta populatu izango da batera basetik informazioa. Beraz, dezagun benetan joan bidez, eta Ezaugarri berri bat gehitzeko gure ikuspegia koadernoan beraz, bi ahal dugun pantaila eta iruzkinak sortu. Beraz, atal berri bat definitzeko. Dezagun banantzen dute, besterik gabe, Arau horizontal batekin. Id = "iruzkinak" artikulua. Zer egin behar dugu Hemen da, lehen bezala, iruzkinak guztietan zehar batetik bestera joateko. Beraz, benetan nola egiten dugun hau da, aipatu dudan bezala, nahiko magikoa. Iruzkinak egin dugu. Eta gero hau bakoitzerako egin dezakegu iruzkinak bakoitzaren gainetik begizta. Eta zer ari gara joan egin div class iruzkin da, eta ari gara benetan inprimatu iruzkin hau. Beraz erakutsi duten beno, komentatzeko izen pertsona nor argitaratua comment-- honetan dot dot dot dio. Hau jarri bloke batean goaz aurrekontua, besterik egiteko nice itxura. Eta gero komentatzeko Bloke aurrekontua. Eta foreach. Beraz, gaur egun hau da begizta joan iruzkinak guztietan zehar hori lotutako Mezu bakoitzarekin erakutsi eta iruzkinak horietako bakoitzean. Beste atal bat behera gehitzeko noa Hemen, horri esker, iruzkinak gehitzeko digu. Beraz h3 class. Jarri izenburu bat hemen. Gehitu iruzkina. Eta ari gara modu berri bat definitzeko. Beraz, aurretik bezala, gara Formulario ekintza egin behar. Eta hemen, ekintza berria da gara kontroladore berri bat definitzeko joan funtzioak idazteko erantzuteko gurekin iruzkinak sortzeko eskaerak. Beraz URL :: ibilbidea createComment. Parametroa pasatzen hemen noa. Post IDa dagoela iruzkin on sortzen ari gara. Eta gero hau metodoa Formulario da post izango da. Orain ari gara ere gehitzen joan bi eremu, forma talde bat. Hau da, sarrera bat izango da "izena" eta class = "inprimaki-kontrol", type = "testua", eta batera placeholder = "Zure izena". Ari gara, halaber definitzen joan beste inprimaki eremua, eta horrek da testu bat izango da Zonalde aurretik izan dugun bezala. Lehen bezala, eduki deitu. Class = "inprimaki-kontrol". Placeholder = "Idatz ezazu hemen." Eta besterik ez, beraz, benetan aurkeztu ahal izango da, submit mota eta class = "btn-lehen btn." Itxi formularioa. Itxi ekintza hau. Beraz, gaur egun orri hau non freskatu badugu , dugu esan, post jakin bat. Zerbitzaria berrabiarazi behar dugu. PHP artisau balioko. Berrabiarazi hau. Ibilbidea definitu behar dugu. Baina, oraingoz, utzi hartu besterik ez egin out, beraz, ezin dugu benetan zuk erakutsi zer orriaren itxura, eta, ondoren, benetan dugu sortuko ibilbide hori. Beraz, beno. Forma berri hau daukagu ​​behera hemen iruzkinak sortu ahal izango dugu, beraz. Hargatik definitu bat benetan controller barruan funtzio eta, beraz, iruzkinak gehitu ahal izango dugu. Goazen atzera. Eta blogcontroller.php barruan, zer egin goaz funtzio berri bat sortzen ari da iruzkin sortu izeneko. Funtzio Publikoaren createComment. Hau da, bakar bat izan da joan Parametro, mezu ID- ari garela komentatuz. Eta aurretik, gaude post lehenengo lortu dugu. Beraz bidaltzeko, findOrfail id. Ondoren, goazen Iruzkin berri bat sortzeko. Beraz komentatzeko = iruzkin berria. Comment name = Sarrera :: lortu name. Iruzkina content = linea berria bera Sarrerako etenaldi sartu :: edukiak lortzeko. Eta, azkenik, ari gara behar joan erlazionatuko post batera iruzkin hau. Beraz, erabili joan Funtzio hau, iruzkinak horretara gordetzeko aukera ematen digu harreman hori. Beraz, orain iruzkin hau edukiko dute automatikoki post IDa. Era berean, ezin ezarri dugu eskuz, baina hau da, Gehiago erraza den neurrian irakurtzeko funtzio bezala doa. Eta guk burutu ondoren hau da, zer egin nahi dugun da redirect erabiltzaileak izateko Ibilbidea viewPost arabera zehaztu batera array batera post ID parametroa. Eta orain, beraz, hau benetan funtzioak, ibilbide hau definitu behar dugu. Ibilbidea :: post. Eta orain ari gara hau deitu behar post barra ID barra iruzkinak. Array du funtzio berri erabiltzen sortu besterik ez dugu. BlogController. CreateComment gisa CreateComment. Great. Beraz, gaur egun orri hau freskatu zorionez badugu eta gehitu iruzkin bat, esan, David Malan ere. "Zorionez obra hau." Bidali. Ez dugu, izan ere, ez dute blog hau komentatzeko. Cool. Beraz, gaur egun nahiko bat dugu funtzionala blog post. Ari gara joan pare Tweaks bat gehitzeko orain gehiago erabilgarria bat bagenuela Mezu horiek buruzko informazioa. Beraz, atzera joan bada to dugu Azalean, ez du zentzurik izan dugu zenbat iruzkinak dira Mezu horiek bakoitzean. Beraz, zer benetan goaz da egin, gure eredua barruan, ahalbidetzen duen helper funtzio bat definitzen iruzkinak kopurua zehazteko aukera ematen digu post jakin batekin joan. Beraz, sortu joan helper funtzio bat. Funtzio publikoa. GetNumCommentsStr. Beraz, kopurua zehazten kate bat batera joaten diren batera iruzkinak. Eta zer egin behar dugu, esaten num dagoela = iruzkinak honetan zenbatu. Beraz, zenbatu joan iruzkinak kopurua. Eta kopuru hori berdinen 1 bada, ez gara return 1 duzu joan. Eta gero, bestela, itzuli nahi dugu num eta iruzkinak lotuz, beraz pluralization zuzena lortuko dugu. Just egin honek barra arrunta. Iruzkin bat. Eta orain, funtzio hau erabili ahal izango dugu zuzenean gure ikuspegitik barruan. Beraz, atzera joan bada to dugu Mezu partziala sortu dugu, Orain benetan nahi dugun iruzkinak zenbaki bistaratu. Beraz, zer egin ahal izango dugu post, erabili funtzio hau besterik sortu dugun iruzkinak zenbaki bistaratu. Orain freskatu dugu, beraz, bada egiten du, hain zuzen ere, bistaratzea zenbaki iruzkinak duten joan zehar berarekin. Animatzen bazara izan nahi badugu benetan banaketa kode begiratzeko benetan dugu lotu ahal hau iruzkinak. Gogoratzen baduzu, definitu dugun barruan Ikusteko hori du atal ID iruzkinak. Beraz, benetan nahi izan dugu lotura: bada zuzenean iruzkinak atalean dizkiolako, Hemen ez genuke href da Ibilbidea viewPost URLa. Array post IDa IDa batean pasatzeko. Eta, ondoren, joan nahi dugu zehazki, iruzkinak atalean. Hemen dezagun ixteko etiketa bat. Beraz, gaur egun hau freskatu badugu orrian, egin klik honetako dugu. Zuzenean joan beharko dugu iruzkinak atalean. Post luzeagoa bagenu, ahal duzun benetan errebote hau ikusteko behera. Baina nabarituko duzu, hori da Ez orriaren goialdean. Cool. Great. Beraz, nahiko erraza bat zerbait simple adibide Laravel batera egin ahal izango dituzu. Baina hemen nabarituko ditzakezula Gauza asko egin dugu kodea kopuru nahiko txiki batekin. Laravel ahalbidetzen du egin gurekin SQL eszenak atzean kontsultak. Saneamendu egiten du Gurekin atzealdean. Aukera ematen du harreman horiek egin gurekin Oso erraz gabe digu beharrik Edozein SQL egin batzeko adierazpenak iruzkinak konbinatu zer mezu batekin. Aukera ematen du honek egin gurekin Patroiak herentzia beraz, habi hauek zehaztu ahal izango dugu fitxategiak ez gabiltza geure buruari errepikatuz beraz, besterik ez denean izan dugun bezala blog mezu bistaratzea ez dugu behar kopiatu eta itsatsi kodea. Eta hemendik eraiki dezakezu aplikazio gero eta zailagoa da. Imajinatu dezakezu badugu ezartzea nahi log-in, esan genezake, hirugarren bat ekarri esparru ahalbidetzen duen hori egin digu. Horietako sorta bat da direla benetan, oso handia da horrela egin dezake, pasahitza berreskuratzeko. Eta zuk bat bidaliko da berrezarri pasahitza email. Baimena ezartzeko ahal izango dugu dut post bat sor dezakezu eta beraz, baina beste norbaitek ezin editatu. Ezartzeko ahal izango dugu funtzionalitate mezu ezabatzeko. Baina hemen ikusi ahal izango duzu hori nahiko dugun askoz baldarra osagai guztiak batzuk benetan eraikitzeko, benetan, web apps dinamikoa eta zirraragarria. Beraz, uste dut ona gara. Ez duzu guys edozein galdera? Bai? HIZLARIA: 3 Nola egin nahi duzu eduki estatikoa lortzeko? ERIC Ouyang: Eduki estatikoa. Beraz ikusi duzu, horren aurretik izan dugu, Eskubide hori hemen, diseinua eduki hau, ikuspegi make, hau izan genuen array honetan gutxira gabe. Blog.index, hau izan genuen fitxategia estatikoan bezalaxe. Beraz, ez dugu pasatzen bada da zehar ezer, Besterik ez errendatu HTML zuzenean. Baina elkartze honetan pasatzen dugu mezu array, hau da dinamikoki basetik bota, dugu orrialde dinamiko egin daitezke. Cool. Beste edozein galdera? HIZLARIA: 3 Nola litzateke alderatu duzu Agian, beste aukera batzuk Laravel? ERIC Ouyang: Sure. Bai. Beraz Laravel is-- hori da question-- handia web esparruak aukerak asko bat. Beraz Ruby on Rails bat hori da, ezaguna da. Uste dut Twitter izan erabiltzen Ruby on Rails ezarri behar dira. Uste dut dut dute piztuta geroztik. Ez dago FuelPHP izeneko beste bat. Beraz Ruby on Rails Ruby hizkuntza erabiltzen du eta MVC stuff asko inplementatzen Hemen ikusten dugu. FuelPHP PHP framework bat da. Django nire gogokoenetako bat da. Web esparru bat pythonerako da. Beraz, zure web Python aplikazio idatzi dezakezu. Beraz, ez dago aukera horietako tona bat da. Laravel, uste dut, eta handiak nire gogoko eskubidea da orain PHP besterik ez delako osagaien hitz egiten dugun lehenago buruz. It en Composer gaituta. Bat ere sartzen da, benetan, oso adierazkorra ORM sistema. Era benetan awesome templating dauka hizkuntza duten beste batzuk besterik ez ematea. Eta migrazioak. Migrazioak awesome dira, baita. Cool? Awesome. Beno, eskerrik asko hainbeste Mintegi hau ikusiz, eta zure azken proiektuetan zorte ona.