1 00:00:00,000 --> 00:00:02,538 >> [Predvaja glasba] 2 00:00:02,538 --> 00:00:10,800 3 00:00:10,800 --> 00:00:12,390 >> ERIC Ouyang: Hej, vsi. 4 00:00:12,390 --> 00:00:13,580 Dobrodošli. 5 00:00:13,580 --> 00:00:16,860 Gre Building Dynamic 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 Sem letniku študirajo družbene študije s sekundarne na področju računalništva, 8 00:00:23,860 --> 00:00:27,290 in jaz živim v Adams Hiša tukaj na Harvardu. 9 00:00:27,290 --> 00:00:33,340 >> Torej Laravel, na najbolj jedro, je okvir web app MVC. 10 00:00:33,340 --> 00:00:38,265 Torej je všeč, kar imate vi počeli z CS50 finance, 11 00:00:38,265 --> 00:00:42,480 Laravel je okvir, ki omogoča ste za izgradnjo dinamičnih spletnih aplikacij. 12 00:00:42,480 --> 00:00:47,710 Tako da lahko o njej mislijo v nekaterih pomenih kot nadaljevanje vrste stvari 13 00:00:47,710 --> 00:00:50,470 ste delali v CS50 Finance, ampak sistem, ki je 14 00:00:50,470 --> 00:00:55,890 Veliko bolj robusten, veliko bolj elegantno v nekaterih pomenih, 15 00:00:55,890 --> 00:00:57,870 in zagotavlja veliko funkcionalnost za vas 16 00:00:57,870 --> 00:01:03,060 zgraditi precej zapletena spletne aplikacije. 17 00:01:03,060 --> 00:01:05,010 Torej, gremo skozi nekaj od ključnih elementov, 18 00:01:05,010 --> 00:01:09,550 in potem se bomo potopili Primer gradnje blog 19 00:01:09,550 --> 00:01:12,500 aplikacija z Laravel. 20 00:01:12,500 --> 00:01:16,700 >> Torej, ena od prvih stvari, ki jih ga loči od MVC vrsto dela 21 00:01:16,700 --> 00:01:22,100 da ste delali z CS50 je vključuje ORM motor. 22 00:01:22,100 --> 00:01:27,410 Torej ORM stoji za objekt relacijska preslikava. 23 00:01:27,410 --> 00:01:31,080 Torej, to vam omogoča, da gradijo plast odvzem 24 00:01:31,080 --> 00:01:35,230 Med baze in vaše krmilniki. 25 00:01:35,230 --> 00:01:39,150 Torej, za razliko od CS50 finance, kjer je ste neposredno poizvedujejo, 26 00:01:39,150 --> 00:01:44,790 ORM plasti vam omogoča, da abstraktna, da stran in ustvariti 27 00:01:44,790 --> 00:01:48,085 Modeli, ki so močnejši od lahko neposredno z SQL poizvedb. 28 00:01:48,085 --> 00:01:50,590 29 00:01:50,590 --> 00:01:53,510 >> Druga stvar, ki je res koristno je Dedne predloge. 30 00:01:53,510 --> 00:01:58,990 Tako boste opazili v CS50 finance, boste na koncu reportaža veliko stvari, 31 00:01:58,990 --> 00:02:03,150 kjer krajih si lahko potencialno ponovno uporabo stvari, niste mogli. 32 00:02:03,150 --> 00:02:08,539 Torej, tukaj v Laravel, lahko uporabite tisto, kar je znan kot predlogo motor rezila 33 00:02:08,539 --> 00:02:10,530 da ustvarite postavitev mojster. 34 00:02:10,530 --> 00:02:15,840 In od tam, lahko podedujejo tako da sub-Predloge lahko dejansko 35 00:02:15,840 --> 00:02:21,210 vključujejo elemente v da večji osnovno predlogo. 36 00:02:21,210 --> 00:02:21,810 >> Migracije. 37 00:02:21,810 --> 00:02:29,010 Torej, to je dokaj standardna oprema večina sodobnih okviri spletne aplikacije. 38 00:02:29,010 --> 00:02:32,710 Torej, to vam omogoča, da zastopa Podatkovna baza shem spremembe v kodi. 39 00:02:32,710 --> 00:02:39,200 Torej, ne reči, phpMyAdmin, lahko dejansko ustvarijo te selitve 40 00:02:39,200 --> 00:02:44,660 kjer si predstavljajo baze podatkov Shema spreminja v kodo neposredno. 41 00:02:44,660 --> 00:02:48,070 In to vam omogoča, to-- posebej če imate več ljudi, ki delajo 42 00:02:48,070 --> 00:02:52,650 na isti spletni application-- sledenje teh sprememb, 43 00:02:52,650 --> 00:02:55,380 pravijo v GitHub, ali kakšno drugo odlagališče. 44 00:02:55,380 --> 00:03:00,880 >> Torej, to je res koristno in zmanjšuje potrebo 45 00:03:00,880 --> 00:03:04,580 da, recimo, mimo okoli veliko SQL odlagališč. 46 00:03:04,580 --> 00:03:07,140 In končno, Skladatelj je nekaj zares uporabno 47 00:03:07,140 --> 00:03:09,840 ki vam omogoča, da uporabljate drugo Koda ljudska narediti super stvari. 48 00:03:09,840 --> 00:03:14,020 Torej Laravel je strukturirana kot več skladatelj paketov. 49 00:03:14,020 --> 00:03:17,870 Tako pravijo, če si hotel, da bi v paketu za preverjanje pristnosti 50 00:03:17,870 --> 00:03:23,440 ali če bi želel, da bi v nekaterih nekako skript generatorja ali admin 51 00:03:23,440 --> 00:03:26,910 vmesnik, lahko plug and play ti deli s skladateljem. 52 00:03:26,910 --> 00:03:30,470 53 00:03:30,470 --> 00:03:31,570 >> Torej začnimo. 54 00:03:31,570 --> 00:03:35,185 Vsa vprašanja od vas Fantje Preden začnemo? 55 00:03:35,185 --> 00:03:36,500 Brez vprašanj! 56 00:03:36,500 --> 00:03:37,490 Cool. 57 00:03:37,490 --> 00:03:39,990 Torej je prvi korak namestitvijo Skladatelj. 58 00:03:39,990 --> 00:03:43,590 Torej Skladatelj vam omogoča, da upravljati te odvisnosti, 59 00:03:43,590 --> 00:03:47,770 ali je to okvir Laravel ali kakšno drugo podaljšanje tretja oseba. 60 00:03:47,770 --> 00:03:50,400 Prvi ukaz omogoča da si naložite Skladatelj, 61 00:03:50,400 --> 00:03:55,890 in drugi ukaz vam omogoča, da premakniti v krajevni mapi bin 62 00:03:55,890 --> 00:04:01,340 tako da lahko vodijo Skladatelj neposredno preko terminala. 63 00:04:01,340 --> 00:04:05,405 >> Po tem, pojdi naprej in ustvariti nov projekt Laravel. 64 00:04:05,405 --> 00:04:07,280 Mi smo dejansko dogaja, da uporabite nekaj primer kode 65 00:04:07,280 --> 00:04:10,760 da sem dal skupaj ustvariti ta blog. 66 00:04:10,760 --> 00:04:14,420 Ampak, če ste na začetku praske, uporabite ta ukaz 67 00:04:14,420 --> 00:04:18,160 tu gor, skladatelj ustvarjanje-projekt, laravel poševnica laravel, in nato 68 00:04:18,160 --> 00:04:19,940 Ime vašega projekta. 69 00:04:19,940 --> 00:04:22,275 In da bodo vključevali Vse kode za distribucijo 70 00:04:22,275 --> 00:04:23,733 za začetek novega projekta Laravel. 71 00:04:23,733 --> 00:04:28,870 Tako za vaše CS50 končnih projektov, boste Verjetno želite uporabiti ta ukaz. 72 00:04:28,870 --> 00:04:31,210 >> Ampak bomo začeli s tem. 73 00:04:31,210 --> 00:04:34,630 Torej, ko ste storili da boste dobili 74 00:04:34,630 --> 00:04:40,190 Dokaj veliko število datotek v blog50. 75 00:04:40,190 --> 00:04:43,840 Torej, kaj je samo iti skozi nekatere od teh komponent. 76 00:04:43,840 --> 00:04:49,060 Opazili boste, na tej poti imenik, obstaja mapa app. 77 00:04:49,060 --> 00:04:52,960 V mapi aplikacije, tam je Nekaj ​​koristnih mape. 78 00:04:52,960 --> 00:04:56,330 Opombe, da začnete z je to config mapo. 79 00:04:56,330 --> 00:04:59,210 Torej, to določa, kako vaša spletna aplikacija 80 00:04:59,210 --> 00:05:04,350 dogaja, da, recimo, overjanje ljudi ali denarni stvari ali povezavo z bazo podatkov. 81 00:05:04,350 --> 00:05:06,400 >> In kaj je res koristno je, da Laravel 82 00:05:06,400 --> 00:05:09,130 vam omogoča, da vzpostavi drugačen razvojna okolja. 83 00:05:09,130 --> 00:05:12,090 Torej, kaj smo tukaj storiti, je, če je gremo pod lokalno mapo, 84 00:05:12,090 --> 00:05:14,720 tam je database.php datoteke. 85 00:05:14,720 --> 00:05:18,320 In opazili boste, da smo tukaj, vzpostaviti MySQL povezavo, 86 00:05:18,320 --> 00:05:22,230 posameznikom omogoča, da povežete na MySQL strežnik, ki je 87 00:05:22,230 --> 00:05:24,310 neposredno na CS50 aparata. 88 00:05:24,310 --> 00:05:26,980 In smo povezali z bazo podatkov da nastavim imenuje Blog50. 89 00:05:26,980 --> 00:05:31,390 90 00:05:31,390 --> 00:05:37,085 >> Torej, kaj je dejansko šel naprej in zaženite delovno različico tega, 91 00:05:37,085 --> 00:05:39,710 samo da bi dobili občutek, kaj aplikacija, ki smo gradnjo 92 00:05:39,710 --> 00:05:41,390 izgleda. 93 00:05:41,390 --> 00:05:46,150 Torej imam kopijo To Blog50 končana. 94 00:05:46,150 --> 00:05:51,910 Torej Laravel dejansko je zgrajen na strežniku 95 00:05:51,910 --> 00:05:53,910 da lahko zaženete neposredno v ukazni vrstici. 96 00:05:53,910 --> 00:05:56,900 Torej je to podobno PSet prej, ko ti dejansko 97 00:05:56,900 --> 00:06:00,580 graditi svoj strežnik v C. Tako so eno zgrajena tako 98 00:06:00,580 --> 00:06:04,010 da lahko vaše Laravel aplikacije neposredno v ukazni vrstici. 99 00:06:04,010 --> 00:06:11,650 >> Torej, če naredimo php Artisan služijo, to bo predstavila razvojni strežnik 100 00:06:11,650 --> 00:06:13,880 na vratih 8000. 101 00:06:13,880 --> 00:06:18,250 Torej, če gremo na krajevnem gostitelju 8000, boste opazili, da se, hej. 102 00:06:18,250 --> 00:06:20,800 Imamo blog in teče. 103 00:06:20,800 --> 00:06:25,090 Torej Laravel tu ustvarja prednja stran našega bloga. 104 00:06:25,090 --> 00:06:26,350 Zelo enostavna uporaba. 105 00:06:26,350 --> 00:06:28,610 Ampak tam je par Res Izvanredan funkcije 106 00:06:28,610 --> 00:06:31,346 da zagotavlja pod pokrovom. 107 00:06:31,346 --> 00:06:33,680 >> Torej blog aplikacija je enostavna. 108 00:06:33,680 --> 00:06:36,430 Če bomo želeli ustvariti delovno mesto, lahko kliknete na ta gumb. 109 00:06:36,430 --> 00:06:40,470 Lahko rečemo, "Hej, vsi. 110 00:06:40,470 --> 00:06:44,530 To je res zabavno seminar, "za primer. 111 00:06:44,530 --> 00:06:46,560 In napisati nekaj tu spodaj. 112 00:06:46,560 --> 00:06:48,180 Text tukaj. 113 00:06:48,180 --> 00:06:51,327 Če bomo kliknite Submit, boste opazili, da je naš novi blog 114 00:06:51,327 --> 00:06:53,410 objava je bila dodana prednja stran blog. 115 00:06:53,410 --> 00:06:56,532 116 00:06:56,532 --> 00:06:59,970 Če gremo nazaj, boste opazili, da tam so bili že nekaj pripomb 117 00:06:59,970 --> 00:07:01,160 na blogu. 118 00:07:01,160 --> 00:07:03,630 Torej, če smo se pomaknite navzdol, boste opazili, da Jonathan Tan pravi 119 00:07:03,630 --> 00:07:08,020 da je bil zelo pritegnila ta post. 120 00:07:08,020 --> 00:07:11,570 >> Torej bomo šli v to, kako objekt relacijska preslikava omogoča 121 00:07:11,570 --> 00:07:16,668 da narediš teh odnosov v dokaj brezhibno način, kot dobro. 122 00:07:16,668 --> 00:07:17,660 Cool. 123 00:07:17,660 --> 00:07:20,290 Vsa vprašanja o funkcionalnosti kaj bomo 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 Torej začnimo ven z dejansko ustvarjanje tabel zbirke podatkov. 127 00:07:28,170 --> 00:07:33,190 >> Tako opozarjajo, da v CS50 finance, vas skupaj tabelo za uporabnike 128 00:07:33,190 --> 00:07:37,100 kot tudi za Zaloge v vašem portfelju. 129 00:07:37,100 --> 00:07:41,040 Torej, kot smo že omenili, kaj jih uporabljamo v Laravel 130 00:07:41,040 --> 00:07:43,090 je nekaj, kar je znano kot migracij. 131 00:07:43,090 --> 00:07:48,570 Torej, če se vrnemo k distribucija kodo tukaj, 132 00:07:48,570 --> 00:07:51,790 prvi ukaz, ki je koristno, da vam Laravel zagotavlja 133 00:07:51,790 --> 00:07:54,240 je ta ukaz seliti. 134 00:07:54,240 --> 00:07:59,220 Torej ne moremo storiti php obrtnik seliti: da. 135 00:07:59,220 --> 00:08:01,760 Torej, to nam omogoča, da ustvarite migracije. 136 00:08:01,760 --> 00:08:03,710 >> In potem bomo želeli ustvariti migracije 137 00:08:03,710 --> 00:08:07,050 imenovano create_posts_table, ki bo 138 00:08:07,050 --> 00:08:11,521 biti tam, kjer se bomo biti shranjevanje naše blog delovnih mest. 139 00:08:11,521 --> 00:08:14,690 In opazili boste, da tukaj teče skozi neko kodo, ki je dejansko 140 00:08:14,690 --> 00:08:17,580 ustvari datoteko s časovni žig na njej. 141 00:08:17,580 --> 00:08:22,260 Torej, če gremo pogledat Database, bomo opazili pod migracije 142 00:08:22,260 --> 00:08:24,830 ki je ustvaril prazno datoteko za nas, ki 143 00:08:24,830 --> 00:08:30,100 ima boiler kodo z imenom da je določeno, ustvarjanje sporočil mizo. 144 00:08:30,100 --> 00:08:31,670 >> In ima dve funkciji v njem. 145 00:08:31,670 --> 00:08:40,539 Up je tisto, kar smo želeli teči, ko migracije se uporablja za baze. 146 00:08:40,539 --> 00:08:46,380 In dol, kaj bomo storili če hočemo, da se obrne na migracije. 147 00:08:46,380 --> 00:08:49,890 Torej, tukaj začnimo ven pri pisanju te migracije. 148 00:08:49,890 --> 00:08:55,480 Tako da je koristno, razred v Laravel imenuje shema. 149 00:08:55,480 --> 00:08:57,910 >> Torej bomo teči Schema :: ustvariti. 150 00:08:57,910 --> 00:09:01,080 In bomo ustvarili tabela se imenuje prispevke. 151 00:09:01,080 --> 00:09:05,980 In tu se ta s pomočjo funkcije. 152 00:09:05,980 --> 00:09:11,010 In v tukaj, ti bomo dejansko opredeliti vsebino naše mize. 153 00:09:11,010 --> 00:09:14,860 Bomo ustvarili ID, ki je auto-povečevanje. 154 00:09:14,860 --> 00:09:19,850 155 00:09:19,850 --> 00:09:24,350 >> Poleg tega bomo ustvariti polje, 156 00:09:24,350 --> 00:09:27,060 predstavlja naziv naše blog post. 157 00:09:27,060 --> 00:09:29,880 158 00:09:29,880 --> 00:09:36,950 Mi smo se tudi dogaja, da se ustvari polje za shranjevanje besedila naše blog post. 159 00:09:36,950 --> 00:09:40,600 In končno, si bomo za shranjevanje nekaj časovne žige 160 00:09:40,600 --> 00:09:44,690 za takrat, ko je bila ustanovljena naša objava in ko je bila posodobljena. 161 00:09:44,690 --> 00:09:46,240 In dol, to je dokaj preprost. 162 00:09:46,240 --> 00:09:53,974 Vse, kar želite storiti, je padec tabela, ki smo jih ustvarili. 163 00:09:53,974 --> 00:09:54,930 >> Super. 164 00:09:54,930 --> 00:09:55,850 Vsa vprašanja? 165 00:09:55,850 --> 00:09:59,730 166 00:09:59,730 --> 00:10:07,110 Torej, zdaj, če gremo naprej in-- pravzaprav, lokalni gostitelj, 167 00:10:07,110 --> 00:10:09,640 Naj izbrisati, kar smo imeli prej. 168 00:10:09,640 --> 00:10:14,330 169 00:10:14,330 --> 00:10:15,190 Pojdi na podatkovnih baz. 170 00:10:15,190 --> 00:10:17,640 Bom izbrisati, kar smo imeli prej. 171 00:10:17,640 --> 00:10:22,870 Spusti to in ustvarjanje nova baza Blog50. 172 00:10:22,870 --> 00:10:24,930 Torej, kaj zdaj čarobno del je tukaj, da smo 173 00:10:24,930 --> 00:10:28,760 lahko te selitve neposredno uporablja z bazo podatkov s pomočjo ukazno vrstico 174 00:10:28,760 --> 00:10:29,290 orodje. 175 00:10:29,290 --> 00:10:35,100 Torej, če naredimo php obrtnik se selijo, boste opazili, da se, hej. 176 00:10:35,100 --> 00:10:38,320 To je ustvaril tabelo migracije, kar bomo si oglejte v bit, 177 00:10:38,320 --> 00:10:40,540 in to je uporabljena ta prvi migracije. 178 00:10:40,540 --> 00:10:43,860 179 00:10:43,860 --> 00:10:48,920 >> Torej gledamo Blog50, boste opazili, ki je ustvaril dve tabeli za nas. 180 00:10:48,920 --> 00:10:50,300 Prvi je ta migracije mizo. 181 00:10:50,300 --> 00:10:54,130 Torej, če bomo to brskanje, boste opazili, da ta tabela je dokaj enostavna. 182 00:10:54,130 --> 00:10:55,490 To je samo rekel, da, hej. 183 00:10:55,490 --> 00:10:58,960 Mi smo se uporablja ta prehod. 184 00:10:58,960 --> 00:11:01,470 Gremo nazaj in pogled na delovnih mestih. 185 00:11:01,470 --> 00:11:05,720 Opazili boste, da je struktura je točno to, kar smo ga vprašal. 186 00:11:05,720 --> 00:11:07,350 Imamo avto-povečevanje ID. 187 00:11:07,350 --> 00:11:10,450 Imamo niz za shranjevanje naslov in besedilno polje 188 00:11:10,450 --> 00:11:11,450 za shranjevanje vsebine. 189 00:11:11,450 --> 00:11:14,040 190 00:11:14,040 --> 00:11:14,706 Super. 191 00:11:14,706 --> 00:11:15,560 Cool. 192 00:11:15,560 --> 00:11:21,626 Vsa vprašanja o migracijah delo, kako smo jih lahko uporablja? 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 Torej, zdaj bomo šli naprej in dejansko ustvariti model. 196 00:11:26,630 --> 00:11:33,100 Zato želimo ustvariti model sporočil, da shranjuje odvzem baze. 197 00:11:33,100 --> 00:11:41,040 Torej, namesto da delaš MySQL poizvedb neposredno, bomo ustvarili. 198 00:11:41,040 --> 00:11:45,840 Zato moramo ustvariti Mapa tukaj imenovanih modelov. 199 00:11:45,840 --> 00:11:48,905 In v notranjosti tu, si bomo ustvariti datoteko z imenom post.php. 200 00:11:48,905 --> 00:11:52,280 201 00:11:52,280 --> 00:11:54,550 >> Znotraj tega PHP datoteke, bomo ustvarili 202 00:11:54,550 --> 00:12:00,590 razred po kateri se razteza zgovoren. 203 00:12:00,590 --> 00:12:08,950 Zgovoren je ime ORM motor, ki zagotavlja Laravel. 204 00:12:08,950 --> 00:12:12,799 In tukaj, lahko pričakujemo, da boste dejansko morali napisati nekaj kode. 205 00:12:12,799 --> 00:12:14,840 Bomo napisali nekaj helper funkcije kasneje. 206 00:12:14,840 --> 00:12:19,420 Toda iz škatle, bo to že prepoznati, kaj je v zbirki 207 00:12:19,420 --> 00:12:24,770 in mi lahko dostopate, pravijo, besedilo naše blog post ali naziva, 208 00:12:24,770 --> 00:12:29,230 in ustvarjajo stvari neposredno z precej nobena koda whatsoever. 209 00:12:29,230 --> 00:12:31,110 >> Torej, to je ena izmed magičnih delov. 210 00:12:31,110 --> 00:12:34,980 In veter, ko ta razred je bolj enakopravni, 211 00:12:34,980 --> 00:12:40,480 bomo vsebovati podatke o tem, kaj to je povezano s tem, da pripomb. 212 00:12:40,480 --> 00:12:42,310 Ustvariti tudi funkcijo tako da bomo lahko dejansko 213 00:12:42,310 --> 00:12:46,340 neposredno dobili URL od blog post strani a. 214 00:12:46,340 --> 00:12:46,840 Cool. 215 00:12:46,840 --> 00:12:47,881 Vsa vprašanja glede tega? 216 00:12:47,881 --> 00:12:51,140 217 00:12:51,140 --> 00:12:51,832 No. 218 00:12:51,832 --> 00:12:54,100 Cool. 219 00:12:54,100 --> 00:12:57,860 >> Sedaj, ko imamo naš model smo želite ustvariti krmilnik, ki je 220 00:12:57,860 --> 00:13:02,340 možnost povezave z vmesnikom s temi modeli, in nato baze podatkov. 221 00:13:02,340 --> 00:13:05,540 Torej, če vzamemo poglej BlogController, boste 222 00:13:05,540 --> 00:13:08,490 opazili, da tam ni mnogo tukaj. 223 00:13:08,490 --> 00:13:13,220 Vse, kar je, je funkcija indeks ki ustvarja domačo stran, 224 00:13:13,220 --> 00:13:18,220 vendar brez vsega tam še ni prikazal. 225 00:13:18,220 --> 00:13:20,560 >> Torej prvo funkcijo da bomo ustvarili 226 00:13:20,560 --> 00:13:25,790 je tista, ki nam omogoča, ustvariti blog post. 227 00:13:25,790 --> 00:13:30,540 Torej bomo razglasi Nova funkcija imenuje newPost. 228 00:13:30,540 --> 00:13:36,430 In v notranjosti tu preprosto, si bomo da nastavite postavitev te strani 229 00:13:36,430 --> 00:13:41,850 da bi postal različico če se spomnite iz CS50, 230 00:13:41,850 --> 00:13:48,020 to predlogo imenovanega blog.new, ki bomo ustvarili v malo. 231 00:13:48,020 --> 00:13:53,170 >> Opazili boste, tukaj na vrstnim šestvaljnikom, ki smo opredelili to spremenljivko, postavitev. 232 00:13:53,170 --> 00:13:55,820 In če pogledamo na mapi Pogledi, 233 00:13:55,820 --> 00:14:01,640 je postavitve mapa, ki vključuje zelo osnovno datoteko HTML. 234 00:14:01,640 --> 00:14:04,680 In note, ki jo boste opazili da smo ta vsebnik 235 00:14:04,680 --> 00:14:06,800 tukaj, da daje vsebino. 236 00:14:06,800 --> 00:14:09,460 Tako znotraj naše predloge kaj bomo storili 237 00:14:09,460 --> 00:14:16,180 je ustvariti, kaj se dogaja, da se nadomesti neposredno v tej postavitvi. 238 00:14:16,180 --> 00:14:20,060 >> Zato smo rekli, da želimo, da postane Predloga imenuje blog.new. 239 00:14:20,060 --> 00:14:23,790 Vendar znotraj Blog, tam je še to novo predlogo. 240 00:14:23,790 --> 00:14:26,910 Tako bomo ustvarili Datoteka se imenuje new.blade.php. 241 00:14:26,910 --> 00:14:29,860 To pove, da Laravel Ta PHP file naj 242 00:14:29,860 --> 00:14:31,720 je treba narediti z Rezilo predlogo motor. 243 00:14:31,720 --> 00:14:39,510 244 00:14:39,510 --> 00:14:42,630 Torej, to je precej enostavna datoteka. 245 00:14:42,630 --> 00:14:46,690 To se dogaja, da je obrazec, s katerim smo dejansko dodali v blog post. 246 00:14:46,690 --> 00:14:49,220 >> Tako čarobno tukaj od dedovanje je, hej. 247 00:14:49,220 --> 00:14:52,950 Želimo, da se določi, da oddelek, oddelek vsebina 248 00:14:52,950 --> 00:14:56,640 tukaj, ki je označeno ssection instop. 249 00:14:56,640 --> 00:15:02,260 Torej, kaj je vmes tu se dogaja, da nadomestiti v postavitev mojster. 250 00:15:02,260 --> 00:15:07,000 In tukaj je tisto, kar smo želeli storiti, je zelo preprosto ustvariti novo datoteko HTML. 251 00:15:07,000 --> 00:15:08,690 Naj samo dodamo hiter naslov. 252 00:15:08,690 --> 00:15:09,600 Dodaj blog post. 253 00:15:09,600 --> 00:15:12,110 254 00:15:12,110 --> 00:15:15,390 In v tem, da smo dogaja, da ustvarite obrazec. 255 00:15:15,390 --> 00:15:19,197 >> Ta oblika se dogaja, da imajo tožbo. 256 00:15:19,197 --> 00:15:21,780 In to se dogaja, da je nekaj da nadomestimo kasneje, 257 00:15:21,780 --> 00:15:24,200 in bomo videli, kako Usmerjanje prilega tukaj. 258 00:15:24,200 --> 00:15:33,600 Vendar smo šele tekoč, da za zdaj da to gre na URL s poti 259 00:15:33,600 --> 00:15:34,860 od createPost. 260 00:15:34,860 --> 00:15:38,200 261 00:15:38,200 --> 00:15:40,320 In potem se to dogaja imeti metodo post. 262 00:15:40,320 --> 00:15:43,940 263 00:15:43,940 --> 00:15:47,590 V tu, gremo da imajo dve polji. 264 00:15:47,590 --> 00:15:49,170 Razred div = "oblika skupine". 265 00:15:49,170 --> 00:15:55,806 >> Mi smo s pomočjo knjižnice Bootstrap CSS milostno, ki jih Twitter. 266 00:15:55,806 --> 00:15:57,720 Tako bomo ustvarili dva takšna. 267 00:15:57,720 --> 00:16:01,700 268 00:16:01,700 --> 00:16:05,970 Torej, ta prvi vnos je bo naslov. 269 00:16:05,970 --> 00:16:08,437 Torej input name = "title". 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 Type = "text". 273 00:16:14,425 --> 00:16:16,050 Bom dodati ogrado = "naslov". 274 00:16:16,050 --> 00:16:21,570 275 00:16:21,570 --> 00:16:26,140 >> In potem drugi je bo besedilo območje. 276 00:16:26,140 --> 00:16:27,827 Name = "vsebine". 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 In ograda = "Napiši tukaj". 280 00:16:34,610 --> 00:16:42,030 281 00:16:42,030 --> 00:16:43,480 Tam gremo. 282 00:16:43,480 --> 00:16:46,760 Končno bomo dodaj hitro predloži gumb. 283 00:16:46,760 --> 00:16:50,370 Type = "submit" class = "btn btn-primarni". 284 00:16:50,370 --> 00:16:53,370 285 00:16:53,370 --> 00:16:55,340 To so vsi značilnosti Bootstrap tako 286 00:16:55,340 --> 00:16:58,510 da je to mogoče določiti na način, ki je 287 00:16:58,510 --> 00:17:03,730 plen za uporabnika, namesto goli HTML. 288 00:17:03,730 --> 00:17:06,250 >> Tako smo definirali krmilnik tukaj. 289 00:17:06,250 --> 00:17:08,930 Mi smo definirana zelo preprost pogled. 290 00:17:08,930 --> 00:17:12,339 Ampak kaj manjka, je vezivno tkivo. 291 00:17:12,339 --> 00:17:15,420 Tako da na tej točki, Laravel nima pojma, kako 292 00:17:15,420 --> 00:17:18,312 bomo dejansko Za dostop do te krmilnik. 293 00:17:18,312 --> 00:17:20,270 Torej je to določeno v Datoteka se imenuje routes.php. 294 00:17:20,270 --> 00:17:22,780 295 00:17:22,780 --> 00:17:24,310 In zdaj imamo eno pot. 296 00:17:24,310 --> 00:17:29,060 Ki je, ko gremo domov pot za to spletno stran, 297 00:17:29,060 --> 00:17:33,140 to se dogaja, da postane Indeks krmilnik. 298 00:17:33,140 --> 00:17:38,880 Torej, tukaj, kaj moramo storiti, je izvajati nova pot za nas, da ustvarite delovno mesto. 299 00:17:38,880 --> 00:17:41,910 >> Zato smo uporabili to metodo dobili, ki določa 300 00:17:41,910 --> 00:17:48,650 da ko uporabnik poskuša dobil to page-- posebej 301 00:17:48,650 --> 00:17:52,850 po poševnica novo page-- kaj bomo storili 302 00:17:52,850 --> 00:18:02,060 se uporabi krmilnik imenovano BlogController nova objava. 303 00:18:02,060 --> 00:18:03,460 Tisti, ki smo ga pravkar ustvarili. 304 00:18:03,460 --> 00:18:08,090 In potem gremo da ga alias kot newPost. 305 00:18:08,090 --> 00:18:17,460 306 00:18:17,460 --> 00:18:19,850 Bomo ustvarili drugo Funkcija v malo. 307 00:18:19,850 --> 00:18:23,520 Ampak kaj je tukaj pod ključ ", kot je" kaj 308 00:18:23,520 --> 00:18:28,195 moremo nadomestiti v naši Blade predloge. 309 00:18:28,195 --> 00:18:32,390 310 00:18:32,390 --> 00:18:36,230 Torej za zdaj, kaj je dejansko tudi pravi poti. 311 00:18:36,230 --> 00:18:38,380 Zato smo tudi dogaja, ustvariti krmilnik 312 00:18:38,380 --> 00:18:41,020 tako da bomo lahko ustvarili te objave. 313 00:18:41,020 --> 00:18:46,940 Torej, če uporabnik objav na stran pošti poševnica novo, kaj bomo storili 314 00:18:46,940 --> 00:18:51,350 se uporablja krmilnik, ki bomo ustvarili kmalu 315 00:18:51,350 --> 00:18:56,160 imenovano BlogController na createPost. 316 00:18:56,160 --> 00:19:01,929 In bomo alias to s čim createPost. 317 00:19:01,929 --> 00:19:03,380 Cool. 318 00:19:03,380 --> 00:19:05,811 >> Vsa vprašanja? 319 00:19:05,811 --> 00:19:06,310 Cool. 320 00:19:06,310 --> 00:19:09,790 Torej, kaj je teči, kar imamo sedaj. 321 00:19:09,790 --> 00:19:16,930 Torej, če naredimo php Artisan služijo, bomo videli veliko napak. 322 00:19:16,930 --> 00:19:20,385 Torej izgleda, da imamo skladenjska napaka na progah linijo 27. 323 00:19:20,385 --> 00:19:20,885 Ah. 324 00:19:20,885 --> 00:19:21,718 Manjka podpičje. 325 00:19:21,718 --> 00:19:24,900 326 00:19:24,900 --> 00:19:32,870 Torej, če gremo v 8000, boste videli, nič ni tu. 327 00:19:32,870 --> 00:19:34,740 Tako da je to domača stran privzeto. 328 00:19:34,740 --> 00:19:37,730 >> Ampak, če gremo na objavili drastično novega, hej. 329 00:19:37,730 --> 00:19:40,425 To bo obrazec, ki smo ga pravkar ustvarili. 330 00:19:40,425 --> 00:19:42,550 Zdaj imamo ne implementirali funkcionalnost 331 00:19:42,550 --> 00:19:44,060 kdaj bomo pritisnite gumb Pošlji. 332 00:19:44,060 --> 00:19:47,110 Torej, če kliknemo na Submit gumb, se dogaja, da teče napako. 333 00:19:47,110 --> 00:19:49,840 Vendar bomo kodo, ki zdaj, točno to, kar smo 334 00:19:49,840 --> 00:19:54,840 želeli storiti, ko uporabnik navaja ta obrazec. 335 00:19:54,840 --> 00:19:55,770 >> Torej, kaj je naredil. 336 00:19:55,770 --> 00:19:57,380 Vrnite se v datoteko krmilnikov. 337 00:19:57,380 --> 00:20:00,180 Kaj bomo storili, je izvajati to novo funkcijo 338 00:20:00,180 --> 00:20:04,360 ki nam omogoča, da ustvarite delovno mesto. 339 00:20:04,360 --> 00:20:07,370 340 00:20:07,370 --> 00:20:08,990 Razglasi novo funkcijo. 341 00:20:08,990 --> 00:20:11,527 Javna createPost funkcijo. 342 00:20:11,527 --> 00:20:14,610 In to funkcijo se bo malo bolj zapletena kot tisto, 343 00:20:14,610 --> 00:20:15,559 smo imeli prej. 344 00:20:15,559 --> 00:20:18,350 Vendar pa boste videli, da tukaj nismo bo dejansko napišite SQL. 345 00:20:18,350 --> 00:20:20,980 ORM, zgovorna ORM, se dogaja, da se omogoči 346 00:20:20,980 --> 00:20:26,400 nam, da to storite v nekaj načinov bolj eleganten način. 347 00:20:26,400 --> 00:20:29,140 >> Tako bomo ustvarili novo delovno mesto. 348 00:20:29,140 --> 00:20:34,120 In tukaj smo instantiating nov predmet 349 00:20:34,120 --> 00:20:38,080 od modela, ki smo ga pravkar ustvaril model postojanka. 350 00:20:38,080 --> 00:20:44,450 In kaj bomo storiti, je nastaviti Atribut naslov tega uporablja nekaj 351 00:20:44,450 --> 00:20:47,380 da bomo dobili od strežnika. 352 00:20:47,380 --> 00:20:52,060 Torej, to je podobno, kar smo imeli prej v CS50 finance 353 00:20:52,060 --> 00:20:57,750 če bi mi, s pomočjo Super Globalno Post išče naslov. 354 00:20:57,750 --> 00:21:01,600 >> Torej Laravel zagotavlja nekaj sanitarij in malenkosti uporabo te funkcije pomožnega. 355 00:21:01,600 --> 00:21:07,610 Zato bi raje, da to namesto nje uporabljati te zelo osnovni surovi obliki od PHP. 356 00:21:07,610 --> 00:21:17,430 In potem, kaj bomo storiti, je nastaviti vsebina to, da vhod dobili vsebine. 357 00:21:17,430 --> 00:21:20,429 358 00:21:20,429 --> 00:21:22,720 Mi smo dejansko dogaja za zavijanje to koristen funkcijo 359 00:21:22,720 --> 00:21:31,820 da PHP zagotavlja imenuje nl2br, ki Izkazalo nove linije, NLS pa sestavni uredb, odmorov, 360 00:21:31,820 --> 00:21:35,822 tako da bomo lahko dejansko imajo različni odstavki v njem. 361 00:21:35,822 --> 00:21:38,030 In končno, kaj bomo storiti je, da shranite to delovno mesto. 362 00:21:38,030 --> 00:21:41,686 Tako pravimo funkcija shranite na tem modelu. 363 00:21:41,686 --> 00:21:43,800 Bomo rešiti mesto. 364 00:21:43,800 --> 00:21:49,970 In končno, kaj bomo storili se preusmeri uporabniku posebej 365 00:21:49,970 --> 00:21:55,060 na poti, ki smo jo boš ustvariti kmalu, vzdevek, ki ga viewPost. 366 00:21:55,060 --> 00:22:00,435 In bomo, da prenese v argumentov id, pri čemer id tega novega delovnega mesta. 367 00:22:00,435 --> 00:22:04,280 368 00:22:04,280 --> 00:22:05,640 >> Super. 369 00:22:05,640 --> 00:22:09,090 Torej, zdaj, če bi dejansko šel in vodijo to. 370 00:22:09,090 --> 00:22:11,370 Bomo dodali novo delovno mesto. 371 00:22:11,370 --> 00:22:15,930 Recimo, da je to seminar 50. 372 00:22:15,930 --> 00:22:17,620 In pravijo, seveda. 373 00:22:17,620 --> 00:22:18,240 ASDL. 374 00:22:18,240 --> 00:22:18,740 Karkoli. 375 00:22:18,740 --> 00:22:20,320 Neke vrste vsebine. 376 00:22:20,320 --> 00:22:21,180 In ga predložiti. 377 00:22:21,180 --> 00:22:23,850 In bomo opazili, da se, hej. poti ni opredeljen. 378 00:22:23,850 --> 00:22:32,340 Če pa si oglejte phpMyAdmin in poglej za to, ali bo naše delovanje 379 00:22:32,340 --> 00:22:34,370 storil ničesar. 380 00:22:34,370 --> 00:22:36,670 Poglej Blog50 mest. 381 00:22:36,670 --> 00:22:37,720 Bomo opazili, da se, hej. 382 00:22:37,720 --> 00:22:43,530 V resnici nismo samo ustvariti ta blog objavili pri časovnih žigov, kot je določeno. 383 00:22:43,530 --> 00:22:46,600 384 00:22:46,600 --> 00:22:51,630 >> Torej, zdaj gremo nazaj in dejansko ustvarjajo ta druga funkcija v našem upravljavca, 385 00:22:51,630 --> 00:22:54,790 posebej krmilnik viewPost. 386 00:22:54,790 --> 00:23:00,290 Torej javno funkcijo viewPost. 387 00:23:00,290 --> 00:23:04,070 Torej, tukaj, kaj bomo storili, namesto imajo praznih oklepajev, 388 00:23:04,070 --> 00:23:08,800 bomo želeli prenesti v ID objava, da smo ustvarili. 389 00:23:08,800 --> 00:23:12,800 In od tu, kaj bomo storili je dejansko zbirko podatkov za to. 390 00:23:12,800 --> 00:23:15,140 >> Torej, če ne bomo objavili, tam je funkcija imenuje 391 00:23:15,140 --> 00:23:18,860 Ugotovijo, ki nam omogoča, da se pozanima po ID. 392 00:23:18,860 --> 00:23:22,110 Natančneje, v resnici, bomo uporabo alternativnih različico tega imenovano 393 00:23:22,110 --> 00:23:27,880 Najti ali okvari, ki nam omogoča, za izhod iz te funkcije, 394 00:23:27,880 --> 00:23:34,700 vrže izjemo, če ID peljemo v ne obstaja. 395 00:23:34,700 --> 00:23:37,500 In potem bomo nekaj storiti podoben temu, kar smo storili že prej 396 00:23:37,500 --> 00:23:41,100 kjer smo določili vsebnost ta stran je 397 00:23:41,100 --> 00:23:47,950 izdana različica te nov pogled kar bomo ustvarili, blog.view. 398 00:23:47,950 --> 00:23:51,030 >> In bomo prehaja v it-- rad v CS50 postanejo 399 00:23:51,030 --> 00:23:56,645 function-- slovar spremenljivk. 400 00:23:56,645 --> 00:23:59,860 401 00:23:59,860 --> 00:24:04,620 Tipke tega asociativno paleto postanejo spremenljivke v predlogo. 402 00:24:04,620 --> 00:24:06,830 Zato bomo storili naknadno objavo. 403 00:24:06,830 --> 00:24:12,474 Torej mimo posredno delovno mesto, ki smo poizveduje iz baze podatkov. . 404 00:24:12,474 --> 00:24:14,390 Zdaj, kaj bomo storiti, je ustvariti ta pogled 405 00:24:14,390 --> 00:24:17,560 tako da bomo lahko dejansko ogled blog objav, ki smo jih zgradili. 406 00:24:17,560 --> 00:24:20,280 >> Tako bomo ustvarili Datoteka se imenuje view.blade.php. 407 00:24:20,280 --> 00:24:25,870 408 00:24:25,870 --> 00:24:29,640 Tako znotraj te predloge, kaj bomo storili 409 00:24:29,640 --> 00:24:39,700 je skupaj preprosta stran, nam omogoča prikaz vsebine. 410 00:24:39,700 --> 00:24:44,280 Torej storimo poglavje, ki je pred vsebino. 411 00:24:44,280 --> 00:24:46,800 Stop. 412 00:24:46,800 --> 00:24:53,920 In kaj bomo storiti v tu 413 00:24:53,920 --> 00:24:56,930 napišem nekaj HTML za prikaz te strani. 414 00:24:56,930 --> 00:25:03,590 >> Torej bomo ga ovijte z fancy novi HTML5 element imenovan člen. 415 00:25:03,590 --> 00:25:05,790 In tu, si bomo da imajo v glavi, kjer 416 00:25:05,790 --> 00:25:12,190 bomo morali preprosto H1, ki vključuje naslov naknadno. 417 00:25:12,190 --> 00:25:17,120 Torej, tukaj, če se ozremo na to dvojno kodrasti brace zapis, 418 00:25:17,120 --> 00:25:21,690 To bo naredil v bistvu PHP echo Naslov sporočila. 419 00:25:21,690 --> 00:25:25,630 Tako da je koristno, okrajšava da Laravel nam ponuja. 420 00:25:25,630 --> 00:25:31,070 Torej bomo uporabili Ta zapis namesto tega. 421 00:25:31,070 --> 00:25:40,220 >> In tukaj, da bomo tudi izpisal vsebino tega. 422 00:25:40,220 --> 00:25:43,480 In tu, si bomo storiti naknadno vsebino. 423 00:25:43,480 --> 00:25:46,514 424 00:25:46,514 --> 00:25:50,660 In dol na dnu, kaj smo tekoč storiti, je ustvariti nogo. 425 00:25:50,660 --> 00:25:57,690 In v nogo, si bomo Prvi zaslon, ko je bil ta objavljen. 426 00:25:57,690 --> 00:26:01,320 Torej je to objavil na, ustvarjena na. 427 00:26:01,320 --> 00:26:07,996 >> In Laravel uporablja res lepo Datum knjižnica imenuje Carbon. 428 00:26:07,996 --> 00:26:11,120 Tako da bomo lahko dejansko narediti nekaj, kar ti difforHumans, kar ste videli prej. 429 00:26:11,120 --> 00:26:14,360 Ko bomo objavili. to bom rekel, kot pred petimi sekundami. 430 00:26:14,360 --> 00:26:16,860 Torej, to je res lepo Funkcionalnost Laravel. 431 00:26:16,860 --> 00:26:19,469 432 00:26:19,469 --> 00:26:21,385 In končno, si bomo zapreti to nogo. 433 00:26:21,385 --> 00:26:24,900 434 00:26:24,900 --> 00:26:31,450 >> Torej, zdaj, če gremo nazaj Home Page gremo 435 00:26:31,450 --> 00:26:34,490 da vidim ničesar tu še, ker mi niso kodirani domačo stran. 436 00:26:34,490 --> 00:26:40,962 Ampak, če gremo na objavili slash eno, bomo videli izjemo. 437 00:26:40,962 --> 00:26:42,670 Ali kdo ve, zakaj vidimo izjemo? 438 00:26:42,670 --> 00:26:44,516 Kaj nam manjka? 439 00:26:44,516 --> 00:26:45,290 Vse ideje? 440 00:26:45,290 --> 00:26:48,050 441 00:26:48,050 --> 00:26:49,790 Torej, kaj smo naredili prej za nas dejansko 442 00:26:49,790 --> 00:26:52,285 opredeliti, kako bomo prišli do posebni krmilniki? 443 00:26:52,285 --> 00:26:54,895 444 00:26:54,895 --> 00:26:55,770 >> SPEAKER 1: pot? 445 00:26:55,770 --> 00:26:56,519 ERIC Ouyang: Ja. 446 00:26:56,519 --> 00:26:58,070 Torej, imamo še vedno opredeliti pot. 447 00:26:58,070 --> 00:26:59,794 Torej gremo nazaj na routes.php. 448 00:26:59,794 --> 00:27:01,710 Opazili boste, da bomo dejansko ni opredeljen 449 00:27:01,710 --> 00:27:05,010 kako bomo dobili s to napravo. 450 00:27:05,010 --> 00:27:06,780 Zdaj bomo definirati to pot. 451 00:27:06,780 --> 00:27:09,280 To je precej enostavno, podoben temu, kar smo storili že prej. 452 00:27:09,280 --> 00:27:13,910 Toda kaj bomo tu opazili, je da bomo imeli ogrado. 453 00:27:13,910 --> 00:27:18,730 >> Torej, če naredimo route.get poševnica poštno ID. 454 00:27:18,730 --> 00:27:24,290 Torej ID zdaj je, kaj se dogaja, da se prenese v krmilnik. 455 00:27:24,290 --> 00:27:27,820 To se dogaja, da uporabite krmilnik, ki smo ga pravkar 456 00:27:27,820 --> 00:27:33,560 ustvarjena, BlogController na viewPost. 457 00:27:33,560 --> 00:27:36,420 In bomo alias to kot viewPost. 458 00:27:36,420 --> 00:27:46,544 459 00:27:46,544 --> 00:27:47,490 Super. 460 00:27:47,490 --> 00:27:49,470 Sedaj bomo ustvarili to pot. 461 00:27:49,470 --> 00:27:52,100 >> Torej, zdaj, če gremo tukaj in osvežite to stran, 462 00:27:52,100 --> 00:27:54,410 smo v resnici pa imamo nov blog post. 463 00:27:54,410 --> 00:27:57,710 Torej, to je tisto, kar smo ustvarili prej. 464 00:27:57,710 --> 00:28:01,320 Zelo preprosta stran, vendar zasloni blog post, ki smo ga pravkar ustvarili. 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 In če bi dejansko šel skozi celotno Proces ustvarjanja novega blog post, 468 00:28:08,880 --> 00:28:11,700 bomo opazili, da je vse ustrezno preusmeri. 469 00:28:11,700 --> 00:28:12,950 Če rečem, "Hi. 470 00:28:12,950 --> 00:28:15,710 Jaz sem Jonathan Tan. " 471 00:28:15,710 --> 00:28:18,550 Rekel: "To je moj blog post." 472 00:28:18,550 --> 00:28:22,830 In ga predloži, bo to povzročilo ta nov blog post z ID 2, 473 00:28:22,830 --> 00:28:28,920 ki korakih od tistega, kar smo imeli prej in pravilno ga prikaže. 474 00:28:28,920 --> 00:28:30,760 Super. 475 00:28:30,760 --> 00:28:32,930 >> Vsa vprašanja? 476 00:28:32,930 --> 00:28:33,430 Ja? 477 00:28:33,430 --> 00:28:36,537 >> SPEAKER 2: Ali Laravel ročaj sanitization in vse, kar je za vas? 478 00:28:36,537 --> 00:28:37,245 ERIC Ouyang: Da. 479 00:28:37,245 --> 00:28:42,990 Torej, ko smo videli že prej, ko smo naredili vhod colon colon dobili, 480 00:28:42,990 --> 00:28:47,720 da sanitates kakršenkoli SQL injekcije in malenkosti 481 00:28:47,720 --> 00:28:51,660 da bi želimo izvesti, če smo zlonamerni uporabnik spletne strani. 482 00:28:51,660 --> 00:28:54,115 Torej Laravel ročaji veliko od tega v ozadju. 483 00:28:54,115 --> 00:28:57,030 Dobro vprašanje. 484 00:28:57,030 --> 00:29:00,390 >> Torej, kaj je si oglejte na domači strani. 485 00:29:00,390 --> 00:29:03,220 486 00:29:03,220 --> 00:29:06,790 Torej, če smo najprej iti nazaj Krmilnik za spletno stran, 487 00:29:06,790 --> 00:29:08,740 boste opazili, da ji ne naredi veliko tukaj. 488 00:29:08,740 --> 00:29:11,620 Opazili boste, da smo ne poteka v to napravo 489 00:29:11,620 --> 00:29:13,830 kaj še posebej koristna. 490 00:29:13,830 --> 00:29:16,660 To je samo ta indeks datoteko. 491 00:29:16,660 --> 00:29:18,770 >> Tako da je prehod v To je nekaj koristno. 492 00:29:18,770 --> 00:29:21,450 In še posebej, da smo dogaja, da prenese na delovnih mestih. 493 00:29:21,450 --> 00:29:28,740 In Laravel nam omogoča, storiti objavo vsem, ki 494 00:29:28,740 --> 00:29:30,625 nam bo omogočilo, da bi dobili vse prispevke. 495 00:29:30,625 --> 00:29:33,160 496 00:29:33,160 --> 00:29:35,730 Zdaj, če gremo nazaj index.php, boste videli, hej. 497 00:29:35,730 --> 00:29:37,060 Tukaj še nič. 498 00:29:37,060 --> 00:29:41,290 Ampak, kaj hočemo storiti tukaj je pravzaprav Ponovil skozi, 499 00:29:41,290 --> 00:29:46,420 narediti foreach zanke nad delovnih mest, nam omogoča, da natisnete objave. 500 00:29:46,420 --> 00:29:53,180 >> Torej foreach sporočil kot objava, kaj želimo narediti 501 00:29:53,180 --> 00:29:57,252 se izpisal vsebino od blog post. 502 00:29:57,252 --> 00:30:00,210 Ampak ena stvar, ki jo boste opazili, je, da smo dejansko napisal večino tega zakonika 503 00:30:00,210 --> 00:30:01,370 že v view.blade.php. 504 00:30:01,370 --> 00:30:04,070 505 00:30:04,070 --> 00:30:08,640 Torej, kaj bomo dejansko storiti, je uporabite lepo koristno funkcijo Blade 506 00:30:08,640 --> 00:30:11,300 in faktor ta skupni kodeks. 507 00:30:11,300 --> 00:30:12,570 Torej, gremo tukaj. 508 00:30:12,570 --> 00:30:16,210 >> Bomo, da to vsebino tukaj, in kaj bomo storili 509 00:30:16,210 --> 00:30:18,170 je, da ustvarite novo mapo. 510 00:30:18,170 --> 00:30:20,364 Dajmo ga samo pokliči Partials. 511 00:30:20,364 --> 00:30:22,530 In tu, si bomo ustvariti post.blade.php. 512 00:30:22,530 --> 00:30:26,570 513 00:30:26,570 --> 00:30:33,100 Torej, tukaj smo vključeno ven način ki jih želite prikazati te objave. 514 00:30:33,100 --> 00:30:38,690 In tukaj je, kaj bomo storili, namesto dejansko imajo direktno to HTML, 515 00:30:38,690 --> 00:30:41,530 bomo uporabili to direktivo imenovano vključujejo blog.partials.post. 516 00:30:41,530 --> 00:30:45,210 517 00:30:45,210 --> 00:30:50,635 >> In kaj bomo storili tukaj se prenese v mesto na strani. 518 00:30:50,635 --> 00:30:57,076 519 00:30:57,076 --> 00:31:01,050 Torej, zdaj, če gremo nazaj, bomo opazili, da je funkcionalnost vedno 520 00:31:01,050 --> 00:31:01,550 enako. 521 00:31:01,550 --> 00:31:05,140 Zdaj pa imamo to vključeno ven kodo, to HTML. 522 00:31:05,140 --> 00:31:07,070 Tako da ga lahko uporabljamo v indeksu. 523 00:31:07,070 --> 00:31:09,090 Torej tukaj, to je zelo enostavno. 524 00:31:09,090 --> 00:31:17,870 Vse mi je vključiti blog.partials.post in matrika. 525 00:31:17,870 --> 00:31:20,845 In nekje na preden smo storili naknadno objavo. 526 00:31:20,845 --> 00:31:23,830 527 00:31:23,830 --> 00:31:28,182 >> Torej, zdaj, če gremo nazaj domača stran, bomo videli, da je, hej. 528 00:31:28,182 --> 00:31:30,515 Imamo seznam vseh blog objav, ki smo jih imeli prej. 529 00:31:30,515 --> 00:31:34,640 530 00:31:34,640 --> 00:31:37,700 Mi bi želeli dodati nekaj "če" Pogoji in "ostalo" pogoji 531 00:31:37,700 --> 00:31:39,979 tako da če nimamo kaj na blog, 532 00:31:39,979 --> 00:31:41,520 želimo prikazati nekaj koristnega. 533 00:31:41,520 --> 00:31:42,570 Všeč mi je, hej. 534 00:31:42,570 --> 00:31:44,340 Ni vsebine še na blogu. 535 00:31:44,340 --> 00:31:47,670 In če vi dejansko poglej distribucija koda na GitHub, 536 00:31:47,670 --> 00:31:50,100 boste videli zgled, kako bomo to naredili. 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 Vsa vprašanja? 540 00:31:54,890 --> 00:31:55,510 Da. 541 00:31:55,510 --> 00:31:57,468 >> SPEAKER 2: Mislim, da samo temeljno vprašanje. 542 00:31:57,468 --> 00:31:59,480 Nazaj na progi. 543 00:31:59,480 --> 00:32:00,230 ERIC Ouyang: Ja. 544 00:32:00,230 --> 00:32:01,935 Če pogledamo na poti. 545 00:32:01,935 --> 00:32:06,018 >> SPEAKER 2: Kje uses.blogcontroller na ustvarjanje delovnih mestih, 546 00:32:06,018 --> 00:32:07,560 Kaj nam usmerite? 547 00:32:07,560 --> 00:32:08,310 ERIC Ouyang: Ja. 548 00:32:08,310 --> 00:32:08,550 Ja. 549 00:32:08,550 --> 00:32:09,716 >> SPEAKER 2: Ali kaj je that-- 550 00:32:09,716 --> 00:32:12,620 ERIC Ouyang: Torej, poglej, pravijo na primer, to pot tukaj. 551 00:32:12,620 --> 00:32:17,190 Prvi del je dejanska URL, ki bo uporabniku iti. 552 00:32:17,190 --> 00:32:19,930 In ta niz tukaj asociativni niz, opredeljuje 553 00:32:19,930 --> 00:32:24,520 kako želimo imeti aplikacija deluje v odgovor nanj. 554 00:32:24,520 --> 00:32:29,090 Tako uporablja, je upravljavec, funkcijo, da smo 555 00:32:29,090 --> 00:32:31,610 želite poklicati, ko uporabnik gre na ta URL. 556 00:32:31,610 --> 00:32:35,190 Torej viewPost tukaj je funkcija, ki mi je opredeljeno v notranjosti 557 00:32:35,190 --> 00:32:36,100 od BlogController-- 558 00:32:36,100 --> 00:32:37,160 >> SPEAKER 2: vidim. 559 00:32:37,160 --> 00:32:39,368 >> ERIC Ouyang: --so, da smo lahko dejansko postanejo pogled, 560 00:32:39,368 --> 00:32:42,590 izvesti nekaj izračunov, interakcijo z bazo podatkov SQL. 561 00:32:42,590 --> 00:32:43,560 >> SPEAKER 2: OK. 562 00:32:43,560 --> 00:32:46,960 >> ERIC Ouyang: In potem drugi del, "kot je" alias, ki ga uporabljamo. 563 00:32:46,960 --> 00:32:50,714 Torej, če smo opazili, ko smo ustvarili obliko, 564 00:32:50,714 --> 00:32:52,380 Opazili boste, da URL :: routecreatePost. 565 00:32:52,380 --> 00:32:55,000 566 00:32:55,000 --> 00:32:58,330 Tako da nadomešča v dejanski URL tako, da smo ni težko 567 00:32:58,330 --> 00:33:02,940 kodiranja ti v tako bomo lahko spremenili enkrat, pravijo, če bi želeli preimenovati. 568 00:33:02,940 --> 00:33:06,055 Namesto, da bi po poševnico Novi, želimo všeč, str 569 00:33:06,055 --> 00:33:09,490 poševnica novo samo za čiščenje do naših URL-bitne. 570 00:33:09,490 --> 00:33:14,740 Radi bi spremenili na enem mestu, ne od vseh različnih datotek. 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 Torej, zdaj imamo zelo osnovni blog platformo. 574 00:33:20,070 --> 00:33:24,260 Verjetno želimo dodati na gumb, da da bomo lahko dejansko ustvarijo nova delovna mesta. 575 00:33:24,260 --> 00:33:27,850 Torej, če pogledamo na Master Layout, 576 00:33:27,850 --> 00:33:31,280 imamo oddelek z naslovom Glava Right da smo že opredelili na vrhu. 577 00:33:31,280 --> 00:33:34,820 Tako bomo lahko dodali gumbe za na vrh glave. 578 00:33:34,820 --> 00:33:43,950 >> Torej, če gremo na index.blade.php, dejansko storiti, je opredeliti, kaj se dogaja v notranjosti tukaj. 579 00:33:43,950 --> 00:33:46,970 Tako da je ta odsek Glava desno, kaj bomo storili 580 00:33:46,970 --> 00:33:55,240 se doda na gumb, da gredo URL opredeljena s poti novo delovno mesto. 581 00:33:55,240 --> 00:33:58,270 582 00:33:58,270 --> 00:34:01,660 Samo, da ga počisti in se je lepa in vse Bootstrap, 583 00:34:01,660 --> 00:34:04,630 bomo, da bi to default. 584 00:34:04,630 --> 00:34:07,794 Recimo samo, da bi bilo veliko zabave. 585 00:34:07,794 --> 00:34:09,969 >> In znotraj njega, bi lahko dal nekaj besedila. 586 00:34:09,969 --> 00:34:14,030 Toda kaj Bootstrap zagotavlja, je glyphicons. 587 00:34:14,030 --> 00:34:17,840 Tako da bomo lahko dejansko dodali, da lepo svinčnik, da smo videli že prej. 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 svinčnikov. 591 00:34:22,489 --> 00:34:25,449 592 00:34:25,449 --> 00:34:35,340 Torej bo to nam omogoča, da dajo v ikoni namesto besedila. 593 00:34:35,340 --> 00:34:38,960 Zdaj če ne bomo prenehali, to bo opredelil ta odsek. 594 00:34:38,960 --> 00:34:39,460 In, hej. 595 00:34:39,460 --> 00:34:45,000 Imamo lepo gumb, ki nas povezuje neposredno dodati blog post stran. 596 00:34:45,000 --> 00:34:46,659 >> Tako da imamo dokaj preprost blog. 597 00:34:46,659 --> 00:34:49,710 Mi lahko dodate stvari z njim. 598 00:34:49,710 --> 00:34:53,650 Ampak tisto, kar smo na splošno pričakujejo od blogov je komentiral. 599 00:34:53,650 --> 00:34:57,340 Torej, to je res pomembno, da imajo povedati, če nekdo obišče spletno stran 600 00:34:57,340 --> 00:35:00,620 in res všeč post, lahko sodelujejo v razpravi 601 00:35:00,620 --> 00:35:03,100 z drugimi ljudmi, ki obiščejo stran. 602 00:35:03,100 --> 00:35:07,050 Tako smo šli in ustvarjanje Nova tabela podatkovne zbirke in nov model 603 00:35:07,050 --> 00:35:12,220 tako da bomo lahko povezali Komentarji z delovnih mest. 604 00:35:12,220 --> 00:35:17,370 >> Torej je prvi korak, tako kot prej, je, da moramo teči migracije. 605 00:35:17,370 --> 00:35:21,982 Tako kot prej, delamo php obrtnik seliti: da. 606 00:35:21,982 --> 00:35:24,440 In bomo ustvarili enega imenovano create_comments_table. 607 00:35:24,440 --> 00:35:29,520 608 00:35:29,520 --> 00:35:36,080 To bo ustvarilo datoteko da ima naš novi migracije. 609 00:35:36,080 --> 00:35:40,170 In da bomo, tako kot Pred določite novo tabelo. 610 00:35:40,170 --> 00:35:42,773 Torej Schema :: ustvariti Tabela imenuje pripomb. 611 00:35:42,773 --> 00:35:47,410 612 00:35:47,410 --> 00:35:48,430 Ta funkcija tukaj. 613 00:35:48,430 --> 00:35:51,620 In znotraj te tabele, kaj bomo storiti najprej, 614 00:35:51,620 --> 00:35:54,260 kot prej, dodeliti ID. 615 00:35:54,260 --> 00:35:56,552 Korakih ID. 616 00:35:56,552 --> 00:36:05,440 >> Bomo omogočajo uporabnikom, da povežete njihovo ime s posebnim komentarjem. 617 00:36:05,440 --> 00:36:10,080 Da bomo imeli nekaj vsebine, da gre skupaj s tem, vsebino besedila. 618 00:36:10,080 --> 00:36:13,580 619 00:36:13,580 --> 00:36:15,910 In tukaj je tisto, kar bomo storiti, je nekaj drugega. 620 00:36:15,910 --> 00:36:23,620 Bomo ustvarili celo ki se imenuje post_id ki 621 00:36:23,620 --> 00:36:32,100 se dogaja, da se označi kakšno delovno mesto Zlasti komentar gre z. 622 00:36:32,100 --> 00:36:35,410 >> Poleg tega, da smo dejansko dogaja, da nastaviti tujega ključa pritisk na to. 623 00:36:35,410 --> 00:36:37,750 Tako da bo MySQL uveljaviti to. 624 00:36:37,750 --> 00:36:39,840 Mi ne poskuša dodelite številko komentar 625 00:36:39,840 --> 00:36:44,440 5. Da bi objavili 5000, če imamo ne je imela 5.000 objav na njej. 626 00:36:44,440 --> 00:36:50,240 Torej, kaj delamo tukaj, delamo tuje post_id 627 00:36:50,240 --> 00:37:02,046 se bo povezan z Polje ID od namiznih delovnih mest. 628 00:37:02,046 --> 00:37:05,900 In bomo dejansko nekaj storiti sicer koristna, je onDelete. 629 00:37:05,900 --> 00:37:11,180 >> Torej, če bomo izbrisati nekaj objavili iz baze podatkov, 630 00:37:11,180 --> 00:37:15,507 da želimo, da se širijo izbriše za komentarje, kot dobro. 631 00:37:15,507 --> 00:37:18,090 Ker to ni zelo koristno za nas, da imajo pripombe na delovna mesta, 632 00:37:18,090 --> 00:37:19,900 da ne obstajajo. 633 00:37:19,900 --> 00:37:23,764 In na koncu, tako kot pred tem, da smo dogaja, da določi časovne žige na to. 634 00:37:23,764 --> 00:37:28,690 635 00:37:28,690 --> 00:37:33,510 In tako kot prej, si bomo imajo povratne migracije 636 00:37:33,510 --> 00:37:37,920 spustite tabelo komentarji. 637 00:37:37,920 --> 00:37:40,070 >> Torej, zdaj, če gremo nazaj tu, gremo 638 00:37:40,070 --> 00:37:43,110 teči ta prehod, obrtnik seliti. 639 00:37:43,110 --> 00:37:46,400 In sedaj se je uporabljala to migracije, ki smo ga pravkar ustvarili. 640 00:37:46,400 --> 00:37:50,080 Torej, če bomo pogled na phpMyAdmin, delamo, v resnici, zdaj 641 00:37:50,080 --> 00:37:53,210 imajo tabelo komentarji, ki ima struktura, ki smo ga pravkar določeno. 642 00:37:53,210 --> 00:37:56,900 643 00:37:56,900 --> 00:37:59,610 Tako kot prej, smo dogaja, da ustvarite nov model 644 00:37:59,610 --> 00:38:04,450 abstraktnemu SQL tabele da smo pravkar ustvarili. 645 00:38:04,450 --> 00:38:05,450 >> Torej, kaj je Dodajte novo datoteko. 646 00:38:05,450 --> 00:38:06,908 Bomo ga pokličete comment.php. 647 00:38:06,908 --> 00:38:10,160 648 00:38:10,160 --> 00:38:15,490 In to se dejansko dogaja, da je precej enostavna z majhno spremembo 649 00:38:15,490 --> 00:38:17,520 od kar smo imeli prej. 650 00:38:17,520 --> 00:38:22,790 Torej razred Komentar razširja zgovoren. 651 00:38:22,790 --> 00:38:25,930 In kaj bomo storiti, tukaj je opredeliti 652 00:38:25,930 --> 00:38:31,360 funkcija, ki je odnos z drugimi modeli. 653 00:38:31,360 --> 00:38:39,250 Torej bomo imeli funkcijo pošto tukaj, da vrne ta odnos. 654 00:38:39,250 --> 00:38:43,330 Tako da smo navedbo, da to spada v objavo, 655 00:38:43,330 --> 00:38:49,200 pravijo, da je eno delovno mesto da je ta komentar pripada. 656 00:38:49,200 --> 00:38:53,917 >> To dejansko mora biti kapital P za model. 657 00:38:53,917 --> 00:38:56,500 In zdaj samo na drugi flip stran, moramo reči, da je, hej. 658 00:38:56,500 --> 00:38:58,160 Prispevkov imeli pripomb. 659 00:38:58,160 --> 00:39:03,030 Torej, kaj bomo storili, je opredeliti komentarje javnih funkcij. 660 00:39:03,030 --> 00:39:07,100 661 00:39:07,100 --> 00:39:13,620 In tu se je vrnil To ima veliko komentar. 662 00:39:13,620 --> 00:39:16,630 663 00:39:16,630 --> 00:39:22,010 Torej, zdaj čudežno ko imamo delovno mesto, bomo lahko dobili pripombe atributov 664 00:39:22,010 --> 00:39:25,615 in to bom zapolnijo z informacije iz baze podatkov. 665 00:39:25,615 --> 00:39:32,950 666 00:39:32,950 --> 00:39:38,220 >> Torej, kaj je dejansko šel skozi in dodati novo funkcijo, ki po našem mnenju datoteko 667 00:39:38,220 --> 00:39:43,600 tako da bomo lahko tako zaslon in ustvariti komentarje. 668 00:39:43,600 --> 00:39:54,010 669 00:39:54,010 --> 00:39:56,865 Torej bomo določili novo poglavje. 670 00:39:56,865 --> 00:39:59,890 Dajmo samo ločevanje z vodoravno pravilo. 671 00:39:59,890 --> 00:40:04,065 Oddelek id = "komentarji". 672 00:40:04,065 --> 00:40:06,990 Kaj bomo storili Tu je, kot prej, 673 00:40:06,990 --> 00:40:09,880 Ponovil skozi vse komentarje. 674 00:40:09,880 --> 00:40:12,960 Torej, dejansko, kako to storiti, je, kot sem že omenil, precej čarobno. 675 00:40:12,960 --> 00:40:14,440 >> Mi lahko komentiras. 676 00:40:14,440 --> 00:40:17,410 677 00:40:17,410 --> 00:40:22,710 In potem bomo lahko to za vsak narediti zanka nad vsako pripomb. 678 00:40:22,710 --> 00:40:25,740 In kaj bomo storiti, je div class komentar, 679 00:40:25,740 --> 00:40:29,240 in da bomo dejansko natisnite ta komentar. 680 00:40:29,240 --> 00:40:34,150 Tako prikazati, da hej, pripombe name-- osebo 681 00:40:34,150 --> 00:40:38,080 ki je objavil to comment-- pravi dot dot dot. 682 00:40:38,080 --> 00:40:41,240 Bomo dal to v bloku citiram, samo, da bi bilo videti lepo. 683 00:40:41,240 --> 00:40:46,470 In potem komentirati vsebine blok ponudbo. 684 00:40:46,470 --> 00:40:49,790 685 00:40:49,790 --> 00:40:50,892 In foreach. 686 00:40:50,892 --> 00:40:53,100 Torej, zdaj se to dogaja, da zanke skozi vse komentarje 687 00:40:53,100 --> 00:40:56,500 da je povezan z vsako od mest 688 00:40:56,500 --> 00:41:00,960 in prikaz vsaka od teh pripomb. 689 00:41:00,960 --> 00:41:05,120 Bom dodati še eno točko navzdol tu, ki nam omogoča, da dodate komentar. 690 00:41:05,120 --> 00:41:07,400 Torej h3 razred. 691 00:41:07,400 --> 00:41:09,580 Daj naslov tukaj. 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 In bomo določili novo obliko. 695 00:41:15,700 --> 00:41:18,730 >> Tako kot prej, smo storila dejanje obliko. 696 00:41:18,730 --> 00:41:22,740 In tu je nova tožba smo dogaja, da se opredeli nov krmilnik, ki 697 00:41:22,740 --> 00:41:26,770 nam omogoča, da se odzove na objavo prošnje za pisanje komentarjev. 698 00:41:26,770 --> 00:41:33,365 Torej createComment URL :: poti. 699 00:41:33,365 --> 00:41:37,730 Grem, da prenese v parametru tukaj. 700 00:41:37,730 --> 00:41:40,380 ID za delovno mesto, ki smo ustvariti pripombo. 701 00:41:40,380 --> 00:41:45,340 702 00:41:45,340 --> 00:41:50,280 In potem Uporaba tega Obrazec se bo objava. 703 00:41:50,280 --> 00:41:57,240 >> Sedaj bomo dodali v dve področji, tvorita skupino. 704 00:41:57,240 --> 00:42:04,670 To bo vhod s ime "ime" in class = "Obliko nadzor", 705 00:42:04,670 --> 00:42:14,250 type = "besedilo", in s Ograda = "Vaše ime". 706 00:42:14,250 --> 00:42:19,380 Mi smo se tudi dogaja, da se opredelijo druga oblika polje, ki 707 00:42:19,380 --> 00:42:22,970 se bo besedilo Območje, kot smo imeli prej. 708 00:42:22,970 --> 00:42:25,480 Tako kot prej, ga pokličete vsebine. 709 00:42:25,480 --> 00:42:31,160 Class = "oblika-control". 710 00:42:31,160 --> 00:42:41,660 Ograda = "Napiši tukaj." 711 00:42:41,660 --> 00:42:44,100 >> In samo zato, da bomo lahko dejansko jo predloži, 712 00:42:44,100 --> 00:42:55,740 predložiti vrsto in razred = "btn btn-primarni." 713 00:42:55,740 --> 00:42:57,005 Zaprite obrazec. 714 00:42:57,005 --> 00:42:59,010 Zaprite to tožbo. 715 00:42:59,010 --> 00:43:06,580 Torej, zdaj, če bomo osvežite to stran, kjer imamo, recimo, posebno delovno mesto. 716 00:43:06,580 --> 00:43:10,310 Moramo ponovno zagnati strežnika. 717 00:43:10,310 --> 00:43:12,340 PHP obrtnik služijo. 718 00:43:12,340 --> 00:43:15,630 719 00:43:15,630 --> 00:43:18,334 Reboot to. 720 00:43:18,334 --> 00:43:19,500 Moramo določiti pot. 721 00:43:19,500 --> 00:43:25,090 Ampak za zdaj, kaj je prav, da se to ven, tako da bomo lahko dejansko vam pokažem 722 00:43:25,090 --> 00:43:28,750 kaj stran izgleda, in nato bomo dejansko ustvarili to pot. 723 00:43:28,750 --> 00:43:29,250 Torej, hej. 724 00:43:29,250 --> 00:43:37,080 Imamo to novo obliko tukaj tako da bomo lahko ustvarili komentarje. 725 00:43:37,080 --> 00:43:39,950 Torej, kaj je dejansko opredeliti Funkcija v krmilniku 726 00:43:39,950 --> 00:43:43,020 tako da bomo lahko dodate komentarje. 727 00:43:43,020 --> 00:43:43,650 Pojdimo nazaj. 728 00:43:43,650 --> 00:43:48,420 In v blogcontroller.php, kaj bomo storili 729 00:43:48,420 --> 00:43:51,620 je ustvariti novo funkcijo imenovano ustvarjanje komentar. 730 00:43:51,620 --> 00:43:54,220 731 00:43:54,220 --> 00:43:57,040 >> Javna createComment funkcijo. 732 00:43:57,040 --> 00:44:00,130 To se dogaja, da imajo en sam parameter, ID delovnih mest 733 00:44:00,130 --> 00:44:02,280 da smo komentiral. 734 00:44:02,280 --> 00:44:04,790 In tako kot pred tem, da smo bo najprej dobiti delovno mesto. 735 00:44:04,790 --> 00:44:10,790 Tako objavili, findOrfail id. 736 00:44:10,790 --> 00:44:15,020 Zatem gremo ustvariti nov komentar. 737 00:44:15,020 --> 00:44:18,880 Torej pripombe = nov komentar. 738 00:44:18,880 --> 00:44:26,820 Komentar name = vhodna :: dobil ime. 739 00:44:26,820 --> 00:44:39,420 Vsebnost komentar = isto nova linija v odmorih vhodnih :: dobiti vsebino. 740 00:44:39,420 --> 00:44:43,460 >> In končno, si bomo morali povezujejo ta komentar z delovnega mesta. 741 00:44:43,460 --> 00:44:47,230 Torej bomo uporabili ta funkcija, komentarji, 742 00:44:47,230 --> 00:44:50,260 ki nam omogoča, da shranite ta odnos. 743 00:44:50,260 --> 00:44:54,780 Torej, zdaj ta komentar bo imel samodejno po ID. 744 00:44:54,780 --> 00:44:57,640 Mi lahko nastavite tudi ročno, vendar je to 745 00:44:57,640 --> 00:45:02,490 bolj enostavno kot sedaj glasi kot funkcija gre. 746 00:45:02,490 --> 00:45:05,860 In potem, ko smo opraviti to, kar želimo narediti 747 00:45:05,860 --> 00:45:10,840 se preusmeri uporabnika na poti, ki jo viewPost 748 00:45:10,840 --> 00:45:16,010 s paleto s parameter po ID. 749 00:45:16,010 --> 00:45:20,360 750 00:45:20,360 --> 00:45:24,660 >> In zdaj, tako da to dejansko funkcije, moramo opredeliti to pot. 751 00:45:24,660 --> 00:45:27,126 Pot :: objava. 752 00:45:27,126 --> 00:45:32,800 In zdaj bomo to imenujemo po slash slash ID komentar. 753 00:45:32,800 --> 00:45:36,725 Matrika uporablja novo funkcijo da smo pravkar ustvarili. 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 kot createComment. 757 00:45:44,770 --> 00:45:47,430 758 00:45:47,430 --> 00:45:50,120 Super. 759 00:45:50,120 --> 00:45:56,150 >> Zdaj upam, da če bomo osvežite to stran in dodamo v komentarju, recimo, David Malan. 760 00:45:56,150 --> 00:46:00,630 761 00:46:00,630 --> 00:46:03,920 "Upam, da to deluje." 762 00:46:03,920 --> 00:46:05,216 Predloži. 763 00:46:05,216 --> 00:46:09,050 Mi, v resnici, ima komentar na ta blog post. 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 Torej, zdaj imamo dokaj funkcionalna blog post. 768 00:46:21,430 --> 00:46:23,180 Mi smo le, da bo dodamo nekaj poteg tako 769 00:46:23,180 --> 00:46:29,090 da imamo nekaj več uporaben Informacije na teh delovnih mestih. 770 00:46:29,090 --> 00:46:32,780 >> Torej, če se vrnemo k sprednja stran, smo nimajo občutka 771 00:46:32,780 --> 00:46:38,790 koliko komentarji na vsakem od teh mest. 772 00:46:38,790 --> 00:46:41,340 Torej, kaj smo dejansko dogaja storiti, je, znotraj našega modela, 773 00:46:41,340 --> 00:46:51,250 definiramo funkcijo pomožnega ki omogoča nam, da določite število komentarjev 774 00:46:51,250 --> 00:46:53,020 da gredo z določeno delovno mesto. 775 00:46:53,020 --> 00:46:56,050 Tako bomo ustvarili Funkcija pomočnik. 776 00:46:56,050 --> 00:46:58,020 >> Javno funkcijo. 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 Torej niz, ki določa število pripomb, ki gredo skupaj z njim. 780 00:47:07,180 --> 00:47:12,850 In kaj bomo storili, je rekel, da num = računajo to pripomb. 781 00:47:12,850 --> 00:47:15,150 Tako bomo za štetje Število pripomb. 782 00:47:15,150 --> 00:47:22,900 In če je ta številka enaka 1, smo Pravkar se dogaja, da se vrnete 1 komentar. 783 00:47:22,900 --> 00:47:28,890 In potem drugače, želimo, da se vrnete Združitev num in pripombe, 784 00:47:28,890 --> 00:47:31,890 tako da smo dobili pluralizacijo pravilna. 785 00:47:31,890 --> 00:47:33,380 Samo, da je to en sam citat. 786 00:47:33,380 --> 00:47:36,040 787 00:47:36,040 --> 00:47:37,640 En komentar. 788 00:47:37,640 --> 00:47:41,140 >> In zdaj lahko uporabite to funkcijo direktno znotraj našega pogleda. 789 00:47:41,140 --> 00:47:44,510 Torej, če se vrnemo k delnih sporočil, ki smo jih ustvarili, 790 00:47:44,510 --> 00:47:49,370 Zdaj želimo dejansko prikazati število komentarjev. 791 00:47:49,370 --> 00:47:52,660 Torej, kaj lahko storimo, je, objava, uporabite to funkcijo 792 00:47:52,660 --> 00:47:57,230 da smo pravkar ustvarili za prikazati število komentarjev. 793 00:47:57,230 --> 00:48:00,440 Torej, če smo zdaj osvežiti, jo ne, v resnici, izpis 794 00:48:00,440 --> 00:48:02,240 oštevilčenimi komentarji da gredo skupaj z njim. 795 00:48:02,240 --> 00:48:05,320 >> Če bi želeli biti fancy, če vas dejansko videti na kodo distribucije, 796 00:48:05,320 --> 00:48:07,800 lahko dejansko povezati to pripomb. 797 00:48:07,800 --> 00:48:17,040 Če se spomnite, smo določili v meni, da je to poglavje ID pripomb. 798 00:48:17,040 --> 00:48:22,460 Torej, če bi dejansko želeli povezati neposredno na oddelku komentarji, kaj 799 00:48:22,460 --> 00:48:36,000 mi bi naredil tukaj je href URL viewPost poti. 800 00:48:36,000 --> 00:48:40,550 Potujejo v array ID po ID. 801 00:48:40,550 --> 00:48:46,140 In potem smo želeli iti posebej odsek komentarjev. 802 00:48:46,140 --> 00:48:49,900 >> Tu pa zaprite oznako. 803 00:48:49,900 --> 00:48:52,950 Torej, zdaj, če bomo osvežite to stran, kliknemo na to. 804 00:48:52,950 --> 00:48:54,700 Šli bomo neposredno oddelek komentarjev. 805 00:48:54,700 --> 00:48:57,580 Če bomo imeli daljšo delovno mesto, lahko dejansko videli to bounce navzdol. 806 00:48:57,580 --> 00:49:02,668 Vendar boste opazili, da je Ne na vrhu strani. 807 00:49:02,668 --> 00:49:04,090 Cool. 808 00:49:04,090 --> 00:49:04,600 Super. 809 00:49:04,600 --> 00:49:08,582 Tako da je precej enostavno Primer nekaj preprostega 810 00:49:08,582 --> 00:49:09,790 ki jih lahko storite s Laravel. 811 00:49:09,790 --> 00:49:13,230 >> Vendar pa lahko opazimo, da je tukaj smo naredili veliko stvari 812 00:49:13,230 --> 00:49:16,200 z dokaj majhno količino kode. 813 00:49:16,200 --> 00:49:19,420 Laravel nam omogoča, da naredite SQL poizvedbe v ozadju. 814 00:49:19,420 --> 00:49:21,960 To počne sanitarij za nas v zakulisju. 815 00:49:21,960 --> 00:49:25,940 Omogoča nam, da naredite teh razmerij Zelo enostavno, brez nas potrebujejo 816 00:49:25,940 --> 00:49:33,350 storiti vse SQL pridružiti izkaze združiti pripombe kaj delovnih mest. 817 00:49:33,350 --> 00:49:36,480 Omogoča nam, da to storijo dedovanje predloge 818 00:49:36,480 --> 00:49:43,780 tako da bomo lahko določite te gnezdenje datoteke, tako da nismo sami ponavljajo, 819 00:49:43,780 --> 00:49:47,020 tako kot, ko smo imeli, da razkazovanje blog delovnih mest 820 00:49:47,020 --> 00:49:50,770 da mi ne bi bilo treba kopirajte in prilepite kodo. 821 00:49:50,770 --> 00:49:55,450 >> In od tu lahko gradijo bolj zapletene aplikacije. 822 00:49:55,450 --> 00:49:58,370 Si lahko predstavljate, če smo želel izvajati log-in, 823 00:49:58,370 --> 00:50:05,532 lahko bi rekli, bi v tretji osebi okvir, ki nam omogoča, da to storim. 824 00:50:05,532 --> 00:50:07,490 Obstaja kup njih da so zares 825 00:50:07,490 --> 00:50:09,970 super, da lahko narediš, kot so, geslo izterjave. 826 00:50:09,970 --> 00:50:14,450 In bo to vam je poslati ponastavitev gesla e-pošte. 827 00:50:14,450 --> 00:50:18,260 Mi lahko izvajajo dovoljenje tako da sem lahko ustvari delovno mesto, 828 00:50:18,260 --> 00:50:20,350 ampak nekdo drug ne more urejati. 829 00:50:20,350 --> 00:50:24,610 Mi lahko izvajajo Funkcionalnost izbrisati objave. 830 00:50:24,610 --> 00:50:28,160 >> Vendar pa si lahko ogledate tukaj, da imamo precej veliko vse nepopolne sestavine 831 00:50:28,160 --> 00:50:31,640 zgraditi nekaj res, res, dinamične in zanimive spletne aplikacije. 832 00:50:31,640 --> 00:50:34,035 Torej, s tem, mislim, da smo dobri. 833 00:50:34,035 --> 00:50:35,720 Ali vi imate vprašanja? 834 00:50:35,720 --> 00:50:36,220 Ja? 835 00:50:36,220 --> 00:50:38,090 >> SPEAKER 3: Kako si narediti dobili statično vsebino? 836 00:50:38,090 --> 00:50:39,256 >> ERIC Ouyang: Statične vsebine. 837 00:50:39,256 --> 00:50:45,520 Torej si videl pred tem, ko smo imeli Ta pravica je tu, ta vsebina postavitev, 838 00:50:45,520 --> 00:50:49,625 Pogled make, smo imeli to brez tega paleto kasneje. 839 00:50:49,625 --> 00:50:56,440 840 00:50:56,440 --> 00:50:59,152 Blog.index, smo imeli to kot samo statično datoteko. 841 00:50:59,152 --> 00:51:00,860 Torej, če ne bomo mimo vse skupaj z njim, 842 00:51:00,860 --> 00:51:03,340 da bom postal HTML neposredno. 843 00:51:03,340 --> 00:51:09,240 Ampak, če se peljemo v tem društvenim Niz delovnih mest, ki je dinamično 844 00:51:09,240 --> 00:51:12,950 potegnil iz baze podatkov, smo lahko stran dinamično. 845 00:51:12,950 --> 00:51:13,450 Cool. 846 00:51:13,450 --> 00:51:14,830 Katera koli druga vprašanja? 847 00:51:14,830 --> 00:51:16,786 848 00:51:16,786 --> 00:51:19,720 SPEAKER 3: Kako bi primerjali Laravel da morda nekatere druge možnosti? 849 00:51:19,720 --> 00:51:20,525 ERIC Ouyang: Seveda. 850 00:51:20,525 --> 00:51:21,025 Ja. 851 00:51:21,025 --> 00:51:23,430 Torej Laravel is-- da je super question-- 852 00:51:23,430 --> 00:51:26,190 ena od številnih možnosti za spletne okvire. 853 00:51:26,190 --> 00:51:31,160 Torej Ruby na tirih, je tista, ki je priljubljen. 854 00:51:31,160 --> 00:51:34,590 Verjamem Twitter nekoč izvaja z Ruby na tirih. 855 00:51:34,590 --> 00:51:37,600 Mislim, da so od leta zamenjan. 856 00:51:37,600 --> 00:51:40,780 Obstaja še ena imenovana FuelPHP. 857 00:51:40,780 --> 00:51:46,120 >> Torej Ruby na tirih uporablja Ruby jezik in izvaja veliko o MVC stvari 858 00:51:46,120 --> 00:51:48,200 da vidimo tukaj. 859 00:51:48,200 --> 00:51:52,320 FuelPHP je druga PHP okvir. 860 00:51:52,320 --> 00:51:54,490 Django je ena izmed mojih najljubših. 861 00:51:54,490 --> 00:51:57,010 To je spletna okvir za Python. 862 00:51:57,010 --> 00:52:01,270 Tako da boste lahko napisali svojo spletno aplikacijo v Python. 863 00:52:01,270 --> 00:52:03,760 Tako da je ton od teh možnosti. 864 00:52:03,760 --> 00:52:06,170 >> Laravel, mislim, da jih in Veliko je moja najljubša pravica 865 00:52:06,170 --> 00:52:08,232 Zdaj za PHP samo zato, ker komponent 866 00:52:08,232 --> 00:52:09,440 da smo se pogovarjali o prej. 867 00:52:09,440 --> 00:52:11,910 To je Skladatelj omogočen. 868 00:52:11,910 --> 00:52:15,750 Vsebuje zelo, zelo ekspresivna sistem ORM. 869 00:52:15,750 --> 00:52:18,800 Ima tudi res super templating jezik, da nekateri od drugih 870 00:52:18,800 --> 00:52:20,630 Samo ne zagotavljajo. 871 00:52:20,630 --> 00:52:21,400 In migracije. 872 00:52:21,400 --> 00:52:23,432 Migracije so super, kot dobro. 873 00:52:23,432 --> 00:52:24,860 Cool? 874 00:52:24,860 --> 00:52:25,390 Super. 875 00:52:25,390 --> 00:52:27,560 No, hvala toliko za gledal ta seminar, 876 00:52:27,560 --> 00:52:30,650 in srečno na vaših končnih projektov. 877 00:52:30,650 --> 00:52:31,616