1 00:00:00,000 --> 00:00:02,538 >> [Muziciranja] 2 00:00:02,538 --> 00:00:10,800 3 00:00:10,800 --> 00:00:12,390 >> ERIC Ouyang: Hej, svima. 4 00:00:12,390 --> 00:00:13,580 Dobro došli. 5 00:00:13,580 --> 00:00:16,860 To je zgrada Dinamičko Web Apps s Laravel. 6 00:00:16,860 --> 00:00:18,290 Moje ime je Eric Ouyang. 7 00:00:18,290 --> 00:00:23,860 Ja sam student studira društvene znanosti sa sekundarnim u računalnoj znanosti, 8 00:00:23,860 --> 00:00:27,290 i ja živimo u Adams Kuća ovdje na Harvardu. 9 00:00:27,290 --> 00:00:33,340 >> Dakle Laravel, na većini jezgri, je MVC web aplikacija okvir. 10 00:00:33,340 --> 00:00:38,265 Tako se sviđa ono što ti dečki imaju radili s CS50 financija, 11 00:00:38,265 --> 00:00:42,480 Laravel je okvir koji omogućuje da izgrade dinamičkih web aplikacija. 12 00:00:42,480 --> 00:00:47,710 Dakle, možete misliti da je to na neki način kao produžetak tipa stvari 13 00:00:47,710 --> 00:00:50,470 ste radili u CS50 Financije, ali sustav koji je 14 00:00:50,470 --> 00:00:55,890 Mnogo više robustan, puno više elegantan u nekim osjetilima, 15 00:00:55,890 --> 00:00:57,870 i pruža dosta funkcionalnost za vas 16 00:00:57,870 --> 00:01:03,060 izgraditi prilično složena web aplikacije. 17 00:01:03,060 --> 00:01:05,010 Pa krenimo kroz neke od ključnih značajki, 18 00:01:05,010 --> 00:01:09,550 a onda ćemo zaroniti Primjer izgradnje blog 19 00:01:09,550 --> 00:01:12,500 Zahtjev s Laravel. 20 00:01:12,500 --> 00:01:16,700 >> Dakle, jedna od prvih stvari koje ga razlikuje od MVC vrsti posla 21 00:01:16,700 --> 00:01:22,100 da ste radili sa CS50 je li to uključuje ORM motor. 22 00:01:22,100 --> 00:01:27,410 Tako ORM označava objekt relacijske mapiranje. 23 00:01:27,410 --> 00:01:31,080 Dakle, to vam omogućuje da izgradite sloj apstrakcije 24 00:01:31,080 --> 00:01:35,230 između baze podataka i vaši kontrolori. 25 00:01:35,230 --> 00:01:39,150 Dakle, za razliku od CS50 financija gdje izravno napraviti upite, 26 00:01:39,150 --> 00:01:44,790 ORM sloj vam omogućuje da sažetak to i stvoriti 27 00:01:44,790 --> 00:01:48,085 modeli koji su moćniji od Možete izravno sa SQL upitima. 28 00:01:48,085 --> 00:01:50,590 29 00:01:50,590 --> 00:01:53,510 >> Još jedna stvar koja je stvarno korisno je nasljedan predložaka. 30 00:01:53,510 --> 00:01:58,990 Tako ćete primijetiti u CS50 financija, završiti prepisivanjem puno stvari, 31 00:01:58,990 --> 00:02:03,150 gdje mjesta koje bi potencijalno ponovno stvari, niste u mogućnosti. 32 00:02:03,150 --> 00:02:08,539 Dakle, ovdje u Laravel, možete koristiti ono što je poznat kao noža predloška motora 33 00:02:08,539 --> 00:02:10,530 stvoriti majstor izgled. 34 00:02:10,530 --> 00:02:15,840 A od tamo, možete naslijediti tako da pod-predlošci mogu zapravo 35 00:02:15,840 --> 00:02:21,210 uključuje elemente unutar da veće baze predloška. 36 00:02:21,210 --> 00:02:21,810 >> Migracija. 37 00:02:21,810 --> 00:02:29,010 Dakle, to je prilično standardne značajke na Većina modernih okviri web aplikacija. 38 00:02:29,010 --> 00:02:32,710 Dakle, to vam omogućuje da predstavljaju Promjene sheme baze podataka u kodu. 39 00:02:32,710 --> 00:02:39,200 Dakle, bez reći, phpMyAdmin, zapravo možete stvoriti ove migracije 40 00:02:39,200 --> 00:02:44,660 gdje predstavlja bazu podataka shema mijenja u kodu izravno. 41 00:02:44,660 --> 00:02:48,070 I to vam omogućuje to-- posebno Ako imate više ljudi koji rade 42 00:02:48,070 --> 00:02:52,650 Na istoj web application-- pratiti te promjene, 43 00:02:52,650 --> 00:02:55,380 kažu u GitHub, ili neki drugi repozitorij. 44 00:02:55,380 --> 00:03:00,880 >> Dakle, ovo je stvarno korisno i ublažava potrebu 45 00:03:00,880 --> 00:03:04,580 da, recimo, prođe oko puno SQL deponijama. 46 00:03:04,580 --> 00:03:07,140 I na kraju, skladatelj je nešto jako, jako korisna 47 00:03:07,140 --> 00:03:09,840 koja vam omogućuje da koristite drugi ljudi kod učiniti strašan stvari. 48 00:03:09,840 --> 00:03:14,020 Tako Laravel je strukturiran kao više skladatelj paketa. 49 00:03:14,020 --> 00:03:17,870 Dakle, kažu, ako ste htjeli dovesti u autentifikacije paketu 50 00:03:17,870 --> 00:03:23,440 ili ako ste htjeli dovesti u nekim vrsta generatora pisma ili admin 51 00:03:23,440 --> 00:03:26,910 sučelje, možete priključiti i igrati oni dijelovi sa skladatelja. 52 00:03:26,910 --> 00:03:30,470 53 00:03:30,470 --> 00:03:31,570 >> Tako ćemo početi. 54 00:03:31,570 --> 00:03:35,185 Sva pitanja iz tebe Dečki Prije nego što počnemo? 55 00:03:35,185 --> 00:03:36,500 Nema pitanja? 56 00:03:36,500 --> 00:03:37,490 Cool. 57 00:03:37,490 --> 00:03:39,990 Dakle, prvi korak je instaliranje skladatelja. 58 00:03:39,990 --> 00:03:43,590 Dakle Skladatelj vam omogućuje da upravljanje tim ovisnosti, 59 00:03:43,590 --> 00:03:47,770 je li to Laravel okvir ili neka treća strana proširenje. 60 00:03:47,770 --> 00:03:50,400 Prva naredba omogućuje da preuzimanje Skladatelj, 61 00:03:50,400 --> 00:03:55,890 a druga naredba omogućuje vam da ga premjestiti u lokalnoj bin mapu 62 00:03:55,890 --> 00:04:01,340 tako da možete pokrenuti Skladatelj izravno preko terminala. 63 00:04:01,340 --> 00:04:05,405 >> Nakon toga, ići naprijed i stvoriti novi Laravel projekt. 64 00:04:05,405 --> 00:04:07,280 Mi smo zapravo događa da koristite neki primjer koda 65 00:04:07,280 --> 00:04:10,760 da sam stavio zajedno stvoriti ovaj blog. 66 00:04:10,760 --> 00:04:14,420 Ali, ako ste počevši od ispočetka, što bi koristili ovu naredbu 67 00:04:14,420 --> 00:04:18,160 ovdje, skladatelj stvaraju-projekt, laravel slash laravel, a zatim 68 00:04:18,160 --> 00:04:19,940 naziv vašeg projekta. 69 00:04:19,940 --> 00:04:22,275 I to će uključivati Svi distribucija kod 70 00:04:22,275 --> 00:04:23,733 za pokretanje novog Laravel projekt. 71 00:04:23,733 --> 00:04:28,870 Dakle, za CS50 završne projekte, vi ćete Vjerojatno želite koristiti tu naredbu. 72 00:04:28,870 --> 00:04:31,210 >> Ali mi ćemo početi s tim. 73 00:04:31,210 --> 00:04:34,630 Dakle, nakon što ste učinili da, ti si idući u dobiti 74 00:04:34,630 --> 00:04:40,190 prilično opsežna broj datoteka u blog50. 75 00:04:40,190 --> 00:04:43,840 Pa neka je samo proći kroz Neki od ovih komponenti. 76 00:04:43,840 --> 00:04:49,060 Primijetit ćete na tom putu imenik, postoji app mapu. 77 00:04:49,060 --> 00:04:52,960 Unutar aplikacije mapu, postoji par korisnih mape. 78 00:04:52,960 --> 00:04:56,330 Uvažen početi s ovo config mapa. 79 00:04:56,330 --> 00:04:59,210 Dakle, to postavlja kako Vaše web aplikacija 80 00:04:59,210 --> 00:05:04,350 će, recimo, ovjeriti osobe ili novčani stvari ili povezivanje na bazu podataka. 81 00:05:04,350 --> 00:05:06,400 >> A ono što je stvarno korisno je da Laravel 82 00:05:06,400 --> 00:05:09,130 omogućuje vam da postavite različite razvojnim okruženjima. 83 00:05:09,130 --> 00:05:12,090 Dakle, ono što smo učinili ovdje ako idemo pod lokalnu mapu, 84 00:05:12,090 --> 00:05:14,720 Tu je database.php datoteka. 85 00:05:14,720 --> 00:05:18,320 A vi ćete primijetiti da se ovdje smo postaviti MySQL veze to 86 00:05:18,320 --> 00:05:22,230 omogućuje pojedincima da povezivanje na MySQL poslužitelj koji je 87 00:05:22,230 --> 00:05:24,310 izravno na CS50 aparata. 88 00:05:24,310 --> 00:05:26,980 I mi smo povezivanje na bazu podataka da sam postavio zove Blog50. 89 00:05:26,980 --> 00:05:31,390 90 00:05:31,390 --> 00:05:37,085 >> Tako ćemo zapravo ići naprijed i pokrenuti radna verzija ovog, 91 00:05:37,085 --> 00:05:39,710 samo da bi dobili osjećaj za ono što Zahtjev da gradimo 92 00:05:39,710 --> 00:05:41,390 izgleda. 93 00:05:41,390 --> 00:05:46,150 Dakle, imam kopiju ovo Blog50 završen. 94 00:05:46,150 --> 00:05:51,910 Dakle Laravel zapravo je izgrađena na poslužitelju 95 00:05:51,910 --> 00:05:53,910 da možete pokrenuti izravno iz naredbenog retka. 96 00:05:53,910 --> 00:05:56,900 Dakle, to je slično PSet prije kada zapravo 97 00:05:56,900 --> 00:06:00,580 izgraditi vlastiti poslužitelj u C Dakle, oni su jedan izgrađen u tako 98 00:06:00,580 --> 00:06:04,010 koje možete izvoditi svoje Laravel aplikacije izravno iz naredbenog retka. 99 00:06:04,010 --> 00:06:11,650 >> Dakle, ako ćemo napraviti php obrtnik služiti, to će lansirati razvoja poslužitelja 100 00:06:11,650 --> 00:06:13,880 na portu 8000. 101 00:06:13,880 --> 00:06:18,250 Dakle, ako ćemo ići na lokalnom računalu 8000, primijetit ćete da je, hej. 102 00:06:18,250 --> 00:06:20,800 Mi imamo blog gore i trčanje. 103 00:06:20,800 --> 00:06:25,090 Dakle Laravel ovdje se generira naslovnica našeg bloga. 104 00:06:25,090 --> 00:06:26,350 Vrlo jednostavna aplikacija. 105 00:06:26,350 --> 00:06:28,610 No, tu je par stvarno divan značajke 106 00:06:28,610 --> 00:06:31,346 da pruža ispod haube. 107 00:06:31,346 --> 00:06:33,680 >> Tako blog prijava je jednostavan. 108 00:06:33,680 --> 00:06:36,430 Ako smo htjeli stvoriti mjesto, možemo kliknuti na taj gumb. 109 00:06:36,430 --> 00:06:40,470 Možemo reći: "Hej, svima. 110 00:06:40,470 --> 00:06:44,530 To je stvarno zabavno Seminar "npr. 111 00:06:44,530 --> 00:06:46,560 I napisati nešto ovdje. 112 00:06:46,560 --> 00:06:48,180 Tekst ovdje. 113 00:06:48,180 --> 00:06:51,327 Ako kliknete Pošalji, vi ćete primijetiti da je naš novi blog 114 00:06:51,327 --> 00:06:53,410 Post je dodan naslovnica bloga. 115 00:06:53,410 --> 00:06:56,532 116 00:06:56,532 --> 00:06:59,970 Ako idemo ovamo, primijetit ćete da je bilo je nekih komentara već 117 00:06:59,970 --> 00:07:01,160 na blogu. 118 00:07:01,160 --> 00:07:03,630 Dakle, ako se pomaknite prema dolje, da ćete primijetiti da je Jonathan Tan kaže 119 00:07:03,630 --> 00:07:08,020 da je vrlo je zaintrigirao ovaj post. 120 00:07:08,020 --> 00:07:11,570 >> Tako ćemo ići u tome objekta relacijskim mapiranje omogućuje 121 00:07:11,570 --> 00:07:16,668 što učiniti tih odnosa u prilično bešavne način. 122 00:07:16,668 --> 00:07:17,660 Cool. 123 00:07:17,660 --> 00:07:20,290 Bilo kakva pitanja o funkcionalnosti onoga što ćemo graditi? 124 00:07:20,290 --> 00:07:22,850 125 00:07:22,850 --> 00:07:23,840 Cool. 126 00:07:23,840 --> 00:07:28,170 Tako ćemo početi s zapravo stvaranje tablice baze podataka. 127 00:07:28,170 --> 00:07:33,190 >> Dakle, podsjećaju da je u CS50 financija, te sastaviti tablicu za korisnike 128 00:07:33,190 --> 00:07:37,100 kao i dionice u svom portfelju. 129 00:07:37,100 --> 00:07:41,040 Dakle, kao što smo spomenuli ranije, ono što koristimo u Laravel 130 00:07:41,040 --> 00:07:43,090 je nešto poznato kao seoba. 131 00:07:43,090 --> 00:07:48,570 Dakle, ako ćemo se vratiti u Raspodjela kod ovdje, 132 00:07:48,570 --> 00:07:51,790 Prva naredba da se pomoći da vam Laravel omogućuje 133 00:07:51,790 --> 00:07:54,240 ovo seliti naredbe. 134 00:07:54,240 --> 00:07:59,220 Dakle, možemo napraviti php obrtnik migriraju: napraviti. 135 00:07:59,220 --> 00:08:01,760 Dakle, to nam omogućuje stvaranje migracija. 136 00:08:01,760 --> 00:08:03,710 >> A onda ćemo htjeti stvoriti migracije 137 00:08:03,710 --> 00:08:07,050 zove create_posts_table, što se događa 138 00:08:07,050 --> 00:08:11,521 da, gdje ćemo biti pohranu naše blogu. 139 00:08:11,521 --> 00:08:14,690 A vi ćete primijetiti da se ovdje to radi kroz neko koda koji zapravo 140 00:08:14,690 --> 00:08:17,580 stvara datoteku s vrijeme pečat na njega. 141 00:08:17,580 --> 00:08:22,260 Dakle, ako ćemo ići i pogledati bazu podataka, ćemo primijetiti pod migracije 142 00:08:22,260 --> 00:08:24,830 da je stvorio prazan file za nas koji 143 00:08:24,830 --> 00:08:30,100 sadrži standardne kod sa imenom da mi je navedeno, stvarati postove stol. 144 00:08:30,100 --> 00:08:31,670 >> A ima dvije funkcije u njega. 145 00:08:31,670 --> 00:08:40,539 Gore je ono što želimo da se prilikom migracije primjenjuje u bazu podataka. 146 00:08:40,539 --> 00:08:46,380 A dolje je ono što ćemo učiniti kada želimo preokrenuti migracija. 147 00:08:46,380 --> 00:08:49,890 Dakle, ovdje ćemo početi s pisanjem ovog migracija. 148 00:08:49,890 --> 00:08:55,480 Tako je korisno klase U Laravel naziva sheme. 149 00:08:55,480 --> 00:08:57,910 >> Tako ćemo pokrenuti Schema :: stvorili. 150 00:08:57,910 --> 00:09:01,080 A mi ćemo stvoriti stol pod nazivom postove. 151 00:09:01,080 --> 00:09:05,980 I ovdje ćemo primijeniti to pomoću funkcije. 152 00:09:05,980 --> 00:09:11,010 A u tu, idemo se zapravo odrediti sadržaj našeg stola. 153 00:09:11,010 --> 00:09:14,860 Mi ćemo stvoriti ID, što je auto-povećavati. 154 00:09:14,860 --> 00:09:19,850 155 00:09:19,850 --> 00:09:24,350 >> Osim toga, idemo stvoriti polje koje 156 00:09:24,350 --> 00:09:27,060 predstavlja naslov naše blogu. 157 00:09:27,060 --> 00:09:29,880 158 00:09:29,880 --> 00:09:36,950 Mi smo također će stvoriti polje za spremanje teksta našeg blogu. 159 00:09:36,950 --> 00:09:40,600 I na kraju, idemo pohraniti neke vremenske oznake 160 00:09:40,600 --> 00:09:44,690 kada je naš post je stvorio i kada je obnovljeno. 161 00:09:44,690 --> 00:09:46,240 A dolje, to je prilično jednostavan. 162 00:09:46,240 --> 00:09:53,974 Sve što želite učiniti je ispustiti Tablica koje smo stvorili. 163 00:09:53,974 --> 00:09:54,930 >> Veliki. 164 00:09:54,930 --> 00:09:55,850 Bilo kakva pitanja? 165 00:09:55,850 --> 00:09:59,730 166 00:09:59,730 --> 00:10:07,110 Pa sad, ako ćemo ići naprijed and-- zapravo, lokalni domaćin, 167 00:10:07,110 --> 00:10:09,640 neka mi izbrisati ono što smo imali ranije. 168 00:10:09,640 --> 00:10:14,330 169 00:10:14,330 --> 00:10:15,190 Idi na bazama podataka. 170 00:10:15,190 --> 00:10:17,640 Ja ću izbrisati ono što smo imali ranije. 171 00:10:17,640 --> 00:10:22,870 Kap to i stvoriti Nova baza Blog50. 172 00:10:22,870 --> 00:10:24,930 I što sad čarobni dio je da se ovdje smo 173 00:10:24,930 --> 00:10:28,760 može primijeniti ove migracije izravno na bazu podataka pomoću naredbenog retka 174 00:10:28,760 --> 00:10:29,290 alat. 175 00:10:29,290 --> 00:10:35,100 Dakle, ako ćemo napraviti php obrtnik migriraju, primijetit ćete da je, hej. 176 00:10:35,100 --> 00:10:38,320 To je stvorilo migracije stol, koje ćemo pogledati u malo, 177 00:10:38,320 --> 00:10:40,540 i to primjenjuje ovaj prvi migracija. 178 00:10:40,540 --> 00:10:43,860 179 00:10:43,860 --> 00:10:48,920 >> Tako gledamo Blog50, primijetit ćete da je stvorio dva stola za nas. 180 00:10:48,920 --> 00:10:50,300 Prvi je to migracije stol. 181 00:10:50,300 --> 00:10:54,130 Dakle, ako smo pregledavati to, primijetit ćete da je Ova tablica je prilično jednostavan. 182 00:10:54,130 --> 00:10:55,490 To je samo rekao da je, hej. 183 00:10:55,490 --> 00:10:58,960 Mi smo primijeniti ovu migraciju. 184 00:10:58,960 --> 00:11:01,470 Mi se vratiti i pogledati postove. 185 00:11:01,470 --> 00:11:05,720 Primijetit ćete da je struktura je upravo ono što smo ga pitali. 186 00:11:05,720 --> 00:11:07,350 Imamo auto-povećavati ID. 187 00:11:07,350 --> 00:11:10,450 Imamo niz za pohranu naslov i tekst polje 188 00:11:10,450 --> 00:11:11,450 za spremanje sadržaja. 189 00:11:11,450 --> 00:11:14,040 190 00:11:14,040 --> 00:11:14,706 Veliki. 191 00:11:14,706 --> 00:11:15,560 Cool. 192 00:11:15,560 --> 00:11:21,626 Bilo kakva pitanja o migracijama rad, kako bismo ih može prijaviti? 193 00:11:21,626 --> 00:11:22,126 Ne? 194 00:11:22,126 --> 00:11:23,600 Cool. 195 00:11:23,600 --> 00:11:26,630 Pa sad ćemo ići naprijed a zapravo stvoriti model. 196 00:11:26,630 --> 00:11:33,100 Dakle, želimo stvoriti postova model koji pohranjuje apstrakciju baze podataka. 197 00:11:33,100 --> 00:11:41,040 Dakle, umjesto da rade MySQL upita izravno, idemo napraviti. 198 00:11:41,040 --> 00:11:45,840 Dakle, moramo stvoriti mapa ovamo zove modelima. 199 00:11:45,840 --> 00:11:48,905 A u tu, idemo se stvoriti datoteku pod nazivom post.php. 200 00:11:48,905 --> 00:11:52,280 201 00:11:52,280 --> 00:11:54,550 >> Unutar tog PHP datoteku, ćemo stvoriti 202 00:11:54,550 --> 00:12:00,590 klasa nakon što se proteže rječit. 203 00:12:00,590 --> 00:12:08,950 Rječito je naziv ORM motor koji Laravel pruža. 204 00:12:08,950 --> 00:12:12,799 I ovdje, možemo očekivati ​​da što zapravo trebate napisati neki kod. 205 00:12:12,799 --> 00:12:14,840 Idemo pisati neke pomoćne funkcije kasnije. 206 00:12:14,840 --> 00:12:19,420 No, iz kutije, to će već prepoznati ono što je u bazi podataka 207 00:12:19,420 --> 00:12:24,770 i možemo pristupiti, kažu, tekst naše blogu ili naslov, 208 00:12:24,770 --> 00:12:29,230 i stvoriti stvari izravno s prilično nema kod god. 209 00:12:29,230 --> 00:12:31,110 >> Dakle, to je jedan od čarobnih sastojaka. 210 00:12:31,110 --> 00:12:34,980 I vjetar je jednom ove klase je više punopravni, 211 00:12:34,980 --> 00:12:40,480 ćemo uključiti podatke o tome što to se odnosi na, tako komentarima. 212 00:12:40,480 --> 00:12:42,310 Također stvoriti funkciju tako da možemo zapravo 213 00:12:42,310 --> 00:12:46,340 izravno dobiti URL od blogu na stranici. 214 00:12:46,340 --> 00:12:46,840 Cool. 215 00:12:46,840 --> 00:12:47,881 Bilo kakva pitanja o tome? 216 00:12:47,881 --> 00:12:51,140 217 00:12:51,140 --> 00:12:51,832 Ne. 218 00:12:51,832 --> 00:12:54,100 Cool. 219 00:12:54,100 --> 00:12:57,860 >> Dakle, sada kada imamo naš model, mi želite stvoriti kontroler koji je 220 00:12:57,860 --> 00:13:02,340 moći sučelje s ovim modelima, a nakon toga baza podataka. 221 00:13:02,340 --> 00:13:05,540 Dakle, ako uzmemo pogled BlogController, vi ćete 222 00:13:05,540 --> 00:13:08,490 primijetiti da postoji ne koliko ovdje sada. 223 00:13:08,490 --> 00:13:13,220 Sve što postoji indeks funkcija koja generira početnu stranicu 224 00:13:13,220 --> 00:13:18,220 ali bez ičega Tu se prikazati još. 225 00:13:18,220 --> 00:13:20,560 >> Dakle, prvi funkciji da ćemo stvoriti 226 00:13:20,560 --> 00:13:25,790 je onaj koji nam omogućuje stvoriti blog post. 227 00:13:25,790 --> 00:13:30,540 Tako ćemo proglasiti Nova funkcija zove newPost. 228 00:13:30,540 --> 00:13:36,430 A u tu jednostavno, idemo postaviti izgled ove stranice 229 00:13:36,430 --> 00:13:41,850 da se donese verziju, Ako se sjećate iz CS50, 230 00:13:41,850 --> 00:13:48,020 ovog predloška zove blog.new, koji ćemo napraviti u malo. 231 00:13:48,020 --> 00:13:53,170 >> Primijetit ćete ovdje na liniji šest koje ćemo navesti ovaj varijablu, izgleda. 232 00:13:53,170 --> 00:13:55,820 A ako pogledamo na stavove mapu, 233 00:13:55,820 --> 00:14:01,640 Tu je izgleda mapa, koje uključuje vrlo osnovni HTML datoteku. 234 00:14:01,640 --> 00:14:04,680 I imajte na umu, primijetit ćete da imamo ovaj spremnik 235 00:14:04,680 --> 00:14:06,800 Ovdje koja daje sadržaj. 236 00:14:06,800 --> 00:14:09,460 Dakle, unutar našeg predloška što ćemo raditi 237 00:14:09,460 --> 00:14:16,180 je stvoriti što će biti supstituirani izravno u tom rasporedu. 238 00:14:16,180 --> 00:14:20,060 >> Zato smo rekli da želimo pružiti Predložak zove blog.new. 239 00:14:20,060 --> 00:14:23,790 No, unutar bloga, postoji Još nije ovaj novi predložak. 240 00:14:23,790 --> 00:14:26,910 Tako ćemo stvoriti file zove new.blade.php. 241 00:14:26,910 --> 00:14:29,860 To govori da je Laravel Ova PHP datoteke treba 242 00:14:29,860 --> 00:14:31,720 biti donesena u Oštrica predložak motora. 243 00:14:31,720 --> 00:14:39,510 244 00:14:39,510 --> 00:14:42,630 Dakle, to je prilično jednostavan datoteka. 245 00:14:42,630 --> 00:14:46,690 To će biti forma kojom mi zapravo dodati u blogu. 246 00:14:46,690 --> 00:14:49,220 >> Tako magiju ovdje iz Baština je to, hej. 247 00:14:49,220 --> 00:14:52,950 Želimo odrediti da poglavlje, poglavlje sadržaj 248 00:14:52,950 --> 00:14:56,640 Ovdje, koja je nacrtana bysection istop. 249 00:14:56,640 --> 00:15:02,260 Dakle, ono što je između njih ovdje će biti zamijenjen u glavnoj izgled. 250 00:15:02,260 --> 00:15:07,000 I ovdje ono što želimo učiniti je Vrlo jednostavno stvoriti novi HTML datoteku. 251 00:15:07,000 --> 00:15:08,690 Ajmo dodali brzo naslov. 252 00:15:08,690 --> 00:15:09,600 Dodaj blogu. 253 00:15:09,600 --> 00:15:12,110 254 00:15:12,110 --> 00:15:15,390 A u njemu, mi smo će stvoriti oblik. 255 00:15:15,390 --> 00:15:19,197 >> Ovaj oblik će imati akciju. 256 00:15:19,197 --> 00:15:21,780 A to će biti nešto da smo zamijeniti kasnije, 257 00:15:21,780 --> 00:15:24,200 pa ćemo vidjeti kako usmjeravanje uklapa ovdje. 258 00:15:24,200 --> 00:15:33,600 Ali mi jednostavno ide definirati za sada kako to ide na URL s rute 259 00:15:33,600 --> 00:15:34,860 iz createPost. 260 00:15:34,860 --> 00:15:38,200 261 00:15:38,200 --> 00:15:40,320 A onda to ide imati postupkom nakon. 262 00:15:40,320 --> 00:15:43,940 263 00:15:43,940 --> 00:15:47,590 Unutar ovdje, idemo da imaju dva polja. 264 00:15:47,590 --> 00:15:49,170 Div class = "oblik-grupa". 265 00:15:49,170 --> 00:15:55,806 >> Mi smo pomoću Bootstrap CSS knjižnicu milostivo pruža Twitter. 266 00:15:55,806 --> 00:15:57,720 Tako ćemo stvoriti dvije od njih. 267 00:15:57,720 --> 00:16:01,700 268 00:16:01,700 --> 00:16:05,970 Dakle, ovaj prvi ulaz će biti naslov. 269 00:16:05,970 --> 00:16:08,437 Dakle input name = "naslov". 270 00:16:08,437 --> 00:16:09,270 Class = "formcontrol". 271 00:16:09,270 --> 00:16:13,540 272 00:16:13,540 --> 00:16:14,425 Upišite = "text". 273 00:16:14,425 --> 00:16:16,050 Idem dodati rezervirano = "Naslov". 274 00:16:16,050 --> 00:16:21,570 275 00:16:21,570 --> 00:16:26,140 >> A onda druga je će biti tekstualni. 276 00:16:26,140 --> 00:16:27,827 Name = "sadržaja". 277 00:16:27,827 --> 00:16:28,660 Class = "formcontrol". 278 00:16:28,660 --> 00:16:33,402 279 00:16:33,402 --> 00:16:34,610 I rezervirano = "Napišite ovdje". 280 00:16:34,610 --> 00:16:42,030 281 00:16:42,030 --> 00:16:43,480 Tamo idemo. 282 00:16:43,480 --> 00:16:46,760 Konačno, ćemo dodaj brzo dostaviti gumb. 283 00:16:46,760 --> 00:16:50,370 Upišite = "submit" class = "BTN BTN-primarne". 284 00:16:50,370 --> 00:16:53,370 285 00:16:53,370 --> 00:16:55,340 Dakle, to su sve značajke Bootstrap tako 286 00:16:55,340 --> 00:16:58,510 kako to može biti određen u na način koji je 287 00:16:58,510 --> 00:17:03,730 plijen korisnika, nego golim HTML. 288 00:17:03,730 --> 00:17:06,250 >> Tako smo definirali kontroler ovdje. 289 00:17:06,250 --> 00:17:08,930 Mi smo definira vrlo jednostavan pogled. 290 00:17:08,930 --> 00:17:12,339 No, ono što nedostaje je vezivno tkivo. 291 00:17:12,339 --> 00:17:15,420 Dakle, u ovom trenutku, Laravel nema pojma kako 292 00:17:15,420 --> 00:17:18,312 ćemo zapravo pristupiti ovoj kontroler. 293 00:17:18,312 --> 00:17:20,270 Dakle, to je definirano u file zove routes.php. 294 00:17:20,270 --> 00:17:22,780 295 00:17:22,780 --> 00:17:24,310 A sada, imamo jedan put. 296 00:17:24,310 --> 00:17:29,060 Koja je kad idemo Početna put za ove web stranice, 297 00:17:29,060 --> 00:17:33,140 to će donijeti Indeks kontroler. 298 00:17:33,140 --> 00:17:38,880 Pa evo što trebate učiniti je provesti Novi put za nas stvoriti mjesto. 299 00:17:38,880 --> 00:17:41,910 >> Dakle, mi koristimo ovu metodu dobiti, što određuje 300 00:17:41,910 --> 00:17:48,650 da kada korisnik pokuša dobiti ovaj page-- posebno 301 00:17:48,650 --> 00:17:52,850 Post slash novi page-- što ćemo raditi 302 00:17:52,850 --> 00:18:02,060 se koristiti kontroler nazvan BlogController novi post. 303 00:18:02,060 --> 00:18:03,460 Onaj koji smo upravo stvorili. 304 00:18:03,460 --> 00:18:08,090 A onda ćemo to Alias ​​kao newPost. 305 00:18:08,090 --> 00:18:17,460 306 00:18:17,460 --> 00:18:19,850 Idemo napraviti još jedan funkcija u malo. 307 00:18:19,850 --> 00:18:23,520 No, ono što je ovdje u ključ "kao" ono što 308 00:18:23,520 --> 00:18:28,195 možemo zamijeniti u roku Naši Blade predložaka. 309 00:18:28,195 --> 00:18:32,390 310 00:18:32,390 --> 00:18:36,230 Dakle, za sada, neka je Zapravo također kažu put. 311 00:18:36,230 --> 00:18:38,380 Tako smo i idemo stvoriti kontroler 312 00:18:38,380 --> 00:18:41,020 tako da možemo stvoriti ove postove. 313 00:18:41,020 --> 00:18:46,940 Dakle, ako korisnik postove na stranicu postu slash novi, što ćemo učiniti 314 00:18:46,940 --> 00:18:51,350 je koristi kontroler koji ćemo napraviti uskoro 315 00:18:51,350 --> 00:18:56,160 nazvao BlogController na createPost. 316 00:18:56,160 --> 00:19:01,929 I mi ćemo alias ovo sa što createPost. 317 00:19:01,929 --> 00:19:03,380 Cool. 318 00:19:03,380 --> 00:19:05,811 >> Bilo kakva pitanja? 319 00:19:05,811 --> 00:19:06,310 Cool. 320 00:19:06,310 --> 00:19:09,790 Tako ćemo pokrenuti ono što smo do sada. 321 00:19:09,790 --> 00:19:16,930 Dakle, ako ćemo napraviti php obrtnik služe, vidjet ćemo puno pogrešaka. 322 00:19:16,930 --> 00:19:20,385 Tako da izgleda da imamo sintakse pogreške na putevima linija 27. 323 00:19:20,385 --> 00:19:20,885 Ah. 324 00:19:20,885 --> 00:19:21,718 Nedostaje jedan zarez. 325 00:19:21,718 --> 00:19:24,900 326 00:19:24,900 --> 00:19:32,870 Dakle, ako ćemo ići na 8.000, vidjet ćete još ništa ovdje. 327 00:19:32,870 --> 00:19:34,740 Dakle, to je početna stranica zadana. 328 00:19:34,740 --> 00:19:37,730 >> Ali, ako idemo na post slash novi, hej. 329 00:19:37,730 --> 00:19:40,425 To će biti obrazac koji smo upravo stvorili. 330 00:19:40,425 --> 00:19:42,550 Upravo sada, nemamo provodi funkcionalnost 331 00:19:42,550 --> 00:19:44,060 kada smo pritisnuti gumb Pošalji. 332 00:19:44,060 --> 00:19:47,110 Dakle, ako smo kliknite na Pošalji gumb, to će se izvoditi na pogrešku. 333 00:19:47,110 --> 00:19:49,840 No, idemo kod koji upravo sada, upravo ono što smo 334 00:19:49,840 --> 00:19:54,840 Želite raditi kad korisnik podnosi ovaj obrazac. 335 00:19:54,840 --> 00:19:55,770 >> Tako ćemo učiniti. 336 00:19:55,770 --> 00:19:57,380 Vratite se kontrolorima datoteke. 337 00:19:57,380 --> 00:20:00,180 Ono što ćemo učiniti je implementirati ovu novu funkciju 338 00:20:00,180 --> 00:20:04,360 koji omogućuje nam stvaranje post. 339 00:20:04,360 --> 00:20:07,370 340 00:20:07,370 --> 00:20:08,990 Objavite novu funkciju. 341 00:20:08,990 --> 00:20:11,527 Javna funkcija createPost. 342 00:20:11,527 --> 00:20:14,610 I ova funkcija će biti malo sofisticiraniji nego što 343 00:20:14,610 --> 00:20:15,559 smo imali prije. 344 00:20:15,559 --> 00:20:18,350 No, vidjet ćete da se ovdje nismo će zapravo napisati bilo koji SQL. 345 00:20:18,350 --> 00:20:20,980 ORM, elokventna ORM, što će omogućiti 346 00:20:20,980 --> 00:20:26,400 da učinimo to u nekim načina elegantniji način. 347 00:20:26,400 --> 00:20:29,140 >> Tako ćemo stvoriti novi post. 348 00:20:29,140 --> 00:20:34,120 I ovdje smo instantiating novi objekt 349 00:20:34,120 --> 00:20:38,080 od modela koje smo upravo stvorena, nakon modela. 350 00:20:38,080 --> 00:20:44,450 A što ćemo učiniti je postaviti Naslov atribut ovog pomoću nečega 351 00:20:44,450 --> 00:20:47,380 koje smo dobili od poslužitelja. 352 00:20:47,380 --> 00:20:52,060 Dakle, to je slično onome što smo imali prije u CS50 financija 353 00:20:52,060 --> 00:20:57,750 gdje bismo učinili, koristite super Global Post potrazi za naslov. 354 00:20:57,750 --> 00:21:01,600 >> Dakle Laravel daje neke sanitarne i sitnica pomoću ovog pomagač funkcije. 355 00:21:01,600 --> 00:21:07,610 Dakle, mi bi radije koristiti ovaj umjesto ovog vrlo osnovni sirovom obliku s PHP. 356 00:21:07,610 --> 00:21:17,430 A onda što ćemo učiniti je postaviti Sadržaj tome da ulaz dobili sadržaja. 357 00:21:17,430 --> 00:21:20,429 358 00:21:20,429 --> 00:21:22,720 Mi smo zapravo događa da zamotate to u korisne funkcije 359 00:21:22,720 --> 00:21:31,820 kako PHP pruža zove nl2br, koji Ispada nove linije, NLS, postiže bs, pauze, 360 00:21:31,820 --> 00:21:35,822 tako da mi zapravo može imati različite stavke u njemu. 361 00:21:35,822 --> 00:21:38,030 I na kraju ono što ćemo učiniti je spremiti ovaj post. 362 00:21:38,030 --> 00:21:41,686 Tako mi zovemo funkcija spremiti na ovom modelu. 363 00:21:41,686 --> 00:21:43,800 Idemo spasiti post. 364 00:21:43,800 --> 00:21:49,970 I na kraju ono što ćemo učiniti je preusmjeravanje korisnika posebno 365 00:21:49,970 --> 00:21:55,060 na putu koji smo si idući u stvoriti kratko, alias by viewPost. 366 00:21:55,060 --> 00:22:00,435 A mi ćemo proći u argumente id, kao id tog novi post. 367 00:22:00,435 --> 00:22:04,280 368 00:22:04,280 --> 00:22:05,640 >> Veliki. 369 00:22:05,640 --> 00:22:09,090 Pa sad, ako smo zapravo ići i pokrenuti to. 370 00:22:09,090 --> 00:22:11,370 Mi ćemo dodati novi post. 371 00:22:11,370 --> 00:22:15,930 Recimo da je ovo seminar 50. 372 00:22:15,930 --> 00:22:17,620 I kažu, sigurno. 373 00:22:17,620 --> 00:22:18,240 Asdl. 374 00:22:18,240 --> 00:22:18,740 God. 375 00:22:18,740 --> 00:22:20,320 Neka vrsta sadržaja. 376 00:22:20,320 --> 00:22:21,180 I dostaviti ga. 377 00:22:21,180 --> 00:22:23,850 A mi ćemo primijetiti da je, hej. ruta nije definirano. 378 00:22:23,850 --> 00:22:32,340 Ali ako pogledamo phpMyAdmin i tražiti li ili ne naše funkcije 379 00:22:32,340 --> 00:22:34,370 učinio ništa. 380 00:22:34,370 --> 00:22:36,670 Pogledajte Blog50 postove. 381 00:22:36,670 --> 00:22:37,720 Mi ćemo primijetiti da je, hej. 382 00:22:37,720 --> 00:22:43,530 U stvari, samo mi je stvorio taj blog post s vremenske oznake kao što je navedeno. 383 00:22:43,530 --> 00:22:46,600 384 00:22:46,600 --> 00:22:51,630 >> Pa sad idemo natrag i zapravo stvoriti ova druga funkcija u našem kontroler, 385 00:22:51,630 --> 00:22:54,790 posebno viewPost kontroler. 386 00:22:54,790 --> 00:23:00,290 Tako javnu funkciju viewPost. 387 00:23:00,290 --> 00:23:04,070 Pa evo što ćemo učiniti, umjesto vlasništvo prazne zagrade, 388 00:23:04,070 --> 00:23:08,800 ćemo želimo proći u ID Post da mi stvaramo. 389 00:23:08,800 --> 00:23:12,800 I odavde što ćemo učiniti zapravo upita baze podataka za to. 390 00:23:12,800 --> 00:23:15,140 >> Dakle, ako mi ne postavljati, postoji funkcija zove 391 00:23:15,140 --> 00:23:18,860 Nađi koji nam omogućava da ga upita po ID. 392 00:23:18,860 --> 00:23:22,110 Naime, zapravo, idemo koristiti alternativnu verziju ovog naziva 393 00:23:22,110 --> 00:23:27,880 Pronađite ili Fail, koja nam omogućuje prestati iz ove funkcije, 394 00:23:27,880 --> 00:23:34,700 baciti iznimku ako je ID prolazimo u ne postoji. 395 00:23:34,700 --> 00:23:37,500 A onda ćemo napraviti nešto slično onome što smo učinili ranije 396 00:23:37,500 --> 00:23:41,100 gdje smo postavili sadržaj ove stranice se 397 00:23:41,100 --> 00:23:47,950 donio verzija ovog novog gledišta što ćemo napraviti, blog.view. 398 00:23:47,950 --> 00:23:51,030 >> A mi ćemo proći u it-- baš kao u CS50 uzvratiti 399 00:23:51,030 --> 00:23:56,645 function-- rječnika varijabli. 400 00:23:56,645 --> 00:23:59,860 401 00:23:59,860 --> 00:24:04,620 Ključevi ove asocijativni niz postati varijable unutar predloška. 402 00:24:04,620 --> 00:24:06,830 Tako ćemo napraviti Post. 403 00:24:06,830 --> 00:24:12,474 Tako prođe neizravno post koji smo pitali iz baze podataka. , 404 00:24:12,474 --> 00:24:14,390 Sada ono što ćemo učiniti je stvoriti ovaj prikaz 405 00:24:14,390 --> 00:24:17,560 tako da mi zapravo može vidjeti Na blogu koji smo izgradili. 406 00:24:17,560 --> 00:24:20,280 >> Tako ćemo stvoriti file zove view.blade.php. 407 00:24:20,280 --> 00:24:25,870 408 00:24:25,870 --> 00:24:29,640 Dakle, unutar tog predloška, što ćemo raditi 409 00:24:29,640 --> 00:24:39,700 se sastaviti jednostavna stranica koja omogućuje nam prikaz sadržaja. 410 00:24:39,700 --> 00:24:44,280 Tako mi dio, koji je prije sadržaja. 411 00:24:44,280 --> 00:24:46,800 Prestani. 412 00:24:46,800 --> 00:24:53,920 A što ćemo učiniti u roku ovdje 413 00:24:53,920 --> 00:24:56,930 napisati neke HTML za prikaz ovu stranicu. 414 00:24:56,930 --> 00:25:03,590 >> Tako ćemo ga završiti s fancy Novi HTML5 Element zove članak. 415 00:25:03,590 --> 00:25:05,790 I ovdje, idemo da ima zaglavlje gdje 416 00:25:05,790 --> 00:25:12,190 ćemo jednostavno morati H1, koja uključuje i naslov posta. 417 00:25:12,190 --> 00:25:17,120 Dakle ovdje, ako gledamo ovu double kovrčava Brace zapis, 418 00:25:17,120 --> 00:25:21,690 to će učiniti u biti PHP odjek pošta naslov. 419 00:25:21,690 --> 00:25:25,630 Dakle, to je korisno stenogram da Laravel nam pruža. 420 00:25:25,630 --> 00:25:31,070 Tako ćemo iskoristiti ovaj zapis umjesto. 421 00:25:31,070 --> 00:25:40,220 >> I ovdje, idemo na isto ispisati sadržaj njega. 422 00:25:40,220 --> 00:25:43,480 I ovdje, idemo učiniti postavljati sadržaj. 423 00:25:43,480 --> 00:25:46,514 424 00:25:46,514 --> 00:25:50,660 A na dnu što smo učiniti je stvoriti podnožje. 425 00:25:50,660 --> 00:25:57,690 A u podnožju, idemo Prvi zaslon kad je to objavljeno. 426 00:25:57,690 --> 00:26:01,320 Dakle, ovo je pošta u, stvorena u. 427 00:26:01,320 --> 00:26:07,996 >> I Laravel koristi jako lijepo Datum knjižnica pod nazivom Carbon. 428 00:26:07,996 --> 00:26:11,120 Dakle, mi zapravo može učiniti nešto što se zove difforHumans, što ste vidjeli prije. 429 00:26:11,120 --> 00:26:14,360 Kad smo objavili. to će reći, kao što su, pet sekundi prije. 430 00:26:14,360 --> 00:26:16,860 Dakle, to je jako lijepo Funkcionalnost Laravel. 431 00:26:16,860 --> 00:26:19,469 432 00:26:19,469 --> 00:26:21,385 I na kraju, idemo zatvoriti ovo podnožje. 433 00:26:21,385 --> 00:26:24,900 434 00:26:24,900 --> 00:26:31,450 >> Pa sad, ako se vratimo na Početna ćemo 435 00:26:31,450 --> 00:26:34,490 vidjeti ništa ovdje još, jer nismo kodirano up početnu stranicu. 436 00:26:34,490 --> 00:26:40,962 Ali, ako idemo na post kose crte jedan, ćemo vidjeti iznimku. 437 00:26:40,962 --> 00:26:42,670 Se bilo tko znati zašto vidimo izuzetak? 438 00:26:42,670 --> 00:26:44,516 Što mi nedostaje? 439 00:26:44,516 --> 00:26:45,290 Bilo koji ideja? 440 00:26:45,290 --> 00:26:48,050 441 00:26:48,050 --> 00:26:49,790 Dakle, ono što smo radili ranije je za nas zapravo 442 00:26:49,790 --> 00:26:52,285 definirati kako ćemo doći do Posebni kontroleri? 443 00:26:52,285 --> 00:26:54,895 444 00:26:54,895 --> 00:26:55,770 >> SPEAKER 1: route? 445 00:26:55,770 --> 00:26:56,519 ERIC Ouyang: Da. 446 00:26:56,519 --> 00:26:58,070 Dakle, još moramo odrediti rutu. 447 00:26:58,070 --> 00:26:59,794 Tako smo se vratiti ovdje da routes.php. 448 00:26:59,794 --> 00:27:01,710 Primijetit ćete da smo nisu zapravo definirani 449 00:27:01,710 --> 00:27:05,010 Kako ćemo doći na ovom kontroleru. 450 00:27:05,010 --> 00:27:06,780 Dakle, sada ćemo definirati ovu rutu. 451 00:27:06,780 --> 00:27:09,280 To je prilično jednostavan, slično onome što smo radili ranije. 452 00:27:09,280 --> 00:27:13,910 No, ono što ćemo primijetiti ovdje da ćemo imati rezervirano mjesto. 453 00:27:13,910 --> 00:27:18,730 >> Dakle, ako mi route.get Slash ID posta. 454 00:27:18,730 --> 00:27:24,290 Dakle, ID je ono što se događa na biti donesen u kontroler. 455 00:27:24,290 --> 00:27:27,820 To će se koristiti Regulator da smo upravo 456 00:27:27,820 --> 00:27:33,560 stvorio, BlogController na viewPost. 457 00:27:33,560 --> 00:27:36,420 A mi ćemo se alias to kao viewPost. 458 00:27:36,420 --> 00:27:46,544 459 00:27:46,544 --> 00:27:47,490 Veliki. 460 00:27:47,490 --> 00:27:49,470 Dakle, sada ćemo napraviti ovaj put. 461 00:27:49,470 --> 00:27:52,100 >> Pa sad, ako ćemo ići ovdje i osvježite ovu stranicu, 462 00:27:52,100 --> 00:27:54,410 mi zapravo nemamo naš novi blog post. 463 00:27:54,410 --> 00:27:57,710 Dakle, to je ono što smo stvorili ranije. 464 00:27:57,710 --> 00:28:01,320 Vrlo jednostavno stranici, ali prikazuje blog koji smo upravo stvorili. 465 00:28:01,320 --> 00:28:04,210 466 00:28:04,210 --> 00:28:04,760 Cool. 467 00:28:04,760 --> 00:28:08,880 A ako ćemo zapravo proći kroz cijeli Proces stvaranja nove blogu, 468 00:28:08,880 --> 00:28:11,700 ćemo primijetiti da je sve preusmjeravanja ispravno. 469 00:28:11,700 --> 00:28:12,950 Ako kažem: "Bok. 470 00:28:12,950 --> 00:28:15,710 Ja sam Jonathan Tan. " 471 00:28:15,710 --> 00:28:18,550 Recite: "Ovo je moj blog." 472 00:28:18,550 --> 00:28:22,830 I dostaviti ga, to će stvoriti ovaj novi blog post s ID 2, 473 00:28:22,830 --> 00:28:28,920 koji koracima od onoga što smo imali prije i prikazuje ispravno. 474 00:28:28,920 --> 00:28:30,760 Awesome. 475 00:28:30,760 --> 00:28:32,930 >> Bilo kakva pitanja? 476 00:28:32,930 --> 00:28:33,430 Da? 477 00:28:33,430 --> 00:28:36,537 >> ZVUČNIK 2: Da li Laravel ručku saniranju i sve za vas? 478 00:28:36,537 --> 00:28:37,245 ERIC Ouyang: Da. 479 00:28:37,245 --> 00:28:42,990 Dakle, kada smo vidjeli ranije, kada što smo učinili za unos debelog crijeva dobili, 480 00:28:42,990 --> 00:28:47,720 da sanitates bilo SQL injekcije i sitnica 481 00:28:47,720 --> 00:28:51,660 da bi bilo dobro obaviti ako smo zlonamjerni korisnik web stranice. 482 00:28:51,660 --> 00:28:54,115 Dakle Laravel ručke puno to iza kulisa. 483 00:28:54,115 --> 00:28:57,030 Dobro pitanje. 484 00:28:57,030 --> 00:29:00,390 >> Tako ćemo pogledati na početnoj stranici. 485 00:29:00,390 --> 00:29:03,220 486 00:29:03,220 --> 00:29:06,790 Dakle, ako smo prvi povratak u Regulator za početnu stranicu, 487 00:29:06,790 --> 00:29:08,740 primijetit ćete da je to ne učiniti mnogo ovdje. 488 00:29:08,740 --> 00:29:11,620 Primijetit ćete da nismo prolazi u ovom kontroleru 489 00:29:11,620 --> 00:29:13,830 ništa osobito korisno. 490 00:29:13,830 --> 00:29:16,660 To je samo ovaj indeks datoteka. 491 00:29:16,660 --> 00:29:18,770 >> Tako ćemo proći u to je nešto korisno. 492 00:29:18,770 --> 00:29:21,450 I posebno, mi smo će proći u postovima. 493 00:29:21,450 --> 00:29:28,740 I Laravel omogućuje nam učiniti sve dužnosti, koje 494 00:29:28,740 --> 00:29:30,625 će nam omogućiti da se sve postove. 495 00:29:30,625 --> 00:29:33,160 496 00:29:33,160 --> 00:29:35,730 Sada, ako ćemo se vratiti index.php, vidjet ćete, hej. 497 00:29:35,730 --> 00:29:37,060 Ništa još ovdje. 498 00:29:37,060 --> 00:29:41,290 No, ono što želimo učiniti ovdje zapravo ponoviti kroz, 499 00:29:41,290 --> 00:29:46,420 napraviti foreach petlju nad postovima da omogućuje nam da ispisati postove. 500 00:29:46,420 --> 00:29:53,180 >> Dakle foreach postove kao Post, ono što želite učiniti 501 00:29:53,180 --> 00:29:57,252 se ispisati sadržaj o blogu. 502 00:29:57,252 --> 00:30:00,210 No, jedna stvar koju ćete primijetiti je da je mi zapravo napisao većinu tog koda 503 00:30:00,210 --> 00:30:01,370 Već u view.blade.php. 504 00:30:01,370 --> 00:30:04,070 505 00:30:04,070 --> 00:30:08,640 Pa što ćemo zapravo učiniti je koristite lijep korisne značajke Blade 506 00:30:08,640 --> 00:30:11,300 a faktor ovaj zajednički kôd. 507 00:30:11,300 --> 00:30:12,570 Dakle, idemo ovdje. 508 00:30:12,570 --> 00:30:16,210 >> Idemo uzeti ovaj sadržaj upravo ovdje, a ono što ćemo učiniti 509 00:30:16,210 --> 00:30:18,170 je stvoriti novu mapu. 510 00:30:18,170 --> 00:30:20,364 Ajmo to zvati parcijala. 511 00:30:20,364 --> 00:30:22,530 I ovdje, idemo stvoriti post.blade.php. 512 00:30:22,530 --> 00:30:26,570 513 00:30:26,570 --> 00:30:33,100 Dakle ovdje, uračunata mi se način na koje želimo prikazati ove postove. 514 00:30:33,100 --> 00:30:38,690 I ovdje ćemo učiniti umjesto zapravo da taj HTML izravno, 515 00:30:38,690 --> 00:30:41,530 ćemo iskoristiti ovu direktivu zove uključuju blog.partials.post. 516 00:30:41,530 --> 00:30:45,210 517 00:30:45,210 --> 00:30:50,635 >> A što ćemo učiniti ovdje je proći u postu na stranici. 518 00:30:50,635 --> 00:30:57,076 519 00:30:57,076 --> 00:31:01,050 Pa sad, ako ćemo se vratiti ovdje, mi ćemo primijetiti da je funkcionalnost je i dalje 520 00:31:01,050 --> 00:31:01,550 isto. 521 00:31:01,550 --> 00:31:05,140 No, sada imamo ovo uračunata iz koda, ovaj HTML. 522 00:31:05,140 --> 00:31:07,070 Dakle, možemo ga koristiti u indeksu. 523 00:31:07,070 --> 00:31:09,090 Dakle, ovdje, to je vrlo jednostavan. 524 00:31:09,090 --> 00:31:17,870 Sve što radimo je uključiti blog.partials.post i niz. 525 00:31:17,870 --> 00:31:20,845 A negdje prije, mi radimo Post. 526 00:31:20,845 --> 00:31:23,830 527 00:31:23,830 --> 00:31:28,182 >> Pa sad, ako se vratimo na početna stranica, vidjet ćemo da je, hej. 528 00:31:28,182 --> 00:31:30,515 Imamo popis svih blogu koje smo imali prije. 529 00:31:30,515 --> 00:31:34,640 530 00:31:34,640 --> 00:31:37,700 Mi možda želite dodati neke "ako" Uvjeti i "drugi" uvjetima 531 00:31:37,700 --> 00:31:39,979 tako da ako nemamo bilo na blogu, 532 00:31:39,979 --> 00:31:41,520 želimo prikazati nešto korisno. 533 00:31:41,520 --> 00:31:42,570 Kao, hej. 534 00:31:42,570 --> 00:31:44,340 Nema sadržaja još na blogu. 535 00:31:44,340 --> 00:31:47,670 A ako ti dečki zapravo pogledati Raspodjela kod na GitHub, 536 00:31:47,670 --> 00:31:50,100 ćete vidjeti primjer kako ćemo to učiniti. 537 00:31:50,100 --> 00:31:52,770 538 00:31:52,770 --> 00:31:54,110 >> Cool. 539 00:31:54,110 --> 00:31:54,890 Bilo kakva pitanja? 540 00:31:54,890 --> 00:31:55,510 Da. 541 00:31:55,510 --> 00:31:57,468 >> ZVUČNIK 2: Valjda samo temeljno pitanje. 542 00:31:57,468 --> 00:31:59,480 Natrag na ruti. 543 00:31:59,480 --> 00:32:00,230 ERIC Ouyang: Da. 544 00:32:00,230 --> 00:32:01,935 Ako pogledamo rutama. 545 00:32:01,935 --> 00:32:06,018 >> ZVUČNIK 2: Gdje uses.blogcontroller na stvaranje post, 546 00:32:06,018 --> 00:32:07,560 što to nas uputiti? 547 00:32:07,560 --> 00:32:08,310 ERIC Ouyang: Da. 548 00:32:08,310 --> 00:32:08,550 Da. 549 00:32:08,550 --> 00:32:09,716 >> ZVUČNIK 2: Ili ono što je that-- 550 00:32:09,716 --> 00:32:12,620 ERIC Ouyang: Pa, pogledajte, kažu primjerice, ovaj put ovdje. 551 00:32:12,620 --> 00:32:17,190 Prvi dio je stvarna URL koji korisnik će ići. 552 00:32:17,190 --> 00:32:19,930 A ovo polje ovdje asocijativni niz, definira 553 00:32:19,930 --> 00:32:24,520 Kako želimo imati Zahtjev čin u odgovoru na njega. 554 00:32:24,520 --> 00:32:29,090 Dakle, koristi se regulator, funkcija koja smo 555 00:32:29,090 --> 00:32:31,610 želite nazvati kada Korisnik ide na ovaj URL. 556 00:32:31,610 --> 00:32:35,190 Dakle viewPost ovdje bio funkcija koja se definira u 557 00:32:35,190 --> 00:32:36,100 od BlogController-- 558 00:32:36,100 --> 00:32:37,160 >> ZVUČNIK 2: vidim. 559 00:32:37,160 --> 00:32:39,368 >> ERIC Ouyang: -SO tu mi zapravo može donijeti pogled, 560 00:32:39,368 --> 00:32:42,590 obavljati neke izračune, interakciju s SQL baze podataka. 561 00:32:42,590 --> 00:32:43,560 >> ZVUČNIK 2: OK. 562 00:32:43,560 --> 00:32:46,960 >> ERIC Ouyang: A onda drugi dio, "kao što je" je pseudonim koji se koristi. 563 00:32:46,960 --> 00:32:50,714 Dakle, ako smo obavijest kada stvorili smo obrazac, 564 00:32:50,714 --> 00:32:52,380 Primijetit ćete da URL :: routecreatePost. 565 00:32:52,380 --> 00:32:55,000 566 00:32:55,000 --> 00:32:58,330 Tako će ga zamijeniti u stvarni URL tako da nismo tvrdi 567 00:32:58,330 --> 00:33:02,940 kodiranje to u tako da ga se može mijenjati Jednom, kažu, ako smo htjeli preimenovati. 568 00:33:02,940 --> 00:33:06,055 Umjesto nakon precrtana Novi, želimo raditi kao, p 569 00:33:06,055 --> 00:33:09,490 slash novi samo za čišćenje naše URL-ova bitnim. 570 00:33:09,490 --> 00:33:14,740 Mi bi ga promijeniti na jednom mjestu, a nego u svim različitih datoteka. 571 00:33:14,740 --> 00:33:15,451 >> Cool. 572 00:33:15,451 --> 00:33:15,950 To je dobro. 573 00:33:15,950 --> 00:33:20,070 Dakle, sada imamo vrlo Osnovna blog platforma. 574 00:33:20,070 --> 00:33:24,260 Mi vjerojatno želite dodati u gumb, tako da mi zapravo može stvoriti nove postove. 575 00:33:24,260 --> 00:33:27,850 Dakle, ako pogledamo u Layout Učitelja, 576 00:33:27,850 --> 00:33:31,280 imamo rubriku zaglavlja Pravo da smo upravo definirano gore na vrhu. 577 00:33:31,280 --> 00:33:34,820 Dakle, možemo dodati gumbiće u vrh od napadača. 578 00:33:34,820 --> 00:33:43,950 >> Dakle, ako ćemo ići na index.blade.php, zapravo učiniti je odrediti što se događa unutar ovdje. 579 00:33:43,950 --> 00:33:46,970 Tako je ovaj dio zaglavlja Pravo, što ćemo raditi 580 00:33:46,970 --> 00:33:55,240 je dodati gumb da ide na URL definirane trase novi post. 581 00:33:55,240 --> 00:33:58,270 582 00:33:58,270 --> 00:34:01,660 Samo da ga počistiti i napraviti je lijepa i sve Bootstrap, 583 00:34:01,660 --> 00:34:04,630 ćemo napraviti to zadani gumb. 584 00:34:04,630 --> 00:34:07,794 Ajmo učiniti velike zabave. 585 00:34:07,794 --> 00:34:09,969 >> A u njemu, mogli bismo staviti neki tekst. 586 00:34:09,969 --> 00:34:14,030 No, ono što Bootstrap daje se glyphicons. 587 00:34:14,030 --> 00:34:17,840 Dakle, mi zapravo može dodati da je Lijepo olovku da smo ranije vidjeli. 588 00:34:17,840 --> 00:34:20,570 589 00:34:20,570 --> 00:34:21,781 Glyphicon. 590 00:34:21,781 --> 00:34:22,489 Glyphicon-olovka. 591 00:34:22,489 --> 00:34:25,449 592 00:34:25,449 --> 00:34:35,340 Dakle, to će nam omogućiti da se stavi U ikonu umjesto teksta. 593 00:34:35,340 --> 00:34:38,960 Sada, ako mi ne prestane, to definirat će ovo poglavlje. 594 00:34:38,960 --> 00:34:39,460 I, hej. 595 00:34:39,460 --> 00:34:45,000 Imamo lijep tipku koja nas povezuje izravno dodavanje blog posta stranicu. 596 00:34:45,000 --> 00:34:46,659 >> Dakle, imamo prilično jednostavan blog. 597 00:34:46,659 --> 00:34:49,710 Možemo dodati stvari za njega. 598 00:34:49,710 --> 00:34:53,650 No, ono što očekuje od blogova je komentirajući. 599 00:34:53,650 --> 00:34:57,340 Dakle, to je jako važno za nas da se, kažu, ako netko posjeti web stranicu 600 00:34:57,340 --> 00:35:00,620 i stvarno voli post koji mogu sudjelovati u raspravi 601 00:35:00,620 --> 00:35:03,100 s drugim ljudima koji posjećuju stranicu. 602 00:35:03,100 --> 00:35:07,050 Tako ćemo ići i stvoriti Nova tablica baze podataka i novi model 603 00:35:07,050 --> 00:35:12,220 tako da možemo povezati Komentari s postovima. 604 00:35:12,220 --> 00:35:17,370 >> Dakle, prvi korak, baš kao i prije, je da moramo pokrenuti migracije. 605 00:35:17,370 --> 00:35:21,982 Dakle kao prije, mi radimo php stručnjak Seliti: napraviti. 606 00:35:21,982 --> 00:35:24,440 A mi ćemo stvoriti jedan zove create_comments_table. 607 00:35:24,440 --> 00:35:29,520 608 00:35:29,520 --> 00:35:36,080 To će stvoriti datoteku da je naš novi migracija. 609 00:35:36,080 --> 00:35:40,170 I mi ćemo, kao i Prije određuju novi stol. 610 00:35:40,170 --> 00:35:42,773 Dakle, shema :: izradu stol pod nazivom komentare. 611 00:35:42,773 --> 00:35:47,410 612 00:35:47,410 --> 00:35:48,430 Ova funkcija ovdje. 613 00:35:48,430 --> 00:35:51,620 I u ovoj tablici ono ćemo napraviti je prvi, 614 00:35:51,620 --> 00:35:54,260 kao i prije, dodijeliti ID. 615 00:35:54,260 --> 00:35:56,552 Koracima ID. 616 00:35:56,552 --> 00:36:05,440 >> Ćemo dopustiti korisnik to povezati njihovo ime s posebnim komentar. 617 00:36:05,440 --> 00:36:10,080 Mi ćemo imati neki sadržaj koji ide uz ovaj, tekstualni sadržaj. 618 00:36:10,080 --> 00:36:13,580 619 00:36:13,580 --> 00:36:15,910 I ovdje što ćemo to je nešto drugo. 620 00:36:15,910 --> 00:36:23,620 Mi ćemo stvoriti cijeli broj kako se zove POST_ID koji 621 00:36:23,620 --> 00:36:32,100 će značiti ono mjesto Posebno komentar ide s. 622 00:36:32,100 --> 00:36:35,410 >> Osim toga, mi zapravo ide postavili strani ključ ograničenje na to. 623 00:36:35,410 --> 00:36:37,750 Dakle, MySQL će provoditi taj. 624 00:36:37,750 --> 00:36:39,840 Mi ne pokušavamo dodijeliti komentar broj 625 00:36:39,840 --> 00:36:44,440 5 na post 5000, ako nemamo imala 5,000 postova na njemu. 626 00:36:44,440 --> 00:36:50,240 Dakle, ono što mi radimo ovdje, mi strano POST_ID 627 00:36:50,240 --> 00:37:02,046 će biti povezan s Polje ID sa stola postove. 628 00:37:02,046 --> 00:37:05,900 A mi ćemo zapravo učiniti nešto drugo korisno, je onDelete. 629 00:37:05,900 --> 00:37:11,180 >> Dakle, ako smo izbrisali neke objaviti iz baze podataka, 630 00:37:11,180 --> 00:37:15,507 da želimo kaskadni briše za komentare, kao dobro. 631 00:37:15,507 --> 00:37:18,090 Budući da to nije vrlo korisno za nas da imaju primjedbe na postove 632 00:37:18,090 --> 00:37:19,900 da ne postoje. 633 00:37:19,900 --> 00:37:23,764 I na kraju, kao i prije, da smo će postaviti vrijeme marke na to. 634 00:37:23,764 --> 00:37:28,690 635 00:37:28,690 --> 00:37:33,510 I kao prije, idemo ima obrnuti migracije se 636 00:37:33,510 --> 00:37:37,920 spustivši tablice komentare. 637 00:37:37,920 --> 00:37:40,070 >> Pa sad, ako ćemo se vratiti ovdje, idemo 638 00:37:40,070 --> 00:37:43,110 pokrenuti ovu migracija, obrtnik useliti. 639 00:37:43,110 --> 00:37:46,400 A sada je primijenjena ta migracije da smo upravo stvorili. 640 00:37:46,400 --> 00:37:50,080 Dakle, ako smo pogled na phpMyAdmin, mi, u stvari, sada 641 00:37:50,080 --> 00:37:53,210 imate komentare stol koji ima Struktura da smo upravo naveli. 642 00:37:53,210 --> 00:37:56,900 643 00:37:56,900 --> 00:37:59,610 Dakle kao prije, da smo će stvoriti novi model 644 00:37:59,610 --> 00:38:04,450 na apstraktnoj SQL tablice da smo upravo stvorili. 645 00:38:04,450 --> 00:38:05,450 >> Tako ćemo dodati nove datoteke. 646 00:38:05,450 --> 00:38:06,908 Mi ćemo ga nazvati comment.php. 647 00:38:06,908 --> 00:38:10,160 648 00:38:10,160 --> 00:38:15,490 I to je zapravo će biti prilično jednostavno sa malim promjenama 649 00:38:15,490 --> 00:38:17,520 Prema onome što smo imali prije. 650 00:38:17,520 --> 00:38:22,790 Dakle klase Komentar proteže rječit. 651 00:38:22,790 --> 00:38:25,930 A što ćemo učiniti ovdje se definira 652 00:38:25,930 --> 00:38:31,360 funkcija koja je Odnos s drugim modelima. 653 00:38:31,360 --> 00:38:39,250 Tako ćemo imati poštu funkciju da se ovdje vraća taj odnos. 654 00:38:39,250 --> 00:38:43,330 Tako smo navodeći da je to pripada objaviti, 655 00:38:43,330 --> 00:38:49,200 rekavši da je on nakon da je ovaj komentar pripada. 656 00:38:49,200 --> 00:38:53,917 >> To zapravo mora biti kapital P za model. 657 00:38:53,917 --> 00:38:56,500 A sada je samo na drugi Flip strana, moramo reći da je, hej. 658 00:38:56,500 --> 00:38:58,160 Postovi komentare. 659 00:38:58,160 --> 00:39:03,030 Pa što ćemo učiniti je definirati javne komentare funkcija. 660 00:39:03,030 --> 00:39:07,100 661 00:39:07,100 --> 00:39:13,620 I ovdje se vratio to ima mnogo komentar. 662 00:39:13,620 --> 00:39:16,630 663 00:39:16,630 --> 00:39:22,010 Tako sada magično kada imamo dužnost, možemo dobiti atributa komentare 664 00:39:22,010 --> 00:39:25,615 i to će ga popuniti s Podaci iz baze podataka. 665 00:39:25,615 --> 00:39:32,950 666 00:39:32,950 --> 00:39:38,220 >> Tako ćemo zapravo proći i dodati novu značajku za naše stajalište datoteke 667 00:39:38,220 --> 00:39:43,600 tako da možemo i zaslon i stvoriti komentare. 668 00:39:43,600 --> 00:39:54,010 669 00:39:54,010 --> 00:39:56,865 Tako ćemo definirati novo poglavlje. 670 00:39:56,865 --> 00:39:59,890 Ajmo to razdvojiti s horizontalnom pravilo. 671 00:39:59,890 --> 00:40:04,065 Odjeljak id = "komentari". 672 00:40:04,065 --> 00:40:06,990 Ono što ćemo raditi Ovdje je, kao i prije, 673 00:40:06,990 --> 00:40:09,880 ponoviti kroz sve komentare. 674 00:40:09,880 --> 00:40:12,960 Pa zapravo koliko mi je to, kao što sam spomenuo, prilično čarobno. 675 00:40:12,960 --> 00:40:14,440 >> Mi ne upisuju komentare. 676 00:40:14,440 --> 00:40:17,410 677 00:40:17,410 --> 00:40:22,710 A onda možemo to učiniti za svaku petlje tijekom svakog od komentara. 678 00:40:22,710 --> 00:40:25,740 A što ćemo to je komentar div class, 679 00:40:25,740 --> 00:40:29,240 a mi ćemo zapravo ispisati ovaj komentar. 680 00:40:29,240 --> 00:40:34,150 Dakle prikazati kako hej, komentirati name-- osobu 681 00:40:34,150 --> 00:40:38,080 koji je objavio ovu comment-- kaže dot dot dot. 682 00:40:38,080 --> 00:40:41,240 Idemo staviti ovo u bloku citat, samo da izgleda lijepo. 683 00:40:41,240 --> 00:40:46,470 A onda komentirati sadržaj blok citat. 684 00:40:46,470 --> 00:40:49,790 685 00:40:49,790 --> 00:40:50,892 I foreach. 686 00:40:50,892 --> 00:40:53,100 Dakle, sada to ide na petlji kroz sve komentare 687 00:40:53,100 --> 00:40:56,500 koji je povezan uz svaki od stupova 688 00:40:56,500 --> 00:41:00,960 i prikazati svaku od tih komentara. 689 00:41:00,960 --> 00:41:05,120 Ja ću dodati još jedan dio prema dolje Ovdje, što nam omogućuje da dodate komentar. 690 00:41:05,120 --> 00:41:07,400 Tako H3 klase. 691 00:41:07,400 --> 00:41:09,580 Stavite naslov ovdje. 692 00:41:09,580 --> 00:41:10,934 Dodaj komentar. 693 00:41:10,934 --> 00:41:13,886 694 00:41:13,886 --> 00:41:15,700 A mi ćemo definirati novi oblik. 695 00:41:15,700 --> 00:41:18,730 >> Dakle kao prije, da smo učiniti oblik djelovanja. 696 00:41:18,730 --> 00:41:22,740 I ovdje, nova akcija smo će definirati novi kontroler koji 697 00:41:22,740 --> 00:41:26,770 omogućuje nam da odgovori na post Zahtjevi za stvaranje komentare. 698 00:41:26,770 --> 00:41:33,365 Dakle URL :: rute createComment. 699 00:41:33,365 --> 00:41:37,730 Idem proći u parametru ovdje. 700 00:41:37,730 --> 00:41:40,380 ID posta mi stvaramo komentar. 701 00:41:40,380 --> 00:41:45,340 702 00:41:45,340 --> 00:41:50,280 I zatim se metoda ovog Obrazac će biti poslije. 703 00:41:50,280 --> 00:41:57,240 >> Sada ćemo dodati u dva polja, oblik skupina. 704 00:41:57,240 --> 00:42:04,670 To će biti ulaz sa ime "ime" i class = "oblik-kontrole", 705 00:42:04,670 --> 00:42:14,250 type = "tekst", te s rezervirano = "Vaše ime". 706 00:42:14,250 --> 00:42:19,380 Mi smo također će definirati Drugo područje oblik, koji 707 00:42:19,380 --> 00:42:22,970 će biti tekst područje kao što smo imali prije. 708 00:42:22,970 --> 00:42:25,480 Baš kao i prije, zovu ga sadržaja. 709 00:42:25,480 --> 00:42:31,160 Class = "oblik kontrole." 710 00:42:31,160 --> 00:42:41,660 Rezervirano = "Napišite ovdje." 711 00:42:41,660 --> 00:42:44,100 >> I samo tako da smo može zapravo podnijeti, 712 00:42:44,100 --> 00:42:55,740 dostaviti tip i klasu "BTN BTN-primarni." 713 00:42:55,740 --> 00:42:57,005 Zatvori obrazac. 714 00:42:57,005 --> 00:42:59,010 Zatvorite ovu akciju. 715 00:42:59,010 --> 00:43:06,580 Pa sad, ako smo osvježite ovu stranicu na kojoj imamo, recimo, određenu dužnost. 716 00:43:06,580 --> 00:43:10,310 Moramo ponovno podizanje poslužitelja. 717 00:43:10,310 --> 00:43:12,340 PHP majstor poslužiti. 718 00:43:12,340 --> 00:43:15,630 719 00:43:15,630 --> 00:43:18,334 Ponovno podizanje sustava to. 720 00:43:18,334 --> 00:43:19,500 Moramo definirati rutu. 721 00:43:19,500 --> 00:43:25,090 No, za sada, neka je samo uzeti , tako da mi zapravo može vam pokazati 722 00:43:25,090 --> 00:43:28,750 što stranica izgleda, a zatim mi zapravo ćete stvoriti taj put. 723 00:43:28,750 --> 00:43:29,250 Dakle, hej. 724 00:43:29,250 --> 00:43:37,080 Imamo ovaj novi oblik ovdje tako da možemo stvoriti komentare. 725 00:43:37,080 --> 00:43:39,950 Tako ćemo zapravo definirati funkcija unutar kontrolera 726 00:43:39,950 --> 00:43:43,020 tako da možemo dodati komentare. 727 00:43:43,020 --> 00:43:43,650 Idemo natrag. 728 00:43:43,650 --> 00:43:48,420 I u blogcontroller.php, što ćemo raditi 729 00:43:48,420 --> 00:43:51,620 je stvoriti novu funkciju zove stvoriti komentar. 730 00:43:51,620 --> 00:43:54,220 731 00:43:54,220 --> 00:43:57,040 >> Javna funkcija createComment. 732 00:43:57,040 --> 00:44:00,130 To će imati jednu parametar, ID postove 733 00:44:00,130 --> 00:44:02,280 da smo komentiranja. 734 00:44:02,280 --> 00:44:04,790 I kao prije, da smo će najprije dobiti mjesto. 735 00:44:04,790 --> 00:44:10,790 Dakle objaviti, findOrfail id. 736 00:44:10,790 --> 00:44:15,020 Nakon toga, idemo stvoriti novi komentar. 737 00:44:15,020 --> 00:44:18,880 Dakle komentirati = novi komentar. 738 00:44:18,880 --> 00:44:26,820 Komentar name = Input :: dobili ime. 739 00:44:26,820 --> 00:44:39,420 Komentar sadržaja = ista nova linija u pauzama ulaznog :: dobiti sadržaja. 740 00:44:39,420 --> 00:44:43,460 >> I na kraju, mi ćemo morati povezati ovaj komentar s poštom. 741 00:44:43,460 --> 00:44:47,230 Tako ćemo iskoristiti ova funkcija, komentari, 742 00:44:47,230 --> 00:44:50,260 koja nam omogućuje da spremite taj odnos. 743 00:44:50,260 --> 00:44:54,780 Tako sada ovaj komentar će imati automatski nakon ID. 744 00:44:54,780 --> 00:44:57,640 Također bi mogao postaviti ručno, ali to je 745 00:44:57,640 --> 00:45:02,490 više lako pročitati koliko kao funkcija ide. 746 00:45:02,490 --> 00:45:05,860 I nakon što smo obavljati to, što želimo učiniti 747 00:45:05,860 --> 00:45:10,840 je preusmjeravanje korisnika na Put određeno viewPost 748 00:45:10,840 --> 00:45:16,010 s nizom s parametar post ID. 749 00:45:16,010 --> 00:45:20,360 750 00:45:20,360 --> 00:45:24,660 >> I sada, tako da je to zapravo funkcije, moramo definirati ovu rutu. 751 00:45:24,660 --> 00:45:27,126 Ruta :: Post. 752 00:45:27,126 --> 00:45:32,800 A sada ćemo nazvati to Post slash ID kose crte komentar. 753 00:45:32,800 --> 00:45:36,725 Array koristi novu funkciju da smo upravo stvorili. 754 00:45:36,725 --> 00:45:37,350 BlogController. 755 00:45:37,350 --> 00:45:40,820 756 00:45:40,820 --> 00:45:44,770 CreateComment kao createComment. 757 00:45:44,770 --> 00:45:47,430 758 00:45:47,430 --> 00:45:50,120 Veliki. 759 00:45:50,120 --> 00:45:56,150 >> Tako sada nadamo da smo osvježite ovu stranicu i dodati u komentaru, recimo, Davida Malan. 760 00:45:56,150 --> 00:46:00,630 761 00:46:00,630 --> 00:46:03,920 "Nadam se da to radi." 762 00:46:03,920 --> 00:46:05,216 Pošalji. 763 00:46:05,216 --> 00:46:09,050 Mi ne, u stvari, ima komentar na ovom blogu. 764 00:46:09,050 --> 00:46:13,760 765 00:46:13,760 --> 00:46:14,260 Cool. 766 00:46:14,260 --> 00:46:16,790 767 00:46:16,790 --> 00:46:21,430 Tako sada imamo prilično funkcionalni blogu. 768 00:46:21,430 --> 00:46:23,180 Mi samo će dodajte par ugađanje tako 769 00:46:23,180 --> 00:46:29,090 da imamo neki korisniji Informacije o ovim postovima. 770 00:46:29,090 --> 00:46:32,780 >> Dakle, ako ćemo se vratiti u naslovnica, nemamo smisla 771 00:46:32,780 --> 00:46:38,790 koliko komentari na svakom od tih mjesta. 772 00:46:38,790 --> 00:46:41,340 Dakle, ono što mi zapravo događa učiniti je, u našem modelu, 773 00:46:41,340 --> 00:46:51,250 definirati pomagač funkciju koja omogućuje nas navesti broj komentara 774 00:46:51,250 --> 00:46:53,020 da ide s određenom postu. 775 00:46:53,020 --> 00:46:56,050 Tako ćemo stvoriti funkcija pomagač. 776 00:46:56,050 --> 00:46:58,020 >> Javna funkcija. 777 00:46:58,020 --> 00:46:58,770 GetNumCommentsStr. 778 00:46:58,770 --> 00:47:02,030 779 00:47:02,030 --> 00:47:07,180 Tako string koji određuje broj od komentara koje idu uz to. 780 00:47:07,180 --> 00:47:12,850 A što ćemo učiniti je reći da num = Ova komentari računati. 781 00:47:12,850 --> 00:47:15,150 Tako ćemo brojati Broj komentara. 782 00:47:15,150 --> 00:47:22,900 I ako je taj broj jednak 1, da smo Samo ću se vratiti 1 komentar. 783 00:47:22,900 --> 00:47:28,890 A onda na neki drugi način, želimo se vratiti ulančavanje NUM i komentare, 784 00:47:28,890 --> 00:47:31,890 tako da smo dobili pluralizacije točna. 785 00:47:31,890 --> 00:47:33,380 Samo bi to jedna citat. 786 00:47:33,380 --> 00:47:36,040 787 00:47:36,040 --> 00:47:37,640 Jedan komentar. 788 00:47:37,640 --> 00:47:41,140 >> I sada možemo koristiti ovu funkciju neposredno unutar našeg gledišta. 789 00:47:41,140 --> 00:47:44,510 Dakle, ako ćemo se vratiti u parcijalni postove koje smo stvorili, 790 00:47:44,510 --> 00:47:49,370 Sada želimo da se zapravo prikazati broj komentara. 791 00:47:49,370 --> 00:47:52,660 Dakle, ono što možemo učiniti je Post, koristiti ovu funkciju 792 00:47:52,660 --> 00:47:57,230 da smo upravo stvorili na prikazati broj komentara. 793 00:47:57,230 --> 00:48:00,440 Dakle, ako mi sada osvježiti, to ne, u stvari, prikaz 794 00:48:00,440 --> 00:48:02,240 brojčane komentari koje idu uz to. 795 00:48:02,240 --> 00:48:05,320 >> Ako bismo htjeli biti fancy, ako vas zapravo, pogledajte distribucije koda, 796 00:48:05,320 --> 00:48:07,800 zapravo možemo povezati ovo komentarima. 797 00:48:07,800 --> 00:48:17,040 Ako se sjećate, definira se u roku vidjeti da to ima poglavlje osobne komentare. 798 00:48:17,040 --> 00:48:22,460 Dakle, ako smo zapravo htjeli povezati izravno na komentarima, što 799 00:48:22,460 --> 00:48:36,000 mi bi ovdje napraviti je href URL rute viewPost. 800 00:48:36,000 --> 00:48:40,550 Pass u polju ID post ID. 801 00:48:40,550 --> 00:48:46,140 A onda želimo ići posebno poglavlje komentari. 802 00:48:46,140 --> 00:48:49,900 >> Ovdje ćemo zatvoriti oznaku. 803 00:48:49,900 --> 00:48:52,950 Pa sad, ako ćemo osvježiti ovo stranica, mi kliknite na ovaj. 804 00:48:52,950 --> 00:48:54,700 Mi ćemo ići izravno na poglavlje komentari. 805 00:48:54,700 --> 00:48:57,580 Ako smo imali duži post, možete zapravo vidjeti ovu odskočiti dolje. 806 00:48:57,580 --> 00:49:02,668 Ali vi ćete primijetiti da je Ne na vrhu stranice. 807 00:49:02,668 --> 00:49:04,090 Cool. 808 00:49:04,090 --> 00:49:04,600 Veliki. 809 00:49:04,600 --> 00:49:08,582 Dakle, to je prilično jednostavan Primjer nešto jednostavno 810 00:49:08,582 --> 00:49:09,790 koje možete učiniti s Laravel. 811 00:49:09,790 --> 00:49:13,230 >> No, možete primijetiti da se ovdje smo učinili mnogo stvari 812 00:49:13,230 --> 00:49:16,200 s relativno malom količinom koda. 813 00:49:16,200 --> 00:49:19,420 Laravel nam omogućuje da učinite SQL upita iza kulisa. 814 00:49:19,420 --> 00:49:21,960 Ona radi sanitarne za nas iza kulisa. 815 00:49:21,960 --> 00:49:25,940 Omogućuje nam da napraviti tih odnosa Vrlo jednostavno, bez potrebe za nas 816 00:49:25,940 --> 00:49:33,350 učiniti bilo koji SQL pridružiti izjave kombinirati komentare s onim postove. 817 00:49:33,350 --> 00:49:36,480 Nam omogućuje da to učinite Baština predložaka 818 00:49:36,480 --> 00:49:43,780 tako da možemo definirati ove gnijezdo slika pa nismo se ponavlja, 819 00:49:43,780 --> 00:49:47,020 baš kao i kada smo imali da Prikaz od blogu 820 00:49:47,020 --> 00:49:50,770 da ne moraju kopirajte i zalijepite kod. 821 00:49:50,770 --> 00:49:55,450 >> I odavde možete izgraditi sve komplicirano aplikacije. 822 00:49:55,450 --> 00:49:58,370 Možete zamisliti, ako se htjela provesti prijavu u, 823 00:49:58,370 --> 00:50:05,532 mogli bismo reći, dovesti u trećoj stranci okvir koji nam omogućuje da učinite to. 824 00:50:05,532 --> 00:50:07,490 Postoji hrpa njih da su stvarno, stvarno 825 00:50:07,490 --> 00:50:09,970 velika da može učiniti kao što je, lozinka za oporavak. 826 00:50:09,970 --> 00:50:14,450 A to će vam poslati reset lozinke e-pošte. 827 00:50:14,450 --> 00:50:18,260 Možemo provesti dozvolu tako da mogu stvoriti mjesto, 828 00:50:18,260 --> 00:50:20,350 ali netko drugi ne može uređivati. 829 00:50:20,350 --> 00:50:24,610 Možemo provesti Funkcionalnost izbrisati postove. 830 00:50:24,610 --> 00:50:28,160 >> No, što se može vidjeti ovdje imamo dosta mnogo su svi osnovni su dijelovi 831 00:50:28,160 --> 00:50:31,640 izgraditi neki jako, jako, dinamičan i uzbudljiv web aplikacije. 832 00:50:31,640 --> 00:50:34,035 Dakle s tim, mislim da smo dobro. 833 00:50:34,035 --> 00:50:35,720 Imate li vi kakvih pitanja? 834 00:50:35,720 --> 00:50:36,220 Da? 835 00:50:36,220 --> 00:50:38,090 >> SPEAKER 3: Kako Vam se dobiti statički sadržaj? 836 00:50:38,090 --> 00:50:39,256 >> ERIC Ouyang: Statički sadržaj. 837 00:50:39,256 --> 00:50:45,520 Dakle, vidjeli ste prije toga, kada smo imali ovo ovdje, taj sadržaj izgled, 838 00:50:45,520 --> 00:50:49,625 Pogled make, imali smo to bez tog polja nakon toga. 839 00:50:49,625 --> 00:50:56,440 840 00:50:56,440 --> 00:50:59,152 Blog.index, imali smo to kao samo statički datoteke. 841 00:50:59,152 --> 00:51:00,860 Dakle, ako ne prođe sve zajedno s njim, 842 00:51:00,860 --> 00:51:03,340 to samo će donijeti neposredno HTML. 843 00:51:03,340 --> 00:51:09,240 Ali, ako ćemo proći u ovom asocijativnog niz postova, što je dinamički 844 00:51:09,240 --> 00:51:12,950 izvukao iz baze podataka, što Možete napraviti stranicu dinamičan. 845 00:51:12,950 --> 00:51:13,450 Cool. 846 00:51:13,450 --> 00:51:14,830 Ima li još pitanja? 847 00:51:14,830 --> 00:51:16,786 848 00:51:16,786 --> 00:51:19,720 SPEAKER 3: Kako biste usporedili Laravel bi možda nekim drugim opcijama? 849 00:51:19,720 --> 00:51:20,525 ERIC Ouyang: Naravno. 850 00:51:20,525 --> 00:51:21,025 Da. 851 00:51:21,025 --> 00:51:23,430 Tako Laravel is-- to Velika question-- 852 00:51:23,430 --> 00:51:26,190 jedna od mnogih opcija za web okvirima. 853 00:51:26,190 --> 00:51:31,160 Dakle, Ruby on Rails je jedan koji je popularan. 854 00:51:31,160 --> 00:51:34,590 Vjerujem Twitter koristi se provodi s Ruby on Rails. 855 00:51:34,590 --> 00:51:37,600 Mislim da sam budući uključen. 856 00:51:37,600 --> 00:51:40,780 Tu je još jednom pozvao FuelPHP. 857 00:51:40,780 --> 00:51:46,120 >> Dakle, Ruby on Rails koristi Ruby jezik i provodi puno MVC stvari 858 00:51:46,120 --> 00:51:48,200 da vidimo ovdje. 859 00:51:48,200 --> 00:51:52,320 FuelPHP je još PHP okvir. 860 00:51:52,320 --> 00:51:54,490 Django je jedan od mojih favorita. 861 00:51:54,490 --> 00:51:57,010 To je web okvir za Python. 862 00:51:57,010 --> 00:52:01,270 Dakle, možete pisati svoje web aplikaciju u Pythonu. 863 00:52:01,270 --> 00:52:03,760 Dakle, postoji tona tih opcija. 864 00:52:03,760 --> 00:52:06,170 >> Laravel, mislim, tako i Veliki je moja omiljena u pravu 865 00:52:06,170 --> 00:52:08,232 Sada za PHP samo zato komponenata 866 00:52:08,232 --> 00:52:09,440 da smo razgovarali o ranije. 867 00:52:09,440 --> 00:52:11,910 To je Skladatelj omogućeno. 868 00:52:11,910 --> 00:52:15,750 To uključuje i jako, jako izražajna ORM sustav. 869 00:52:15,750 --> 00:52:18,800 Također ima stvarno strašan templating Jezik koji neki drugi 870 00:52:18,800 --> 00:52:20,630 jednostavno ne daju. 871 00:52:20,630 --> 00:52:21,400 I migracijama. 872 00:52:21,400 --> 00:52:23,432 Migracije su strašan kao dobro. 873 00:52:23,432 --> 00:52:24,860 Cool? 874 00:52:24,860 --> 00:52:25,390 Awesome. 875 00:52:25,390 --> 00:52:27,560 Pa, hvala toliko za gledajući ovaj seminar, 876 00:52:27,560 --> 00:52:30,650 i sretno na svojim završnim projektima. 877 00:52:30,650 --> 00:52:31,616