1 00:00:00,000 --> 00:00:02,538 >> [Zenelejátszási] 2 00:00:02,538 --> 00:00:10,800 3 00:00:10,800 --> 00:00:12,390 >> ERIC Ouyang: Hé, mindenki. 4 00:00:12,390 --> 00:00:13,580 Üdvözöljük. 5 00:00:13,580 --> 00:00:16,860 Ez Building Dynamic Web-es alkalmazások Laravel. 6 00:00:16,860 --> 00:00:18,290 A nevem Eric Ouyang. 7 00:00:18,290 --> 00:00:23,860 Vagyok másodéves tanuló társadalmi tanulmányok egy másodlagos számítástechnika, 8 00:00:23,860 --> 00:00:27,290 és én élni Adams House itt a Harvardon. 9 00:00:27,290 --> 00:00:33,340 >> Tehát Laravel, a legszebb, mag, egy MVC web app keretet. 10 00:00:33,340 --> 00:00:38,265 Szóval tetszik, amit a srácok csináltál ezzel CS50 Finance, 11 00:00:38,265 --> 00:00:42,480 Laravel olyan keretrendszer, amely lehetővé teszi, Ön építeni dinamikus webes alkalmazásokat. 12 00:00:42,480 --> 00:00:47,710 Szóval gondold azt, hogy bizonyos értelemben mint egy kiterjesztése a fajta cucc 13 00:00:47,710 --> 00:00:50,470 csináltál a CS50 Pénzügy, de a rendszerben, amely 14 00:00:50,470 --> 00:00:55,890 sokkal több robusztus, sok elegánsabb bizonyos értelemben, 15 00:00:55,890 --> 00:00:57,870 és ad egy csomó funkciókat az Ön számára 16 00:00:57,870 --> 00:01:03,060 építeni meglehetősen komplex webes alkalmazások. 17 00:01:03,060 --> 00:01:05,010 Szóval menjünk át néhány A legfontosabb jellemzőit, 18 00:01:05,010 --> 00:01:09,550 aztán majd belevetik magukat egy Például az épület egy blog 19 00:01:09,550 --> 00:01:12,500 alkalmazás Laravel. 20 00:01:12,500 --> 00:01:16,700 >> Tehát az egyik első dolog, megkülönbözteti az MVC típusú munka 21 00:01:16,700 --> 00:01:22,100 hogy csináltál azzal CS50 ez magában foglalja a ORM motort. 22 00:01:22,100 --> 00:01:27,410 Tehát ORM áll a tárgyat relációs leképezés. 23 00:01:27,410 --> 00:01:31,080 Tehát ez lehetővé teszi, hogy építsenek egy absztrakciós réteget 24 00:01:31,080 --> 00:01:35,230 között az adatbázis és a szabályozók. 25 00:01:35,230 --> 00:01:39,150 Tehát ellentétben CS50 pénzügyekre közvetlenül lekérdezések, 26 00:01:39,150 --> 00:01:44,790 Az ORM réteg lehetővé teszi, hogy elvont, hogy van, és hozzon létre 27 00:01:44,790 --> 00:01:48,085 modellek sokkal hatékonyabbak, mint akkor közvetlenül az SQL lekérdezések. 28 00:01:48,085 --> 00:01:50,590 29 00:01:50,590 --> 00:01:53,510 >> A másik dolog, hogy tényleg Hasznos örökölhető sablonokat. 30 00:01:53,510 --> 00:01:58,990 Így lesz hirdetmény CS50 Finance, a végén átírása egy csomó dolgot, 31 00:01:58,990 --> 00:02:03,150 ahol helyeken potenciálisan újra felhasználni a dolgokat, akkor nem képes. 32 00:02:03,150 --> 00:02:08,539 Tehát itt Laravel, akkor mi ismert, mint a blade sablon motor 33 00:02:08,539 --> 00:02:10,530 hogy hozzon létre egy törzselrendezést. 34 00:02:10,530 --> 00:02:15,840 És onnan, akkor örökli hogy al-sablonok ténylegesen 35 00:02:15,840 --> 00:02:21,210 tartalmazhat olyan elemeket belül hogy a nagyobb bázist sablont. 36 00:02:21,210 --> 00:02:21,810 >> Migráció. 37 00:02:21,810 --> 00:02:29,010 Tehát ez egy viszonylag standard tulajdonságok legmodernebb webes alkalmazás keretrendszer. 38 00:02:29,010 --> 00:02:32,710 Tehát ez lehetővé teszi, hogy képviselje adatbázissémát változások kódot. 39 00:02:32,710 --> 00:02:39,200 Tehát anélkül, hogy azt mondják, phpMyAdmin, akkor valóban létre ezek a vándorlások 40 00:02:39,200 --> 00:02:44,660 ahol képviselik az adatbázis sémamódosítások a kódot közvetlenül. 41 00:02:44,660 --> 00:02:48,070 És ez lehetővé teszi, to-- különösen ha több ember dolgozik 42 00:02:48,070 --> 00:02:52,650 ugyanazon a web application-- nyomon követni ezeket a változásokat, 43 00:02:52,650 --> 00:02:55,380 mondjuk GitHub, vagy más tároló. 44 00:02:55,380 --> 00:03:00,880 >> Szóval ez tényleg hasznos és csökkenti annak szükségességét, 45 00:03:00,880 --> 00:03:04,580 hogy, mondjuk, áthaladnak egy csomó SQL guba. 46 00:03:04,580 --> 00:03:07,140 És végül, Composer valami nagyon, nagyon hasznos 47 00:03:07,140 --> 00:03:09,840 amely lehetővé teszi, hogy más emberek kódot csinálni félelmetes dolgokat. 48 00:03:09,840 --> 00:03:14,020 Tehát Laravel strukturált, mint Több zeneszerző csomagok. 49 00:03:14,020 --> 00:03:17,870 Tehát mondjuk, ha akarta, hogy egy hitelesítő csomag 50 00:03:17,870 --> 00:03:23,440 vagy ha akarta, hogy néhány fajta generátor script, vagy egy admin 51 00:03:23,440 --> 00:03:26,910 felületen, akkor plug and play ezen alkatrészek zeneszerzővel. 52 00:03:26,910 --> 00:03:30,470 53 00:03:30,470 --> 00:03:31,570 >> Tehát kezdjük. 54 00:03:31,570 --> 00:03:35,185 Bármilyen kérdése tőled srácok, mielőtt elkezdjük? 55 00:03:35,185 --> 00:03:36,500 Nem kérdés? 56 00:03:36,500 --> 00:03:37,490 Cool. 57 00:03:37,490 --> 00:03:39,990 Tehát az első lépés az, telepítése Composer. 58 00:03:39,990 --> 00:03:43,590 Tehát Composer lehetővé teszi, hogy kezelni ezeket a függőségeket, 59 00:03:43,590 --> 00:03:47,770 hogy ez a Laravel keret vagy más harmadik fél kiterjesztése. 60 00:03:47,770 --> 00:03:50,400 Az első parancs lehetővé teszi, Ön letöltse Composer, 61 00:03:50,400 --> 00:03:55,890 és a második parancs lehetővé teszi, hogy helyezze át a helyi bin mappa 62 00:03:55,890 --> 00:04:01,340 így futtatni Composer közvetlenül keresztül a terminálon. 63 00:04:01,340 --> 00:04:05,405 >> Ezt követően, megy előre, és hozzon létre egy új Laravel projekt. 64 00:04:05,405 --> 00:04:07,280 Mi valóban lesz Bizonyos példa kód 65 00:04:07,280 --> 00:04:10,760 hogy én már össze hogy hozzon létre ezt a blogot. 66 00:04:10,760 --> 00:04:14,420 De ha kezdő a semmiből, akkor ezzel a paranccsal 67 00:04:14,420 --> 00:04:18,160 itt, zeneszerző create-projekt, laravel perjel laravel, majd 68 00:04:18,160 --> 00:04:19,940 a neve a projekt. 69 00:04:19,940 --> 00:04:22,275 És ez magában foglalja minden forgalmazási kódot 70 00:04:22,275 --> 00:04:23,733 indítására az új Laravel projekt. 71 00:04:23,733 --> 00:04:28,870 Tehát a CS50 végső projektek, akkor Talán szeretnénk használni ezt a parancsot. 72 00:04:28,870 --> 00:04:31,210 >> De fogunk kezdeni ezzel. 73 00:04:31,210 --> 00:04:34,630 Szóval, ha már megcsináltad hogy fogsz kapni 74 00:04:34,630 --> 00:04:40,190 meglehetősen kiterjedt száma A fájlok blog50. 75 00:04:40,190 --> 00:04:43,840 Szóval menjünk át Ezek egy része. 76 00:04:43,840 --> 00:04:49,060 Észre fogod venni, ebben az útvonalon könyvtárban van egy app könyvtárat. 77 00:04:49,060 --> 00:04:52,960 Bent a app mappába, ott van Pár hasznos mappákat. 78 00:04:52,960 --> 00:04:56,330 Figyelemre kezdeni ez config mappába. 79 00:04:56,330 --> 00:04:59,210 Tehát ez olyan, hogyan a webes alkalmazás 80 00:04:59,210 --> 00:05:04,350 lesz, mondjuk, hitelesíti az emberek vagy cash dolgokat, vagy csatlakozni az adatbázishoz. 81 00:05:04,350 --> 00:05:06,400 >> És ami igazán Hasznos, hogy Laravel 82 00:05:06,400 --> 00:05:09,130 lehetővé teszi, hogy hozzanak létre a különböző fejlesztési környezetek. 83 00:05:09,130 --> 00:05:12,090 Szóval mit tettünk itt, ha megyünk alatt a helyi mappában 84 00:05:12,090 --> 00:05:14,720 van egy database.php fájlt. 85 00:05:14,720 --> 00:05:18,320 És észre fogod venni, hogy itt létrehozott egy MySQL kapcsolat 86 00:05:18,320 --> 00:05:22,230 lehetővé teszi az egyének csatlakozni A MySQL szerver, ami 87 00:05:22,230 --> 00:05:24,310 Közvetlenül a CS50 készüléket. 88 00:05:24,310 --> 00:05:26,980 És mi az adatbázishoz kapcsolódás hogy én felállított úgynevezett Blog50. 89 00:05:26,980 --> 00:05:31,390 90 00:05:31,390 --> 00:05:37,085 >> Szóval tényleg megy előre, és futtassa a működő változat ennek, 91 00:05:37,085 --> 00:05:39,710 csak azért, hogy egy értelemben, amit a alkalmazás, amit építünk 92 00:05:39,710 --> 00:05:41,390 néz ki. 93 00:05:41,390 --> 00:05:46,150 Szóval van egy másolatot ez a Blog50 befejeződött. 94 00:05:46,150 --> 00:05:51,910 Tehát Laravel ténylegesen épített a szerveren 95 00:05:51,910 --> 00:05:53,910 hogy lehet futtatni közvetlenül a parancssorból. 96 00:05:53,910 --> 00:05:56,900 Tehát ez hasonló a Pset előtt, ha valóban 97 00:05:56,900 --> 00:06:00,580 építeni a saját szerver C. Tehát ők egy építettünk be, 98 00:06:00,580 --> 00:06:04,010 hogy lehet futtatni a Laravel apps közvetlenül a parancssorból. 99 00:06:04,010 --> 00:06:11,650 >> Tehát, ha nem teszünk php kézműves szolgálja, ennek indít egy fejlesztési szerver 100 00:06:11,650 --> 00:06:13,880 a port 8000. 101 00:06:13,880 --> 00:06:18,250 Tehát ha elmegyünk a helyi host 8000, észre fogod venni, hogy, hé. 102 00:06:18,250 --> 00:06:20,800 Megvan a blog, és fut. 103 00:06:20,800 --> 00:06:25,090 Tehát Laravel itt generál A címlapon a mi blog. 104 00:06:25,090 --> 00:06:26,350 Nagyon egyszerű alkalmazás. 105 00:06:26,350 --> 00:06:28,610 De van egy pár Tényleg remek funkciókkal 106 00:06:28,610 --> 00:06:31,346 hogy biztosítja a motorháztető alatt. 107 00:06:31,346 --> 00:06:33,680 >> Így a blog alkalmazás egyszerű. 108 00:06:33,680 --> 00:06:36,430 Ha akartuk, hogy hozzon létre egy poszt, akkor kattintson a gombra, hogy. 109 00:06:36,430 --> 00:06:40,470 Elmondhatjuk, hogy "Hé, mindenki. 110 00:06:40,470 --> 00:06:44,530 Ez egy igazán szórakoztató szeminárium, "például. 111 00:06:44,530 --> 00:06:46,560 És írok valamit ide. 112 00:06:46,560 --> 00:06:48,180 Szöveg itt. 113 00:06:48,180 --> 00:06:51,327 Ha kattintson a Küldés gombra, akkor észre, hogy az új blog 114 00:06:51,327 --> 00:06:53,410 poszt bővült a címlapon a blog. 115 00:06:53,410 --> 00:06:56,532 116 00:06:56,532 --> 00:06:59,970 Ha megyünk vissza ide, észre fogod venni, hogy volt néhány megjegyzést már 117 00:06:59,970 --> 00:07:01,160 a blog. 118 00:07:01,160 --> 00:07:03,630 Tehát, ha lépjünk le, akkor észre, hogy Jonathan Tan mondja 119 00:07:03,630 --> 00:07:08,020 hogy ő nagyon izgatta ez a poszt. 120 00:07:08,020 --> 00:07:11,570 >> Szóval megyünk be, hogyan objektumot relációs leképezés lehetővé teszi, 121 00:07:11,570 --> 00:07:16,668 hogy ezek a kapcsolatok meglehetősen zökkenőmentes módon is. 122 00:07:16,668 --> 00:07:17,660 Cool. 123 00:07:17,660 --> 00:07:20,290 Bármilyen kérdése van funkcionalitást A mit fogunk építeni? 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 Szóval kezdjük el a ténylegesen az adatbázis létrehozásához táblákat. 127 00:07:28,170 --> 00:07:33,190 >> Így emlékeztetni arra, hogy a CS50 Finance, akkor összerakni egy táblázatot a felhasználók 128 00:07:33,190 --> 00:07:37,100 valamint a készletek a portfólió. 129 00:07:37,100 --> 00:07:41,040 Szóval mint korábban említettük, mi használja a Laravel 130 00:07:41,040 --> 00:07:43,090 valami ismert vándorlások. 131 00:07:43,090 --> 00:07:48,570 Tehát, ha visszatérünk a elosztó kódot itt, 132 00:07:48,570 --> 00:07:51,790 Az első parancs, amely Hasznos, hogy Laravel nyújt Önnek 133 00:07:51,790 --> 00:07:54,240 ez Migrate parancsot. 134 00:07:54,240 --> 00:07:59,220 Így nem tehetünk php kézműves Migrate: győződjön. 135 00:07:59,220 --> 00:08:01,760 Tehát ez lehetővé teszi számunkra, hogy hozzon létre egy migrációs. 136 00:08:01,760 --> 00:08:03,710 >> És akkor mi szeretnénk hogy hozzon létre egy migrációs 137 00:08:03,710 --> 00:08:07,050 nevű create_posts_table, ami lesz, 138 00:08:07,050 --> 00:08:11,521 hogy hol fogunk legyen tárolása a blogbejegyzések. 139 00:08:11,521 --> 00:08:14,690 És észre fogod venni, hogy itt fut valamilyen kód, amely ténylegesen 140 00:08:14,690 --> 00:08:17,580 előállít egy fájlt, időbélyegzővel rajta. 141 00:08:17,580 --> 00:08:22,260 Tehát, ha megyünk, és nézd meg Database, fogjuk észrevenni alatt Migrations 142 00:08:22,260 --> 00:08:24,830 hogy ez teremtett üres fájl számunkra, amely 143 00:08:24,830 --> 00:08:30,100 van boilerplate kódot a nevét hogy meghatározott, hozzon létre hozzászólások asztalra. 144 00:08:30,100 --> 00:08:31,670 >> És ezt két funkciót benne. 145 00:08:31,670 --> 00:08:40,539 Akár az, amit szeretnénk futtatni, amikor a migráció alkalmazzák az adatbázisba. 146 00:08:40,539 --> 00:08:46,380 És le van mit fogunk csinálni ha azt akarjuk, hogy megfordítsa a migráció. 147 00:08:46,380 --> 00:08:49,890 Tehát itt kezdjük el A írom ezt a migráció. 148 00:08:49,890 --> 00:08:55,480 Szóval van egy hasznos class A Laravel úgynevezett séma. 149 00:08:55,480 --> 00:08:57,910 >> Így fogunk futni séma :: létre. 150 00:08:57,910 --> 00:09:01,080 És fogunk létrehozni egy asztal nevű hozzászólások. 151 00:09:01,080 --> 00:09:05,980 És itt ezt a funkciót. 152 00:09:05,980 --> 00:09:11,010 És belül van, megyünk, hogy ténylegesen adja a tartalmát az asztalunkra. 153 00:09:11,010 --> 00:09:14,860 Megyünk, hogy hozzon létre egy azonosítót, amely automatikusan növekvõ. 154 00:09:14,860 --> 00:09:19,850 155 00:09:19,850 --> 00:09:24,350 >> Emellett megyünk hogy hozzon létre egy területen, amely 156 00:09:24,350 --> 00:09:27,060 képviseli a címe is blogbejegyzést. 157 00:09:27,060 --> 00:09:29,880 158 00:09:29,880 --> 00:09:36,950 Mi is lesz, hogy hozzon létre egy olyan területen, tárolására szövegét a blogbejegyzést. 159 00:09:36,950 --> 00:09:40,600 És végül, megyünk tárolni néhány timestamps 160 00:09:40,600 --> 00:09:44,690 mert amikor mi poszt jött létre és mikor frissítették. 161 00:09:44,690 --> 00:09:46,240 És le, ez viszonylag egyszerű. 162 00:09:46,240 --> 00:09:53,974 Minden, amit akarok, csepp A tábla hoztuk létre. 163 00:09:53,974 --> 00:09:54,930 >> Nagy. 164 00:09:54,930 --> 00:09:55,850 Van még kérdése? 165 00:09:55,850 --> 00:09:59,730 166 00:09:59,730 --> 00:10:07,110 Tehát most, ha megyünk előre, és-- valóban, a helyi befogadó, 167 00:10:07,110 --> 00:10:09,640 hadd törölje, mi volt korábban. 168 00:10:09,640 --> 00:10:14,330 169 00:10:14,330 --> 00:10:15,190 Menjünk az adatbázisok. 170 00:10:15,190 --> 00:10:17,640 Megyek törölni, amit korábban. 171 00:10:17,640 --> 00:10:22,870 Hagyják el ezt, és hozzon létre Új adatbázis Blog50. 172 00:10:22,870 --> 00:10:24,930 És most mi a mágikus rész itt, hogy mi 173 00:10:24,930 --> 00:10:28,760 lehet alkalmazni ezeket a vándorlások közvetlenül Az adatbázis segítségével a parancssorban 174 00:10:28,760 --> 00:10:29,290 eszközt. 175 00:10:29,290 --> 00:10:35,100 Tehát, ha nem teszünk php kézműves Migrate, észre fogod venni, hogy, hé. 176 00:10:35,100 --> 00:10:38,320 Ez hozta létre a migráció asztal, amit majd vess egy pillantást a kicsit, 177 00:10:38,320 --> 00:10:40,540 és ez alkalmazható ez az első migrációs. 178 00:10:40,540 --> 00:10:43,860 179 00:10:43,860 --> 00:10:48,920 >> Szóval nézzük Blog50, észre fogod venni, hogy ez létre két tábla számunkra. 180 00:10:48,920 --> 00:10:50,300 Először is ez a vándorlások asztalra. 181 00:10:50,300 --> 00:10:54,130 Ha tehát böngészni ezt, észre fogod venni, hogy Ez a táblázat meglehetősen egyszerű. 182 00:10:54,130 --> 00:10:55,490 Ez csak azt mondta, hogy, hé. 183 00:10:55,490 --> 00:10:58,960 Írtunk az átállás. 184 00:10:58,960 --> 00:11:01,470 Megyünk vissza, és nézd meg hozzászólások. 185 00:11:01,470 --> 00:11:05,720 Észre fogod venni, hogy a szerkezet Mi pontosan, aki azt kérte. 186 00:11:05,720 --> 00:11:07,350 Van egy automatikusan növekvõ ID. 187 00:11:07,350 --> 00:11:10,450 Van egy szöveg tárolására a cím, és a szöveges mezőben 188 00:11:10,450 --> 00:11:11,450 tárolására a tartalom. 189 00:11:11,450 --> 00:11:14,040 190 00:11:14,040 --> 00:11:14,706 Nagy. 191 00:11:14,706 --> 00:11:15,560 Cool. 192 00:11:15,560 --> 00:11:21,626 Bármilyen kérdése van vándorlások munka, hogyan alkalmazhatjuk őket? 193 00:11:21,626 --> 00:11:22,126 Nem? 194 00:11:22,126 --> 00:11:23,600 Cool. 195 00:11:23,600 --> 00:11:26,630 Tehát most fogunk menni előre és létrehozza a modell. 196 00:11:26,630 --> 00:11:33,100 Ezért szeretnénk létrehozni egy hozzászólás modell tárolja egy absztrakció az adatbázisban. 197 00:11:33,100 --> 00:11:41,040 Tehát nem csinál MySQL lekérdezés közvetlenül, fogunk létrehozni. 198 00:11:41,040 --> 00:11:45,840 Tehát meg kell létrehozni mappa itt nevű modell. 199 00:11:45,840 --> 00:11:48,905 És benne van, megyünk hozzon létre egy fájlt úgynevezett post.php. 200 00:11:48,905 --> 00:11:52,280 201 00:11:52,280 --> 00:11:54,550 >> Ezen belül a PHP fájlt, fogunk létrehozni 202 00:11:54,550 --> 00:12:00,590 egy postai küldeményként amely kiterjeszti sokatmondó. 203 00:12:00,590 --> 00:12:08,950 Sokatmondó az a név, az ORM motort, hogy Laravel biztosít. 204 00:12:08,950 --> 00:12:12,799 És itt, akkor elvárható, hogy ha valóban szükség van írni egy kis kódot. 205 00:12:12,799 --> 00:12:14,840 Megyünk, hogy írjon néhány segédfüggvényünk később. 206 00:12:14,840 --> 00:12:19,420 De ki a dobozból, ez a tény már felismerik, mi van az adatbázisban 207 00:12:19,420 --> 00:12:24,770 el tudjuk érni, azt mondják, a szöveg A mi blogbejegyzést, vagy a cím, 208 00:12:24,770 --> 00:12:29,230 és hozzon létre cucc közvetlenül nagyjából nincs kód nélkül. 209 00:12:29,230 --> 00:12:31,110 >> Szóval ez az egyik mágikus elemek. 210 00:12:31,110 --> 00:12:34,980 És a szél egyszer ebbe az osztályba A több teljes értékű, 211 00:12:34,980 --> 00:12:40,480 mi tartalmazhat információt ez kapcsolódik, így a megjegyzéseket. 212 00:12:40,480 --> 00:12:42,310 Szintén hozzon létre egy függvényt így mi is valójában 213 00:12:42,310 --> 00:12:46,340 közvetlenül az URL Az egy blogbejegyzést oldalon. 214 00:12:46,340 --> 00:12:46,840 Cool. 215 00:12:46,840 --> 00:12:47,881 Bármilyen kérdése van ez? 216 00:12:47,881 --> 00:12:51,140 217 00:12:51,140 --> 00:12:51,832 Nem. 218 00:12:51,832 --> 00:12:54,100 Cool. 219 00:12:54,100 --> 00:12:57,860 >> Tehát most ha nálunk van a modellben szeretnénk létrehozni egy vezérlő, ami 220 00:12:57,860 --> 00:13:02,340 képes érintkezni ezeket a modelleket, és ezt követően az adatbázis. 221 00:13:02,340 --> 00:13:05,540 Tehát, ha veszünk egy pillantást BlogController, akkor 222 00:13:05,540 --> 00:13:08,490 észre, hogy ott nem sok van most. 223 00:13:08,490 --> 00:13:13,220 Minden van egy index funkció hogy létrehozza a honlapon, 224 00:13:13,220 --> 00:13:18,220 de anélkül, hogy bármi ott megjelenítésére sem. 225 00:13:18,220 --> 00:13:20,560 >> Tehát az első funkció hogy fogunk létrehozni 226 00:13:20,560 --> 00:13:25,790 az egyik, hogy lehetővé teszi számunkra, hogy hozzon létre egy blogbejegyzést. 227 00:13:25,790 --> 00:13:30,540 Így fogunk arra, hogy egy Új funkció az úgynevezett newPost. 228 00:13:30,540 --> 00:13:36,430 És idebent egyszerűen, megyünk beállítani az elrendezés oldal 229 00:13:36,430 --> 00:13:41,850 hogy egy render változat, ha visszahívja a CS50, 230 00:13:41,850 --> 00:13:48,020 A sablon nevű blog.new, amely fogunk létrehozni egy kicsit. 231 00:13:48,020 --> 00:13:53,170 >> Észre fogod venni, itt a soros hathengeres, hogy adtuk meg ezt a változót, az elrendezés. 232 00:13:53,170 --> 00:13:55,820 És ha vetünk egy pillantást A Views mappát, 233 00:13:55,820 --> 00:14:01,640 van egy elrendezések mappát, amelyben tartalmaz egy nagyon alapvető HTML fájlt. 234 00:14:01,640 --> 00:14:04,680 És a figyelmét, hogy észre fogod venni, hogy van ez a konténer 235 00:14:04,680 --> 00:14:06,800 Itt produkálnak tartalmat. 236 00:14:06,800 --> 00:14:09,460 Tehát belsejében mi sablon mit fogunk csinálni 237 00:14:09,460 --> 00:14:16,180 A létre, mi lesz helyette közvetlenül az ezt az elrendezést. 238 00:14:16,180 --> 00:14:20,060 >> És azt mondtuk, hogy szeretnénk tenni Sablon nevű blog.new. 239 00:14:20,060 --> 00:14:23,790 De belül a Blog, van még nem az új sablont. 240 00:14:23,790 --> 00:14:26,910 Így fogunk létrehozni nevű fájlt new.blade.php. 241 00:14:26,910 --> 00:14:29,860 Ez azt mondja, hogy Laravel ez a PHP fájl 242 00:14:29,860 --> 00:14:31,720 tenni a blade sablon motor. 243 00:14:31,720 --> 00:14:39,510 244 00:14:39,510 --> 00:14:42,630 Tehát ez egy meglehetősen egyszerű fájl. 245 00:14:42,630 --> 00:14:46,690 Ez lesz a forma, amely által mi valójában hozzá egy blogbejegyzést. 246 00:14:46,690 --> 00:14:49,220 >> Tehát a varázslat itt a öröklődés, hogy, hé. 247 00:14:49,220 --> 00:14:52,950 Szeretnénk leszögezni, hogy a rész, a tartalom része 248 00:14:52,950 --> 00:14:56,640 Itt, amely meghatározta asection ésstop. 249 00:14:56,640 --> 00:15:02,260 Szóval mi a kettő között van fog behelyettesíthető a törzselrendezést. 250 00:15:02,260 --> 00:15:07,000 És itt, amit akarok, Nagyon egyszerűen hozzon létre egy új HTML fájlt. 251 00:15:07,000 --> 00:15:08,690 Nézzük csak adj egy gyors címet. 252 00:15:08,690 --> 00:15:09,600 Add egy blogbejegyzést. 253 00:15:09,600 --> 00:15:12,110 254 00:15:12,110 --> 00:15:15,390 És benne vagyunk Készítünk egy formája. 255 00:15:15,390 --> 00:15:19,197 >> Ez a forma megy, hogy egy akció. 256 00:15:19,197 --> 00:15:21,780 És ez lesz valami hogy helyettesítse a későbbi, 257 00:15:21,780 --> 00:15:24,200 és majd meglátjuk, hogyan routing elfér itt. 258 00:15:24,200 --> 00:15:33,600 De mi csak fogja meghatározni most hogy ez megy a URL útvonal 259 00:15:33,600 --> 00:15:34,860 a createPost. 260 00:15:34,860 --> 00:15:38,200 261 00:15:38,200 --> 00:15:40,320 És akkor ez lesz hogy a módszer post. 262 00:15:40,320 --> 00:15:43,940 263 00:15:43,940 --> 00:15:47,590 Belül van, megyünk hogy a két területen. 264 00:15:47,590 --> 00:15:49,170 Div class = "form-csoport". 265 00:15:49,170 --> 00:15:55,806 >> Mi használja a Bootstrap CSS könyvtár kegyesen által biztosított Twitter. 266 00:15:55,806 --> 00:15:57,720 Így fogunk létrehozni kettő. 267 00:15:57,720 --> 00:16:01,700 268 00:16:01,700 --> 00:16:05,970 Tehát ez az első bemenet lesz a cím. 269 00:16:05,970 --> 00:16:08,437 Tehát 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 Megyek, hogy adjunk egy helykitöltő = "Cím". 274 00:16:16,050 --> 00:16:21,570 275 00:16:21,570 --> 00:16:26,140 >> És akkor a második pedig lesz egy szövegmezőbe. 276 00:16:26,140 --> 00:16:27,827 Name = "content". 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 És helykitöltő = "Írja ide". 280 00:16:34,610 --> 00:16:42,030 281 00:16:42,030 --> 00:16:43,480 Oda megyünk. 282 00:16:43,480 --> 00:16:46,760 Végül fogunk adjunk hozzá egy gyors küldés gomb. 283 00:16:46,760 --> 00:16:50,370 Type = "submit" class = "Btn gmb elsődleges". 284 00:16:50,370 --> 00:16:53,370 285 00:16:53,370 --> 00:16:55,340 Szóval ezek mind jellemzői bootstrap Tehát 286 00:16:55,340 --> 00:16:58,510 hogy ez lehet megállapítani ki oly módon, hogy ez 287 00:16:58,510 --> 00:17:03,730 áldozatul a felhasználó, ahelyett, meztelenül HTML. 288 00:17:03,730 --> 00:17:06,250 >> Így már meghatározta a vezérlő itt. 289 00:17:06,250 --> 00:17:08,930 Már meghatározott egy nagyon egyszerű néző. 290 00:17:08,930 --> 00:17:12,339 De mi hiányzik a a kötőszövet. 291 00:17:12,339 --> 00:17:15,420 Tehát ezen a ponton, Laravel fogalma sincs arról, 292 00:17:15,420 --> 00:17:18,312 fogunk ténylegesen hozzá vezérlő. 293 00:17:18,312 --> 00:17:20,270 Tehát ez van definiálva, egy nevű fájlt routes.php. 294 00:17:20,270 --> 00:17:22,780 295 00:17:22,780 --> 00:17:24,310 És most, van egy útvonal. 296 00:17:24,310 --> 00:17:29,060 Ami, ha megyünk a Otthon utat ezen a honlapon, 297 00:17:29,060 --> 00:17:33,140 ez meg fog tenni Az index vezérlő. 298 00:17:33,140 --> 00:17:38,880 Tehát itt, mit kell tennünk, van végre egy új útvonalat számunkra, hogy hozzon létre egy post. 299 00:17:38,880 --> 00:17:41,910 >> Így használjuk ezt a módszert kap, amely meghatározza 300 00:17:41,910 --> 00:17:48,650 hogy amikor a felhasználó megpróbálja hogy ezt page-- kifejezetten 301 00:17:48,650 --> 00:17:52,850 A poszt perjel új page-- mit fogunk csinálni 302 00:17:52,850 --> 00:18:02,060 van használja a vezérlő úgynevezett BlogController új álláshely. 303 00:18:02,060 --> 00:18:03,460 Az egyik, hogy most létrehozott. 304 00:18:03,460 --> 00:18:08,090 És akkor megyünk Alias ​​azt newPost. 305 00:18:08,090 --> 00:18:17,460 306 00:18:17,460 --> 00:18:19,850 Megyünk, hogy hozzon létre egy másik feladatát egy kicsit. 307 00:18:19,850 --> 00:18:23,520 De mi itt a A legfontosabb ", mint" az, ami 308 00:18:23,520 --> 00:18:28,195 tudjuk helyettesíteni belül a Penge sablonok. 309 00:18:28,195 --> 00:18:32,390 310 00:18:32,390 --> 00:18:36,230 Tehát most, hadd valójában is mondják útvonalon. 311 00:18:36,230 --> 00:18:38,380 Tehát mi is lesz hogy hozzon létre egy vezérlő 312 00:18:38,380 --> 00:18:41,020 hogy mi is létrehozhatunk ezeket a hozzászólásokat. 313 00:18:41,020 --> 00:18:46,940 Tehát, ha egy felhasználó hozzászólásait az oldalra hozzászólás perjel új, mit fogunk csinálni 314 00:18:46,940 --> 00:18:51,350 van olyan vezérlőt használ, hogy fogunk létrehozni röviddel 315 00:18:51,350 --> 00:18:56,160 nevű BlogController a createPost. 316 00:18:56,160 --> 00:19:01,929 És mi lesz alias ezt az createPost. 317 00:19:01,929 --> 00:19:03,380 Cool. 318 00:19:03,380 --> 00:19:05,811 >> Van még kérdése? 319 00:19:05,811 --> 00:19:06,310 Cool. 320 00:19:06,310 --> 00:19:09,790 Tehát fussunk, amit eddig. 321 00:19:09,790 --> 00:19:16,930 Tehát, ha nem teszünk php kézműves szolgálja, látni fogjuk, sok hibát. 322 00:19:16,930 --> 00:19:20,385 Szóval úgy néz ki, hogy van egy szintaktikai hiba útvonalakon 27. sor. 323 00:19:20,385 --> 00:19:20,885 Ah. 324 00:19:20,885 --> 00:19:21,718 Hiányzó pontosvessző. 325 00:19:21,718 --> 00:19:24,900 326 00:19:24,900 --> 00:19:32,870 Tehát, ha megyünk 8000, látni fogod Itt még nincs semmi. 327 00:19:32,870 --> 00:19:34,740 Tehát ez az alapértelmezett kezdőlapot. 328 00:19:34,740 --> 00:19:37,730 >> De ha megyünk küldeni perjel új, hé. 329 00:19:37,730 --> 00:19:40,425 Ez lesz a formában, hogy most létrehozott. 330 00:19:40,425 --> 00:19:42,550 Most már nem megvalósított funkcionalitás 331 00:19:42,550 --> 00:19:44,060 A amikor megnyomjuk a Küldés gombra. 332 00:19:44,060 --> 00:19:47,110 Tehát, ha kattintson a Submit gombot, hogy fog futni egy hiba. 333 00:19:47,110 --> 00:19:49,840 De mi lesz kód, amely most, pontosan mit is 334 00:19:49,840 --> 00:19:54,840 akarok, ha a felhasználó benyújtja ezt a nyomtatványt. 335 00:19:54,840 --> 00:19:55,770 >> Tehát lássuk, hogy. 336 00:19:55,770 --> 00:19:57,380 Menj vissza a vezérlők fájlt. 337 00:19:57,380 --> 00:20:00,180 Mit fogunk csinálni a ezt az új funkciót 338 00:20:00,180 --> 00:20:04,360 amely lehetővé teszi számunkra, hogy hozzon létre egy post. 339 00:20:04,360 --> 00:20:07,370 340 00:20:07,370 --> 00:20:08,990 Kijelentem, új funkciót. 341 00:20:08,990 --> 00:20:11,527 Nyilvános funkciót createPost. 342 00:20:11,527 --> 00:20:14,610 És ez a funkció lesz kicsit bonyolultabb, mint mi 343 00:20:14,610 --> 00:20:15,559 a miénk volt. 344 00:20:15,559 --> 00:20:18,350 De látni fogod, hogy itt nem vagyunk fog ténylegesen írni a SQL. 345 00:20:18,350 --> 00:20:20,980 Az ORM, az ékes ORM, megy, hogy 346 00:20:20,980 --> 00:20:26,400 számunkra, hogy ezt a néhány módon sokkal elegánsabb megoldást. 347 00:20:26,400 --> 00:20:29,140 >> Így fogunk létrehozni egy új post. 348 00:20:29,140 --> 00:20:34,120 És itt vagyunk példányosítanánk egy új objektumot 349 00:20:34,120 --> 00:20:38,080 A modell, amit csak létre, a poszt modellt. 350 00:20:38,080 --> 00:20:44,450 És mit fogunk csinálni van beállítva a title attribútum ennek segítségével valamit 351 00:20:44,450 --> 00:20:47,380 hogy megkapjuk a szerverről. 352 00:20:47,380 --> 00:20:52,060 Tehát ez hasonló ahhoz, amit miénk volt a CS50 Finance 353 00:20:52,060 --> 00:20:57,750 ahol tennénk, használja a Super Global Hozzászólás keres címet. 354 00:20:57,750 --> 00:21:01,600 >> Tehát Laravel ad némi csatornázás és miegymás ezzel egy segítő funkciót. 355 00:21:01,600 --> 00:21:07,610 Ezért helyette ki ezt is Ennek nagyon egyszerű nyers formában a PHP. 356 00:21:07,610 --> 00:21:17,430 És akkor mit fogunk csinálni beállítása A tartalma a bemenetre, hogy a tartalmak. 357 00:21:17,430 --> 00:21:20,429 358 00:21:20,429 --> 00:21:22,720 Mi történt valójában betakar Ezt egy hasznos funkciója 359 00:21:22,720 --> 00:21:31,820 hogy PHP nevű nl2br, amely Kiderül új vonalak, NLS, a széles, szünetek, 360 00:21:31,820 --> 00:21:35,822 hogy mi is valójában egyes pontjaiban belül. 361 00:21:35,822 --> 00:21:38,030 És végül mit fogunk tennie, hogy mentse ezt a bejegyzést. 362 00:21:38,030 --> 00:21:41,686 Így hívjuk a funkciót spórolni ezt a modellt. 363 00:21:41,686 --> 00:21:43,800 Megyünk, hogy megmentse a post. 364 00:21:43,800 --> 00:21:49,970 És végül mit fogunk csinálni A átirányítja a felhasználót kifejezetten 365 00:21:49,970 --> 00:21:55,060 Az útvonal megyünk hozzon létre röviddel, alias által viewPost. 366 00:21:55,060 --> 00:22:00,435 És megyünk át az érveket id, hogy az id ilyen poszt. 367 00:22:00,435 --> 00:22:04,280 368 00:22:04,280 --> 00:22:05,640 >> Nagy. 369 00:22:05,640 --> 00:22:09,090 Tehát most, ha valóban megy, és futtatni ezt. 370 00:22:09,090 --> 00:22:11,370 Fogunk egy új post. 371 00:22:11,370 --> 00:22:15,930 Mondjuk ez szeminárium 50. 372 00:22:15,930 --> 00:22:17,620 És azt mondják, az biztos. 373 00:22:17,620 --> 00:22:18,240 ADSL. 374 00:22:18,240 --> 00:22:18,740 Bármit. 375 00:22:18,740 --> 00:22:20,320 Valamiféle tartalmat. 376 00:22:20,320 --> 00:22:21,180 És azt benyújtja. 377 00:22:21,180 --> 00:22:23,850 És mi észre, hogy, hé. útvonalak nincs meghatározva. 378 00:22:23,850 --> 00:22:32,340 De ha veszünk egy pillantást phpMyAdmin és keresnek-e vagy sem a funkciót 379 00:22:32,340 --> 00:22:34,370 nem tett semmit. 380 00:22:34,370 --> 00:22:36,670 Nézd meg Blog50 hozzászólások. 381 00:22:36,670 --> 00:22:37,720 Majd észre, hogy, hé. 382 00:22:37,720 --> 00:22:43,530 Sőt, mi nem csak teremt, hogy blog küldeni a időbélyeggel megadott. 383 00:22:43,530 --> 00:22:46,600 384 00:22:46,600 --> 00:22:51,630 >> Tehát most menjünk vissza, és valóban létre ez a másik funkciója a vezérlő, 385 00:22:51,630 --> 00:22:54,790 konkrétan a viewPost vezérlő. 386 00:22:54,790 --> 00:23:00,290 Tehát az állami funkciót viewPost. 387 00:23:00,290 --> 00:23:04,070 Tehát itt, mit teszünk, hanem , hogy üres zárójelek, 388 00:23:04,070 --> 00:23:08,800 mi szeretnénk átadni a azonosítója a poszt, hogy hozunk létre. 389 00:23:08,800 --> 00:23:12,800 És innen mit fogunk csinálni valójában lekérdezi az adatbázist érte. 390 00:23:12,800 --> 00:23:15,140 >> Tehát ha mi közzé, van olyan függvény is 391 00:23:15,140 --> 00:23:18,860 Keresse meg, amely lehetővé teszi számunkra, hogy kérdezd le az azonosító. 392 00:23:18,860 --> 00:23:22,110 Különösen, valóban, fogunk egy alternatív változata ennek a nevezett 393 00:23:22,110 --> 00:23:27,880 Keressen vagy Fail, amely lehetővé teszi számunkra, leszokni ki ezt a funkciót, 394 00:23:27,880 --> 00:23:34,700 dob kivételt, ha a ID adunk át és nem létezik. 395 00:23:34,700 --> 00:23:37,500 És akkor fogunk tenni valamit hasonló ahhoz, amit csinált korábban 396 00:23:37,500 --> 00:23:41,100 ahol mi meg a tartalmat Ezen az oldalon lehet 397 00:23:41,100 --> 00:23:47,950 A renderelt változata az új nézetet amely fogunk létrehozni, blog.view. 398 00:23:47,950 --> 00:23:51,030 >> És mi lesz, hogy bejut it-- csakúgy, mint a CS50 render 399 00:23:51,030 --> 00:23:56,645 function-- a szótár változók. 400 00:23:56,645 --> 00:23:59,860 401 00:23:59,860 --> 00:24:04,620 A kulcsok ennek asszociatív tömb válnak osztályon belül sablon. 402 00:24:04,620 --> 00:24:06,830 Így fogunk tenni poszt post. 403 00:24:06,830 --> 00:24:12,474 Így adja át közvetetten a poszt, hogy amit kérdezni az adatbázisból. . 404 00:24:12,474 --> 00:24:14,390 Most mi megyünk hozz létre ezt a nézetet 405 00:24:14,390 --> 00:24:17,560 hogy mi is valójában megtekintéséhez A blogbejegyzések, hogy már épül. 406 00:24:17,560 --> 00:24:20,280 >> Így fogunk létrehozni nevű fájlt view.blade.php. 407 00:24:20,280 --> 00:24:25,870 408 00:24:25,870 --> 00:24:29,640 Szóval belsejében ez a sablon, mit fogunk csinálni 409 00:24:29,640 --> 00:24:39,700 kerül össze egy egyszerű oldalt lehetővé teszi számunkra, hogy megjelenítse a tartalmat. 410 00:24:39,700 --> 00:24:44,280 Így teszünk a rész, ami előtt a tartalom. 411 00:24:44,280 --> 00:24:46,800 Megállítani. 412 00:24:46,800 --> 00:24:53,920 És mit fogunk tennie belül itt 413 00:24:53,920 --> 00:24:56,930 levelet ki a HTML kódot az oldal megjelenítéséhez. 414 00:24:56,930 --> 00:25:03,590 >> Így fogunk tekerje be egy díszes új HTML5 elemet nevezett cikk. 415 00:25:03,590 --> 00:25:05,790 És itt, megyünk hogy legyen fejléc ahol 416 00:25:05,790 --> 00:25:12,190 fogunk egyszerűen van egy H1, amely magában foglalja a cikk címét. 417 00:25:12,190 --> 00:25:17,120 Tehát itt, ha megnézzük ezt a dupla zárójel jelölést, 418 00:25:17,120 --> 00:25:21,690 ez is megteszi alapvetően PHP echo postai cím. 419 00:25:21,690 --> 00:25:25,630 Tehát ez egy hasznos gyorsírással hogy Laravel biztosít számunkra. 420 00:25:25,630 --> 00:25:31,070 Így fogunk használni Ezzel a jelöléssel helyett. 421 00:25:31,070 --> 00:25:40,220 >> És itt, fogunk is nyomtassa ki annak tartalmát. 422 00:25:40,220 --> 00:25:43,480 És itt, megyünk hogy nem post tartalmát. 423 00:25:43,480 --> 00:25:46,514 424 00:25:46,514 --> 00:25:50,660 És aljára mire vagyunk eredménye, hogy hozzon létre egy lábléc. 425 00:25:50,660 --> 00:25:57,690 És a lábléc, megyünk első kijelzőn, ha ez a kategóriája. 426 00:25:57,690 --> 00:26:01,320 Szóval ez volt kifüggesztett a teremtett meg. 427 00:26:01,320 --> 00:26:07,996 >> És Laravel használ egy igazán szép korszerű könyvtári úgynevezett Carbon. 428 00:26:07,996 --> 00:26:11,120 Tehát valóban tenni valamit az úgynevezett difforHumans, amit korábban látott. 429 00:26:11,120 --> 00:26:14,360 Amikor kiküldték. ez azt fogják mondani: mint öt másodperccel ezelőtt. 430 00:26:14,360 --> 00:26:16,860 Tehát ez egy igazán szép funkcionalitását Laravel. 431 00:26:16,860 --> 00:26:19,469 432 00:26:19,469 --> 00:26:21,385 És végül, megyünk zárni ezt lábléc. 433 00:26:21,385 --> 00:26:24,900 434 00:26:24,900 --> 00:26:31,450 >> Tehát most, ha megyünk vissza Honlap megyünk 435 00:26:31,450 --> 00:26:34,490 hogy itt semmi sem, mert mi nem kódolt fel a honlapon. 436 00:26:34,490 --> 00:26:40,962 De ha megyünk küldeni perjel egy, fogunk látni egy kivétel. 437 00:26:40,962 --> 00:26:42,670 Tudja valaki, hogy miért látunk kivétel? 438 00:26:42,670 --> 00:26:44,516 Mit fogunk hiányzik? 439 00:26:44,516 --> 00:26:45,290 Van ötleted? 440 00:26:45,290 --> 00:26:48,050 441 00:26:48,050 --> 00:26:49,790 Szóval mit csinálunk korábbi számunkra valóban 442 00:26:49,790 --> 00:26:52,285 hogy meghatározza, hogyan jutunk el Különösen vezérlők? 443 00:26:52,285 --> 00:26:54,895 444 00:26:54,895 --> 00:26:55,770 >> 1. Előadó: Az útvonal? 445 00:26:55,770 --> 00:26:56,519 ERIC Ouyang: Igen. 446 00:26:56,519 --> 00:26:58,070 Szóval még mindig meg kell határozni az útvonalat. 447 00:26:58,070 --> 00:26:59,794 Szóval megyünk vissza ide routes.php. 448 00:26:59,794 --> 00:27:01,710 Észre fogod venni, hogy mi nem határozta 449 00:27:01,710 --> 00:27:05,010 hogyan fogunk kapni hogy ez a vezérlő. 450 00:27:05,010 --> 00:27:06,780 Tehát most megyünk határozzák meg ezt az utat. 451 00:27:06,780 --> 00:27:09,280 Ez elég egyszerű, hasonló ahhoz, amit csinált korábban. 452 00:27:09,280 --> 00:27:13,910 De mit fogunk itt megjegyezni hogy mi lesz egy helykitöltő. 453 00:27:13,910 --> 00:27:18,730 >> Tehát, ha nem teszünk route.get perjel utáni ID. 454 00:27:18,730 --> 00:27:24,290 Tehát ID most mi fog átadható a vezérlő. 455 00:27:24,290 --> 00:27:27,820 Ez fogja használni a vezérlő, hogy mi csak 456 00:27:27,820 --> 00:27:33,560 létre, BlogController a viewPost. 457 00:27:33,560 --> 00:27:36,420 És mi lesz alias ezt viewPost. 458 00:27:36,420 --> 00:27:46,544 459 00:27:46,544 --> 00:27:47,490 Nagy. 460 00:27:47,490 --> 00:27:49,470 Tehát most fogunk létrehozni ezt az utat. 461 00:27:49,470 --> 00:27:52,100 >> Tehát most, ha megyünk ide és frissítse az oldalt, 462 00:27:52,100 --> 00:27:54,410 mi tulajdonképpen megvan az új blogbejegyzést. 463 00:27:54,410 --> 00:27:57,710 Tehát ez az, amit korábban létrehozott. 464 00:27:57,710 --> 00:28:01,320 Nagyon egyszerű oldalt, de megjelenik a blogbejegyzést, hogy most létrehozott. 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 És ha valóban menni az egész létrehozásának folyamatát egy új blogbejegyzést, 468 00:28:08,880 --> 00:28:11,700 azt fogja tapasztalni, hogy mindent átirányítja megfelelően. 469 00:28:11,700 --> 00:28:12,950 Ha azt mondom, "Hi. 470 00:28:12,950 --> 00:28:15,710 Én Jonathan Tan. " 471 00:28:15,710 --> 00:28:18,550 Azt mondják, "Ez az én blogbejegyzést." 472 00:28:18,550 --> 00:28:22,830 És azt benyújtja, ez hoz létre Az új blogbejegyzés ID 2, 473 00:28:22,830 --> 00:28:28,920 amely lépésekben, amit kellett korábban, és megjeleníti rendesen. 474 00:28:28,920 --> 00:28:30,760 Félelmetes. 475 00:28:30,760 --> 00:28:32,930 >> Van még kérdése? 476 00:28:32,930 --> 00:28:33,430 Igen? 477 00:28:33,430 --> 00:28:36,537 >> Hangszóró 2: Vajon Laravel fogantyú sanitization és mindent az Ön számára? 478 00:28:36,537 --> 00:28:37,245 ERIC Ouyang: Igen. 479 00:28:37,245 --> 00:28:42,990 Tehát amikor láttuk korábban, amikor tettük input vastagbél vastagbél kap, 480 00:28:42,990 --> 00:28:47,720 hogy sanitates minden SQL injekciók és miegymás 481 00:28:47,720 --> 00:28:51,660 hogy érdemes elvégezni, ha vagyunk egy rosszindulatú felhasználó a honlap. 482 00:28:51,660 --> 00:28:54,115 Tehát Laravel kezeli a sok Az, hogy a színfalak mögött. 483 00:28:54,115 --> 00:28:57,030 Jó kérdés. 484 00:28:57,030 --> 00:29:00,390 >> Szóval vessünk egy pillantást a honlapon. 485 00:29:00,390 --> 00:29:03,220 486 00:29:03,220 --> 00:29:06,790 Tehát, ha az első menj vissza a vezérlő a honlapon, 487 00:29:06,790 --> 00:29:08,740 észre fogod venni, hogy nem sokat itt. 488 00:29:08,740 --> 00:29:11,620 Észre fogod venni, hogy nem vagyunk halad át a vezérlő 489 00:29:11,620 --> 00:29:13,830 semmit, különösen hasznos. 490 00:29:13,830 --> 00:29:16,660 Ez csak az index fájlt. 491 00:29:16,660 --> 00:29:18,770 >> Úgyhogy átjut Ez valami hasznos. 492 00:29:18,770 --> 00:29:21,450 És konkrétan, mi vagyunk megy át a hozzászólásokban. 493 00:29:21,450 --> 00:29:28,740 És Laravel lehetővé teszi számunkra, hogy nem postai úton is, amelyek 494 00:29:28,740 --> 00:29:30,625 lehetővé teszi számunkra, hogy minden a hozzászólások. 495 00:29:30,625 --> 00:29:33,160 496 00:29:33,160 --> 00:29:35,730 Most ha megyünk vissza index.php, látni fogod, hé. 497 00:29:35,730 --> 00:29:37,060 Itt még nincs semmi. 498 00:29:37,060 --> 00:29:41,290 De mit akarunk csinálni itt valójában halad végig, 499 00:29:41,290 --> 00:29:46,420 nem egy foreach ciklus alatt a hozzászólások, lehetővé teszi számunkra, hogy nyomtassa ki a hozzászólás. 500 00:29:46,420 --> 00:29:53,180 >> Tehát foreach álláshellyel poszt, mit akarunk csinálni 501 00:29:53,180 --> 00:29:57,252 a nyomtassa ki a tartalmat A blogbejegyzést. 502 00:29:57,252 --> 00:30:00,210 De egy dolog, észre fogod venni, hogy mi valójában írta a legtöbb, ami code 503 00:30:00,210 --> 00:30:01,370 Már, a view.blade.php. 504 00:30:01,370 --> 00:30:04,070 505 00:30:04,070 --> 00:30:08,640 Szóval, mit fogunk, hogy ténylegesen is használ egy szép hasznos funkciója, Penge 506 00:30:08,640 --> 00:30:11,300 és a Faktor ki ezt a közös kódot. 507 00:30:11,300 --> 00:30:12,570 Így megy itt. 508 00:30:12,570 --> 00:30:16,210 >> Megyünk, hogy ezt a tartalmat itt, és mit fogunk csinálni 509 00:30:16,210 --> 00:30:18,170 hozz létre egy új mappát. 510 00:30:18,170 --> 00:30:20,364 Hívjuk csak akkor felhangok. 511 00:30:20,364 --> 00:30:22,530 És itt, megyünk hogy hozzon létre egy post.blade.php. 512 00:30:22,530 --> 00:30:26,570 513 00:30:26,570 --> 00:30:33,100 Tehát itt, mi tényezőként ki azt a módot, amit szeretnénk megjeleníteni ezeket a hozzászólásokat. 514 00:30:33,100 --> 00:30:38,690 És itt mit fogunk csinálni ahelyett, ténylegesen ilyen HTML közvetlenül, 515 00:30:38,690 --> 00:30:41,530 fogjuk használni ezt az irányelvet nevű közé blog.partials.post. 516 00:30:41,530 --> 00:30:45,210 517 00:30:45,210 --> 00:30:50,635 >> És mit fogunk csinálni itt az át a posztot a lap. 518 00:30:50,635 --> 00:30:57,076 519 00:30:57,076 --> 00:31:01,050 Tehát most ha visszamegyünk Itt fogunk észre, hogy a funkciók még mindig 520 00:31:01,050 --> 00:31:01,550 ugyanaz. 521 00:31:01,550 --> 00:31:05,140 De most itt van ez tényezőként ki kódot, ez a HTML. 522 00:31:05,140 --> 00:31:07,070 Így tudjuk használni az Index. 523 00:31:07,070 --> 00:31:09,090 Tehát itt, ez nagyon egyszerű. 524 00:31:09,090 --> 00:31:17,870 Minden, amit teszünk közé blog.partials.post és tömb. 525 00:31:17,870 --> 00:31:20,845 És valahol előtt, mi poszt post. 526 00:31:20,845 --> 00:31:23,830 527 00:31:23,830 --> 00:31:28,182 >> Tehát most ha visszamegyünk a honlapjához, látni fogjuk, hogy, hé. 528 00:31:28,182 --> 00:31:30,515 Van egy listát az összes blogbejegyzések, hogy a miénk volt. 529 00:31:30,515 --> 00:31:34,640 530 00:31:34,640 --> 00:31:37,700 Lehet, hogy szeretnénk ", ha" feltételeit és a "más" körülmények között 531 00:31:37,700 --> 00:31:39,979 így ha nincs semmit a blog, 532 00:31:39,979 --> 00:31:41,520 szeretnénk megjeleníteni valami hasznosat. 533 00:31:41,520 --> 00:31:42,570 Tetszik, hé. 534 00:31:42,570 --> 00:31:44,340 Nincs tartalmat még a blog. 535 00:31:44,340 --> 00:31:47,670 És ha a srácok tényleg nézd meg Az elosztó kódot GitHub, 536 00:31:47,670 --> 00:31:50,100 akkor megjelenik egy példa arra, hogy hogyan csináljuk ezt. 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 Van még kérdése? 540 00:31:54,890 --> 00:31:55,510 Igen. 541 00:31:55,510 --> 00:31:57,468 >> Hangszóró 2: Azt hiszem, csak egy alapvető kérdés. 542 00:31:57,468 --> 00:31:59,480 Vissza az útvonalat. 543 00:31:59,480 --> 00:32:00,230 ERIC Ouyang: Igen. 544 00:32:00,230 --> 00:32:01,935 Ha veszünk egy pillantást útvonalak. 545 00:32:01,935 --> 00:32:06,018 >> Hangszóró 2: Honnan uses.blogcontroller at létre poszt, 546 00:32:06,018 --> 00:32:07,560 Mit is irányít minket, hogy? 547 00:32:07,560 --> 00:32:08,310 ERIC Ouyang: Igen. 548 00:32:08,310 --> 00:32:08,550 Igen. 549 00:32:08,550 --> 00:32:09,716 >> Hangszóró 2: Vagy mi van, hogy-- 550 00:32:09,716 --> 00:32:12,620 ERIC Ouyang: Tehát, vessünk egy pillantást, azt mondják, például ez az útvonal itt. 551 00:32:12,620 --> 00:32:17,190 Az első rész a tényleges URL, hogy a felhasználó fog menni. 552 00:32:17,190 --> 00:32:19,930 És ez a tömb van, asszociatív tömb, határozza meg 553 00:32:19,930 --> 00:32:24,520 hogyan szeretné, hogy a alkalmazásával tett eleget azt. 554 00:32:24,520 --> 00:32:29,090 Így használja a vezérlő, A funkció, amit 555 00:32:29,090 --> 00:32:31,610 szeretnénk hívni, ha a használati megy ez az URL. 556 00:32:31,610 --> 00:32:35,190 Tehát viewPost itt volt funkció, amit belül definiált 557 00:32:35,190 --> 00:32:36,100 A BlogController-- 558 00:32:36,100 --> 00:32:37,160 >> Hangszóró 2: látom. 559 00:32:37,160 --> 00:32:39,368 >> ERIC Ouyang: --so hogy ténylegesen teszi a céllal, 560 00:32:39,368 --> 00:32:42,590 végezni néhány számítást, kölcsönhatásba az SQL adatbázis. 561 00:32:42,590 --> 00:32:43,560 >> Hangszóró 2: OK. 562 00:32:43,560 --> 00:32:46,960 >> ERIC Ouyang: És akkor a másik része, "mint" egy álnév, amit használunk. 563 00:32:46,960 --> 00:32:50,714 Tehát, ha azt vesszük észre, amikor hoztuk létre a formában, 564 00:32:50,714 --> 00:32:52,380 észre fogod venni, hogy URL :: routecreatePost. 565 00:32:52,380 --> 00:32:55,000 566 00:32:55,000 --> 00:32:58,330 Tehát ez helyettesíti a tényleges URL, hogy nem vagyunk nehéz 567 00:32:58,330 --> 00:33:02,940 kódolási ezeket, így meg tudjuk változtatni Egyszer, azt mondják, ha akarnánk nevezni. 568 00:33:02,940 --> 00:33:06,055 Ehelyett utáni perjel Új, szeretnénk csinálni, mint, p 569 00:33:06,055 --> 00:33:09,490 perjel új, csak hogy tiszta a mi URL egy kicsit. 570 00:33:09,490 --> 00:33:14,740 Szeretnénk változtatni egy helyben, hanem mint az összes különböző fájlokat. 571 00:33:14,740 --> 00:33:15,451 >> Cool. 572 00:33:15,451 --> 00:33:15,950 Ez jó. 573 00:33:15,950 --> 00:33:20,070 Tehát most van egy nagyon alapvető blog platform. 574 00:33:20,070 --> 00:33:24,260 Mi valószínűleg szeretne hozzáadni egy gombot, így hogy mi is valójában létre új bejegyzés. 575 00:33:24,260 --> 00:33:27,850 Tehát, ha vetünk egy pillantást A Layout Master, 576 00:33:27,850 --> 00:33:31,280 van egy ún fejléc jobb hogy most már csak a megfelelő fel a tetején. 577 00:33:31,280 --> 00:33:34,820 Így a későbbiekben gombokat a tetején a fejléc. 578 00:33:34,820 --> 00:33:43,950 >> Tehát, ha megyünk index.blade.php, ténylegesen tennie, hogy meghatározzák, mi megy benne innen. 579 00:33:43,950 --> 00:33:46,970 Tehát ez a fejléc jobb oldalán, mit fogunk csinálni 580 00:33:46,970 --> 00:33:55,240 van hozzá egy gombot, hogy menjen a URL által meghatározott útvonalon új post. 581 00:33:55,240 --> 00:33:58,270 582 00:33:58,270 --> 00:34:01,660 Csak feltakarítani, és ez szép és minden Bootstrap, 583 00:34:01,660 --> 00:34:04,630 fogunk tenni ez az alapértelmezett gomb. 584 00:34:04,630 --> 00:34:07,794 Nézzük csak, hogy ez nagy móka. 585 00:34:07,794 --> 00:34:09,969 >> És benne, tehetnénk egy szöveget. 586 00:34:09,969 --> 00:34:14,030 De mi Bootstrap biztosítja a glyphicons. 587 00:34:14,030 --> 00:34:17,840 Tehát valójában hozzá, hogy Jó ceruza korábban látott. 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-ceruza. 591 00:34:22,489 --> 00:34:25,449 592 00:34:25,449 --> 00:34:35,340 Szóval ez lehetővé teszi számunkra, hogy terjesszen Egy ikon szöveg helyett. 593 00:34:35,340 --> 00:34:38,960 Ha most abbahagyja, ez a fogja meghatározni ezt a részt. 594 00:34:38,960 --> 00:34:39,460 És, hé. 595 00:34:39,460 --> 00:34:45,000 Van egy szép gombot, hogy összeköt minket közvetlenül a hozzá blogbejegyzést oldalon. 596 00:34:45,000 --> 00:34:46,659 >> Tehát van egy viszonylag egyszerű blog. 597 00:34:46,659 --> 00:34:49,710 Mi adhat cucc hozzá. 598 00:34:49,710 --> 00:34:53,650 De amit általában elvárják a blogok kommentálva. 599 00:34:53,650 --> 00:34:57,340 Szóval ez tényleg fontos számunkra, hogy, azt mondják, ha valaki megnéz egy weboldalt 600 00:34:57,340 --> 00:35:00,620 és nagyon szereti a post, hogy akkor tárgyalásokba bocsátkozni, 601 00:35:00,620 --> 00:35:03,100 Minden személy, aki meglátogatja az oldalt. 602 00:35:03,100 --> 00:35:07,050 Így fogunk menni, és hozzon létre egy új adatbázis asztal és egy új modell 603 00:35:07,050 --> 00:35:12,220 hogy mi lehet társítani hozzászólásainak hozzászólások. 604 00:35:12,220 --> 00:35:17,370 >> Tehát az első lépés, mint azelőtt, az, hogy meg kell futtatni a migráció. 605 00:35:17,370 --> 00:35:21,982 Szóval, mint korábban, amit teszünk php kézműves Migrate: győződjön. 606 00:35:21,982 --> 00:35:24,440 És fogunk létrehozni egyet nevű create_comments_table. 607 00:35:24,440 --> 00:35:29,520 608 00:35:29,520 --> 00:35:36,080 Ez létrehoz egy fájlt amely az új migrációs. 609 00:35:36,080 --> 00:35:40,170 És mi lesz, mint a előtt, meg egy új táblát. 610 00:35:40,170 --> 00:35:42,773 Tehát séma :: hozzon létre egy című táblázat hozzászólás. 611 00:35:42,773 --> 00:35:47,410 612 00:35:47,410 --> 00:35:48,430 Ez a funkció itt. 613 00:35:48,430 --> 00:35:51,620 És ezen belül asztalra, amit fogunk csinálni először, 614 00:35:51,620 --> 00:35:54,260 mint korábban, rendeljen ID. 615 00:35:54,260 --> 00:35:56,552 Növeli ID. 616 00:35:56,552 --> 00:36:05,440 >> Megyünk, hogy a felhasználók társítani nevüket egy külön kommentárt. 617 00:36:05,440 --> 00:36:10,080 Fogunk egy kis tartalom megy ezzel együtt a szöveges tartalom. 618 00:36:10,080 --> 00:36:13,580 619 00:36:13,580 --> 00:36:15,910 És itt mit fogunk tennie, hogy valami mást. 620 00:36:15,910 --> 00:36:23,620 Megyünk, hogy hozzon létre egy egész hogy hívják post_id, amely 621 00:36:23,620 --> 00:36:32,100 fog, jelezve, hogy milyen utólagos Egy adott comment megy. 622 00:36:32,100 --> 00:36:35,410 >> Ezen kívül, mi történt valójában a meg egy idegen kulcs megszorítás ezen. 623 00:36:35,410 --> 00:36:37,750 Tehát MySQL érvényesíti ezt. 624 00:36:37,750 --> 00:36:39,840 Nem akarunk a rendeljen comment száma 625 00:36:39,840 --> 00:36:44,440 5 küldeni 5000, ha mi nem volt 5000 hozzászólás rajta. 626 00:36:44,440 --> 00:36:50,240 Tehát mit teszünk itt, teszünk külföldi post_id 627 00:36:50,240 --> 00:37:02,046 lesz társul Az ID mező az asztalról hozzászólások. 628 00:37:02,046 --> 00:37:05,900 És mi valóban tenni valamit mást segítőkész, a onDelete. 629 00:37:05,900 --> 00:37:11,180 >> Tehát ha töröljön néhány küldeni az adatbázisból, 630 00:37:11,180 --> 00:37:15,507 hogy szeretnénk kaszkád a törli a hozzászólás is. 631 00:37:15,507 --> 00:37:18,090 Mert ez nem túl hasznos számunkra, hogy észrevételeket hozzászólás 632 00:37:18,090 --> 00:37:19,900 amelyek nem léteznek. 633 00:37:19,900 --> 00:37:23,764 És végül, mint korábban, mi vagyunk fogja meg időbélyegző erre. 634 00:37:23,764 --> 00:37:28,690 635 00:37:28,690 --> 00:37:33,510 És mint korábban, megyünk a fordított migráció lesz 636 00:37:33,510 --> 00:37:37,920 elejtette a hozzászólás asztalra. 637 00:37:37,920 --> 00:37:40,070 >> Tehát most ha visszamegyünk hogy itt fogunk 638 00:37:40,070 --> 00:37:43,110 futtatni ezt a migráció, kézműves Migrate. 639 00:37:43,110 --> 00:37:46,400 És most már alkalmazta ezt a migráció, hogy most létrehozott. 640 00:37:46,400 --> 00:37:50,080 Tehát, ha egy pillantást phpMyAdmin, mi, sőt, most 641 00:37:50,080 --> 00:37:53,210 Van egy megjegyzést táblázatot, amely a szerkezet, amit éppen meghatározott. 642 00:37:53,210 --> 00:37:56,900 643 00:37:56,900 --> 00:37:59,610 Szóval, mint korábban, mi vagyunk Készítünk egy új modell 644 00:37:59,610 --> 00:38:04,450 elvonatkoztatni a SQL tábla hogy most létrehozott. 645 00:38:04,450 --> 00:38:05,450 >> Tehát tegyük hozzá egy új fájlt. 646 00:38:05,450 --> 00:38:06,908 Fogunk nevezni comment.php. 647 00:38:06,908 --> 00:38:10,160 648 00:38:10,160 --> 00:38:15,490 És ez valóban lesz elég egyszerű egy kis változás 649 00:38:15,490 --> 00:38:17,520 attól, amit korábban. 650 00:38:17,520 --> 00:38:22,790 Tehát class Comment kiterjed sokatmondó. 651 00:38:22,790 --> 00:38:25,930 És mit fogunk hogy nem itt van meghatározni 652 00:38:25,930 --> 00:38:31,360 hogy az adott funkció a kapcsolata más modellek. 653 00:38:31,360 --> 00:38:39,250 Szóval lesz egy poszt funkciója Itt, hogy visszaadja ezt a kapcsolatot. 654 00:38:39,250 --> 00:38:43,330 Szóval meghatározza, hogy ebben tartozik utáni, 655 00:38:43,330 --> 00:38:49,200 mondják, hogy nincs egy hozzászólás hogy ez a megjegyzés tartozik. 656 00:38:49,200 --> 00:38:53,917 >> Ez valóban kell lennie tőke P a modell. 657 00:38:53,917 --> 00:38:56,500 És most csak a másik flip- oldalán, azt kell mondanunk, hogy, hé. 658 00:38:56,500 --> 00:38:58,160 Hozzászólások megjegyzése. 659 00:38:58,160 --> 00:39:03,030 Szóval, mit fogunk csinálni a meghatározza az állami funkciót hozzászólás. 660 00:39:03,030 --> 00:39:07,100 661 00:39:07,100 --> 00:39:13,620 És itt van vissza Ennek számos megjegyzés. 662 00:39:13,620 --> 00:39:16,630 663 00:39:16,630 --> 00:39:22,010 Tehát most varázslatosan amikor már egy post, tudnánk a tulajdonság hozzászólás 664 00:39:22,010 --> 00:39:25,615 és ez lesz feltölteni azt a információt az adatbázisból. 665 00:39:25,615 --> 00:39:32,950 666 00:39:32,950 --> 00:39:38,220 >> Szóval tényleg megy keresztül, és egy új funkció, hogy véleményünk szerint fájl 667 00:39:38,220 --> 00:39:43,600 hogy így mind megjelenítés és hozzon létre megjegyzéseket. 668 00:39:43,600 --> 00:39:54,010 669 00:39:54,010 --> 00:39:56,865 Így fogunk meghatározni egy új szakaszt. 670 00:39:56,865 --> 00:39:59,890 Nézzük csak külön is egy vízszintes vonalat. 671 00:39:59,890 --> 00:40:04,065 § id = "hozzászólás". 672 00:40:04,065 --> 00:40:06,990 Mit fogunk csinálni itt van, mint korábban, 673 00:40:06,990 --> 00:40:09,880 halad végig az összes megjegyzést. 674 00:40:09,880 --> 00:40:12,960 Tehát tulajdonképpen hogyan tesszük ezt, Ahogy már említettem, meglehetősen varázslatos. 675 00:40:12,960 --> 00:40:14,440 >> Tesszük hozzászóláshoz. 676 00:40:14,440 --> 00:40:17,410 677 00:40:17,410 --> 00:40:22,710 És akkor mi is ezt mindegyiknél loop az egyes, a megjegyzéseket. 678 00:40:22,710 --> 00:40:25,740 És mi fogunk tennie div class comment, 679 00:40:25,740 --> 00:40:29,240 és megyünk, hogy ténylegesen nyomtassa ki ezt a megjegyzést. 680 00:40:29,240 --> 00:40:34,150 Tehát kiírja, hogy hé, comment name-- személyt 681 00:40:34,150 --> 00:40:38,080 publikáló comment-- mondja dot dot dot. 682 00:40:38,080 --> 00:40:41,240 Megyünk, hogy ezt egy blokkban idézet, csak hogy néz ki. 683 00:40:41,240 --> 00:40:46,470 Majd comment tartalmat idézetblokk. 684 00:40:46,470 --> 00:40:49,790 685 00:40:49,790 --> 00:40:50,892 És foreach. 686 00:40:50,892 --> 00:40:53,100 Tehát most ez lesz a hurok végig a hozzászólás 687 00:40:53,100 --> 00:40:56,500 , amely hozzá van minden egyes az oszlopok 688 00:40:56,500 --> 00:41:00,960 és jelenítse meg a fenti észrevételeket. 689 00:41:00,960 --> 00:41:05,120 Megyek, hogy egy újabb szakaszt le Itt, amely lehetővé teszi számunkra, aki értékeli. 690 00:41:05,120 --> 00:41:07,400 Tehát h3 class. 691 00:41:07,400 --> 00:41:09,580 Egy címet itt. 692 00:41:09,580 --> 00:41:10,934 Add megjegyzést. 693 00:41:10,934 --> 00:41:13,886 694 00:41:13,886 --> 00:41:15,700 És mi lesz meghatározni egy új formája. 695 00:41:15,700 --> 00:41:18,730 >> Szóval, mint korábban, mi vagyunk fog tenni form action. 696 00:41:18,730 --> 00:41:22,740 És itt az új akció vagyunk fogja meghatározni egy új kontroller, hogy 697 00:41:22,740 --> 00:41:26,770 lehetővé teszi számunkra, hogy válaszoljon a hozzászólásra kérelmek létrehozása hozzászólás. 698 00:41:26,770 --> 00:41:33,365 Tehát URL :: útvonalon createComment. 699 00:41:33,365 --> 00:41:37,730 Megyek át a paramétert itt. 700 00:41:37,730 --> 00:41:40,380 Az ID a poszt, hogy hozunk létre megjegyzést. 701 00:41:40,380 --> 00:41:45,340 702 00:41:45,340 --> 00:41:50,280 És akkor ez a módszer formában lesz post. 703 00:41:50,280 --> 00:41:57,240 >> Most megyünk hozzá a a két terület, életforma csoportba. 704 00:41:57,240 --> 00:42:04,670 Ez lesz az input a "Név" és class = "form-ellenőrzés", 705 00:42:04,670 --> 00:42:14,250 type = "text", és a helykitöltő = "Az Ön neve." 706 00:42:14,250 --> 00:42:19,380 Mi is lesz meghatározni másik mezőre, amely 707 00:42:19,380 --> 00:42:22,970 lesz egy szöveges terület a miénk volt. 708 00:42:22,970 --> 00:42:25,480 Csakúgy, mint korábban, hívja a tartalom. 709 00:42:25,480 --> 00:42:31,160 Class = "form-szabályozás." 710 00:42:31,160 --> 00:42:41,660 Placeholder = "Írja ide." 711 00:42:41,660 --> 00:42:44,100 >> És csak azért, hogy valójában azt benyújtja, 712 00:42:44,100 --> 00:42:55,740 benyújtja típusa és class = "Btn gmb elsődleges." 713 00:42:55,740 --> 00:42:57,005 Zárja ki az űrlapot. 714 00:42:57,005 --> 00:42:59,010 Zárd be ezt az intézkedést. 715 00:42:59,010 --> 00:43:06,580 Tehát most, ha frissítse az oldalt, ahol a van, mondjuk, egy adott hozzászólás. 716 00:43:06,580 --> 00:43:10,310 Mi kell újraindítani a szervert. 717 00:43:10,310 --> 00:43:12,340 PHP kézműves szolgálja. 718 00:43:12,340 --> 00:43:15,630 719 00:43:15,630 --> 00:43:18,334 Indítsa újra ezt a. 720 00:43:18,334 --> 00:43:19,500 Meg kell határozni az útvonalat. 721 00:43:19,500 --> 00:43:25,090 De most, nézzük csak ezt ki, hogy mi is valójában megmutatja, 722 00:43:25,090 --> 00:43:28,750 amit az oldal néz ki, és majd mi valóban létre, hogy utat. 723 00:43:28,750 --> 00:43:29,250 Szóval, hé. 724 00:43:29,250 --> 00:43:37,080 Van ez az új formája idelent hogy mi is létrehozhatunk hozzászólás. 725 00:43:37,080 --> 00:43:39,950 Úgyhogy tulajdonképpen meghatározza a funkciója a vezérlő 726 00:43:39,950 --> 00:43:43,020 hogy mi is hozzászóljon. 727 00:43:43,020 --> 00:43:43,650 Menjünk vissza. 728 00:43:43,650 --> 00:43:48,420 És ezen belül blogcontroller.php, mit fogunk csinálni 729 00:43:48,420 --> 00:43:51,620 van egy új funkció nevű létre comment. 730 00:43:51,620 --> 00:43:54,220 731 00:43:54,220 --> 00:43:57,040 >> Nyilvános funkciót createComment. 732 00:43:57,040 --> 00:44:00,130 Ez megy, hogy egy paramétert, az ID a hozzászólás 733 00:44:00,130 --> 00:44:02,280 hogy mi kommentálva. 734 00:44:02,280 --> 00:44:04,790 És mint korábban, mi vagyunk lesz az első kap a post. 735 00:44:04,790 --> 00:44:10,790 Tehát küldeni, findOrfail id. 736 00:44:10,790 --> 00:44:15,020 Utána megyünk hogy hozzon létre egy új megjegyzést. 737 00:44:15,020 --> 00:44:18,880 Tehát comment = Új hozzászólás. 738 00:44:18,880 --> 00:44:26,820 Megjegyzés name = Input :: kap nevet. 739 00:44:26,820 --> 00:44:39,420 Megjegyzés content = azonos új vonal a szünetek az Input :: kap a tartalom. 740 00:44:39,420 --> 00:44:43,460 >> És végül, mi lesz, hogy társítani ezt a megjegyzést a post. 741 00:44:43,460 --> 00:44:47,230 Így fogunk használni Ez a funkció, hozzászólások, 742 00:44:47,230 --> 00:44:50,260 amely lehetővé teszi számunkra, hogy mentse ez a kapcsolat. 743 00:44:50,260 --> 00:44:54,780 Tehát most ez a megjegyzés is automatikusan a poszt ID. 744 00:44:54,780 --> 00:44:57,640 Azt is beállíthatja kézzel, de ez 745 00:44:57,640 --> 00:45:02,490 Több könnyen olvasható, amennyire függvényében megy. 746 00:45:02,490 --> 00:45:05,860 És miután végre ezt, mit akarunk csinálni 747 00:45:05,860 --> 00:45:10,840 van átirányítja a felhasználót a útvonal által meghatározott viewPost 748 00:45:10,840 --> 00:45:16,010 A tömb paraméter a poszt ID. 749 00:45:16,010 --> 00:45:20,360 750 00:45:20,360 --> 00:45:24,660 >> És most, hogy ez valójában funkciók, meg kell adnunk ezt az utat. 751 00:45:24,660 --> 00:45:27,126 Útvonal :: post. 752 00:45:27,126 --> 00:45:32,800 És most mi lesz, hogy hívja ezt postai perjel ID slash comment. 753 00:45:32,800 --> 00:45:36,725 Array használja az új funkció hogy most létrehozott. 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 mint createComment. 757 00:45:44,770 --> 00:45:47,430 758 00:45:47,430 --> 00:45:50,120 Nagy. 759 00:45:50,120 --> 00:45:56,150 >> Tehát most remélhetőleg ha frissítse az oldalt és adjunk hozzá egy megjegyzést, mondjuk, David Malan. 760 00:45:56,150 --> 00:46:00,630 761 00:46:00,630 --> 00:46:03,920 "Remélhetőleg ez működik." 762 00:46:03,920 --> 00:46:05,216 Benyújtására. 763 00:46:05,216 --> 00:46:09,050 Mi, sőt, van egy megjegyzést ezt a blogbejegyzést. 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 Tehát most van egy meglehetősen funkcionális blogbejegyzést. 768 00:46:21,430 --> 00:46:23,180 Mi csak fog adjunk hozzá egy pár csíp, így 769 00:46:23,180 --> 00:46:29,090 hogy van néhány hasznos Ezekről hozzászólások. 770 00:46:29,090 --> 00:46:32,780 >> Tehát, ha visszatérünk a címlapon, nincs értelme 771 00:46:32,780 --> 00:46:38,790 Az, hogy hány hozzászólás van minden egyes ilyen hozzászólások. 772 00:46:38,790 --> 00:46:41,340 Tehát amit mi történt valójában tennie, hogy az agyunkban modell, 773 00:46:41,340 --> 00:46:51,250 meghatározzák a segítő funkció, amely lehetővé teszi, számunkra, hogy adja meg a hozzászólások száma 774 00:46:51,250 --> 00:46:53,020 hogy menjen el egy adott hozzászólás. 775 00:46:53,020 --> 00:46:56,050 Így fogunk létrehozni a segítő funkciót. 776 00:46:56,050 --> 00:46:58,020 >> Nyilvános funkciót. 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 Tehát egy string számát meghatározó A megjegyzéseket, hogy menjen vele együtt. 780 00:47:07,180 --> 00:47:12,850 És mit fogunk csinálni mondania hogy num = ez a hozzászólás számít. 781 00:47:12,850 --> 00:47:15,150 Így fogunk számolni A hozzászólások száma. 782 00:47:15,150 --> 00:47:22,900 És ha ez a szám értéke 1, mi vagyunk csak most fog visszatérni 1 comment. 783 00:47:22,900 --> 00:47:28,890 És akkor más módon, szeretnénk visszatérni A összefűzése Num és észrevételeit, 784 00:47:28,890 --> 00:47:31,890 így megkapjuk az pluralizálódás helyes. 785 00:47:31,890 --> 00:47:33,380 Csak, hogy ez egy idézet. 786 00:47:33,380 --> 00:47:36,040 787 00:47:36,040 --> 00:47:37,640 Egy megjegyzés. 788 00:47:37,640 --> 00:47:41,140 >> És most tudjuk használni ezt a funkciót közvetlenül belül a nézetünk. 789 00:47:41,140 --> 00:47:44,510 Tehát, ha visszatérünk a részleges hozzászólás, amit teremtett, 790 00:47:44,510 --> 00:47:49,370 most szeretnénk ténylegesen megjeleníti a hozzászólások száma. 791 00:47:49,370 --> 00:47:52,660 Tehát mi nem tehetünk, postai úton, használja ezt a funkciót 792 00:47:52,660 --> 00:47:57,230 hogy mi csak létre, hogy megjeleníti a hozzászólások száma. 793 00:47:57,230 --> 00:48:00,440 Tehát ha most frissíteni, akkor nem, sőt, kijelző 794 00:48:00,440 --> 00:48:02,240 száma hozzászólás hogy menjen vele együtt. 795 00:48:02,240 --> 00:48:05,320 >> Ha akartuk, hogy divatos, ha valóban nézd meg a forgalmazási kódot, 796 00:48:05,320 --> 00:48:07,800 mi is valójában hivatkozó ebben a megjegyzéseket. 797 00:48:07,800 --> 00:48:17,040 Ha felidézzük, mi határozza meg a véli, hogy ez már részben ID hozzászólás. 798 00:48:17,040 --> 00:48:22,460 Tehát, ha valóban akarta kapcsolni közvetlenül a hozzászólások részben, hogy mi 799 00:48:22,460 --> 00:48:36,000 tennénk itt a href URL útvonal viewPost. 800 00:48:36,000 --> 00:48:40,550 Átmenni a tömbben ID utáni ID. 801 00:48:40,550 --> 00:48:46,140 És akkor mi akar menni konkrétan a hozzászólások részben. 802 00:48:46,140 --> 00:48:49,900 >> Itt zárjuk az A tag. 803 00:48:49,900 --> 00:48:52,950 Tehát most, ha frissíteni kell az oldal, akkor kattintson erre. 804 00:48:52,950 --> 00:48:54,700 Elmegyünk közvetlenül A hozzászólások részben. 805 00:48:54,700 --> 00:48:57,580 Ha hosszabb volt a poszt, akkor valóban látni ezt a bounce le. 806 00:48:57,580 --> 00:49:02,668 De észre fogod venni, hogy ez az Nem a lap tetején. 807 00:49:02,668 --> 00:49:04,090 Cool. 808 00:49:04,090 --> 00:49:04,600 Nagy. 809 00:49:04,600 --> 00:49:08,582 Szóval ez egy meglehetősen egyszerű Például valami egyszerű 810 00:49:08,582 --> 00:49:09,790 hogy meg tudod csinálni a Laravel. 811 00:49:09,790 --> 00:49:13,230 >> De akkor megemlítem, hogy Már eddig is sok mindent 812 00:49:13,230 --> 00:49:16,200 meglehetősen kevés kódot. 813 00:49:16,200 --> 00:49:19,420 Laravel lehetővé teszi számunkra, hogy nem a SQL lekérdezés a színfalak mögött. 814 00:49:19,420 --> 00:49:21,960 Ez volt a csatornázás Számunkra a színfalak mögött. 815 00:49:21,960 --> 00:49:25,940 Lehetővé teszi számunkra, hogy nem ezek a kapcsolatok nagyon egyszerű, nem velünk igénylő 816 00:49:25,940 --> 00:49:33,350 hogy nem minden SQL csatlakozni kimutatások össze hozzászólás, amit a hozzászólások. 817 00:49:33,350 --> 00:49:36,480 Lehetővé teszi számunkra, hogy ezt örökségéből sablonok 818 00:49:36,480 --> 00:49:43,780 hogy mi lehet állítani ezeket a fészkelési fájlokat, így mi nem ismétlődő magunkat, 819 00:49:43,780 --> 00:49:47,020 mint amikor volt, hogy kijelzőn a blogbejegyzések 820 00:49:47,020 --> 00:49:50,770 hogy nem kell másolja be a kódot. 821 00:49:50,770 --> 00:49:55,450 >> És innen lehet építeni egyre bonyolultabb alkalmazásokat. 822 00:49:55,450 --> 00:49:58,370 El lehet képzelni, ha volna bevezetni, jelentkezzen be, 823 00:49:58,370 --> 00:50:05,532 mondhatnánk, hogy egy harmadik fél keretet, amely lehetővé teszi számunkra, hogy ezt tegyük. 824 00:50:05,532 --> 00:50:07,490 Van egy csomó őket hogy nagyon, nagyon 825 00:50:07,490 --> 00:50:09,970 Nagyszerű, hogy lehet csinálni, mint, jelszó visszaszerzés. 826 00:50:09,970 --> 00:50:14,450 És akkor küldünk egy Új jelszó megadása email. 827 00:50:14,450 --> 00:50:18,260 Tudjuk végrehajtani engedélye így én is létrehozni egy post, 828 00:50:18,260 --> 00:50:20,350 hanem valaki más nem módosíthatjuk. 829 00:50:20,350 --> 00:50:24,610 Tudjuk végrehajtani funkciót törölni a hozzászólásokat. 830 00:50:24,610 --> 00:50:28,160 >> De itt is látszik, hogy van elég sok minden a kezdetleges alkatrészek 831 00:50:28,160 --> 00:50:31,640 építeni néhány nagyon, nagyon, dinamikus és izgalmas webes alkalmazásokat. 832 00:50:31,640 --> 00:50:34,035 Tehát az, hogy, azt hiszem, jó. 833 00:50:34,035 --> 00:50:35,720 Srácok bármilyen kérdése? 834 00:50:35,720 --> 00:50:36,220 Igen? 835 00:50:36,220 --> 00:50:38,090 >> Hangszóró 3: Hogyan hogy a statikus tartalmat? 836 00:50:38,090 --> 00:50:39,256 >> ERIC Ouyang: Statikus tartalom. 837 00:50:39,256 --> 00:50:45,520 Szóval látta maga előtt, hogy amikor volt Ez itt, ez az elrendezés a tartalom, 838 00:50:45,520 --> 00:50:49,625 Tekintettel make, mi volt ez a e nélkül tömb utána. 839 00:50:49,625 --> 00:50:56,440 840 00:50:56,440 --> 00:50:59,152 Blog.index, mi volt ez a mint csak egy statikus fájl. 841 00:50:59,152 --> 00:51:00,860 Tehát, ha nem adja át semmit mentén rá, 842 00:51:00,860 --> 00:51:03,340 akkor csak teszi a HTML közvetlenül. 843 00:51:03,340 --> 00:51:09,240 De ha átmegyünk ezen asszociatív tömb hozzászólás, amely dinamikusan 844 00:51:09,240 --> 00:51:12,950 húzta az adatbázisból, akkor lehet, hogy az oldal dinamikus. 845 00:51:12,950 --> 00:51:13,450 Cool. 846 00:51:13,450 --> 00:51:14,830 Más kérdés? 847 00:51:14,830 --> 00:51:16,786 848 00:51:16,786 --> 00:51:19,720 Hangszóró 3: Hogyan összehasonlítani Laravel, hogy talán más lehetőségek? 849 00:51:19,720 --> 00:51:20,525 ERIC Ouyang: Persze. 850 00:51:20,525 --> 00:51:21,025 Igen. 851 00:51:21,025 --> 00:51:23,430 Tehát Laravel ez-- ez Nagy question-- 852 00:51:23,430 --> 00:51:26,190 egy a sok lehetőség web keretek. 853 00:51:26,190 --> 00:51:31,160 Tehát Ruby on Rails az, amelyik népszerű. 854 00:51:31,160 --> 00:51:34,590 Hiszem Twitter szokott lenni megvalósított Ruby on Rails. 855 00:51:34,590 --> 00:51:37,600 Azt hiszem, hiszen kapcsolva. 856 00:51:37,600 --> 00:51:40,780 Van egy másik nevű FuelPHP. 857 00:51:40,780 --> 00:51:46,120 >> Tehát Ruby on Rails használja a Ruby nyelv és megvalósítja a sok MVC cucc 858 00:51:46,120 --> 00:51:48,200 hogy itt látunk. 859 00:51:48,200 --> 00:51:52,320 FuelPHP egy másik PHP keretrendszer. 860 00:51:52,320 --> 00:51:54,490 Django egyik kedvencem. 861 00:51:54,490 --> 00:51:57,010 Ez egy web keretet Python. 862 00:51:57,010 --> 00:52:01,270 Szóval lehet írni a web app a Python. 863 00:52:01,270 --> 00:52:03,760 Szóval van egy csomó ilyen lehetőség. 864 00:52:03,760 --> 00:52:06,170 >> Laravel, azt hiszem, a és Nagy kedvencem a jobb 865 00:52:06,170 --> 00:52:08,232 Most PHP csak azért, mert A komponensek 866 00:52:08,232 --> 00:52:09,440 hogy beszéltünk korábban. 867 00:52:09,440 --> 00:52:11,910 Ez a Composer engedélyezve. 868 00:52:11,910 --> 00:52:15,750 Ez magában foglalja egy nagyon, nagyon expresszív ORM rendszer. 869 00:52:15,750 --> 00:52:18,800 Is van egy igazán félelmetes sablonrendszer nyelv, amely néhány, a többiek 870 00:52:18,800 --> 00:52:20,630 Csak nem nyújtanak. 871 00:52:20,630 --> 00:52:21,400 És a migráció. 872 00:52:21,400 --> 00:52:23,432 Vándorlások félelmetes is. 873 00:52:23,432 --> 00:52:24,860 Cool? 874 00:52:24,860 --> 00:52:25,390 Félelmetes. 875 00:52:25,390 --> 00:52:27,560 Nos, köszönöm, hogy figyeli ezt a szemináriumot, 876 00:52:27,560 --> 00:52:30,650 és sok sikert a végleges projekt. 877 00:52:30,650 --> 00:52:31,616