1 00:00:00,000 --> 00:00:02,538 >> [Hudba hrát] 2 00:00:02,538 --> 00:00:10,800 3 00:00:10,800 --> 00:00:12,390 >> ERIC Ouyang: Ahoj, všichni. 4 00:00:12,390 --> 00:00:13,580 Vítejte u nás. 5 00:00:13,580 --> 00:00:16,860 To je vytváření dynamických Web Apps s Laravel. 6 00:00:16,860 --> 00:00:18,290 Mé jméno je Eric Ouyang. 7 00:00:18,290 --> 00:00:23,860 Jsem ve druháku studovat společenské vědy se sekundární ve vědě o počítačích, 8 00:00:23,860 --> 00:00:27,290 a žiji v Adams Dům tady na Harvardu. 9 00:00:27,290 --> 00:00:33,340 >> Tak Laravel, na jeho nejvíce jádru, je webová aplikace rámce MVC. 10 00:00:33,340 --> 00:00:38,265 Tak se mi, co vy máte dělal s CS50 Finance, 11 00:00:38,265 --> 00:00:42,480 Laravel je rámec, který umožní vám na vytváření dynamických webových aplikací. 12 00:00:42,480 --> 00:00:47,710 Takže si můžete myslet na to, v některých smyslech jako rozšíření druhu věci 13 00:00:47,710 --> 00:00:50,470 jsi dělal v CS50 Finance, ale systém, který je 14 00:00:50,470 --> 00:00:55,890 mnohem robustnější, hodně více elegantní v některých smyslech, 15 00:00:55,890 --> 00:00:57,870 a nabízí mnoho Funkce pro vás 16 00:00:57,870 --> 00:01:03,060 budovat poměrně složité webové aplikace. 17 00:01:03,060 --> 00:01:05,010 Takže pojďme projít některé z klíčových vlastností, 18 00:01:05,010 --> 00:01:09,550 a pak budeme ponořit do Příkladem budování blog 19 00:01:09,550 --> 00:01:12,500 aplikace s Laravel. 20 00:01:12,500 --> 00:01:16,700 >> Takže jedna z prvních věcí, které odlišuje ji od MVC druh práce 21 00:01:16,700 --> 00:01:22,100 že jste dělal s CS50 je, že obsahuje ORM motor. 22 00:01:22,100 --> 00:01:27,410 Takže ORM znamená objekt relační mapování. 23 00:01:27,410 --> 00:01:31,080 Tak to vám umožní vytvořit vrstva abstrakce 24 00:01:31,080 --> 00:01:35,230 mezi databází a vaše regulátory. 25 00:01:35,230 --> 00:01:39,150 Takže na rozdíl od CS50 financí, pokud přímo vytvořit dotazy, 26 00:01:39,150 --> 00:01:44,790 ORM vrstva umožňuje abstraktní to pryč a vytvářet 27 00:01:44,790 --> 00:01:48,085 Modely, které jsou silnější než můžete přímo s SQL dotazy. 28 00:01:48,085 --> 00:01:50,590 29 00:01:50,590 --> 00:01:53,510 >> Další věc, která je opravdu užitečné je dědičné šablony. 30 00:01:53,510 --> 00:01:58,990 Takže budete oznámení v CS50 Finance, skončíte přepisování spoustu věcí, 31 00:01:58,990 --> 00:02:03,150 kde místa byste mohli potenciálně opětovné použití věci, nejste schopni. 32 00:02:03,150 --> 00:02:08,539 Tak tady v Laravel, můžete použít to, co je známý jako šablony motor čepele 33 00:02:08,539 --> 00:02:10,530 k vytvoření hlavního rozvržení. 34 00:02:10,530 --> 00:02:15,840 A odtud, můžete zdědit tak, aby dílčí šablony mohou ve skutečnosti 35 00:02:15,840 --> 00:02:21,210 obsahovat prvky uvnitř že větší základní šablony. 36 00:02:21,210 --> 00:02:21,810 >> Migrace. 37 00:02:21,810 --> 00:02:29,010 Takže to je poměrně standardní funkce na většina moderních webových aplikačních rámců. 38 00:02:29,010 --> 00:02:32,710 Tak to vám umožní reprezentovat Změny databáze schématu v kódu. 39 00:02:32,710 --> 00:02:39,200 Takže, aniž by se říct, phpMyAdmin, můžete skutečně vytvořit tyto migrace 40 00:02:39,200 --> 00:02:44,660 kde se představují databáze schéma změny v kódu přímo. 41 00:02:44,660 --> 00:02:48,070 A to vám umožní to-- zvláště pokud máte více lidí pracujících 42 00:02:48,070 --> 00:02:52,650 na stejné webové application-- tyto změny sledovat, 43 00:02:52,650 --> 00:02:55,380 říci, GitHub, nebo nějaký jiný úložiště. 44 00:02:55,380 --> 00:03:00,880 >> Tak tohle je opravdu užitečné a zmírňuje potřebu 45 00:03:00,880 --> 00:03:04,580 na, řekněme, projít kolem mnoha SQL skládek. 46 00:03:04,580 --> 00:03:07,140 A konečně, je Composer něco opravdu, opravdu užitečné 47 00:03:07,140 --> 00:03:09,840 která vám umožní používat další Kód lidí dělat úžasné věci. 48 00:03:09,840 --> 00:03:14,020 Takže Laravel je strukturován několik skladatel balíčky. 49 00:03:14,020 --> 00:03:17,870 Takže říct, jestli byste chtěli, aby v balení ověřování 50 00:03:17,870 --> 00:03:23,440 nebo pokud byste chtěli, aby v některých druh generátoru skriptu nebo admin 51 00:03:23,440 --> 00:03:26,910 rozhraní, můžete připojit a hrát tyto komponenty se skladatelem. 52 00:03:26,910 --> 00:03:30,470 53 00:03:30,470 --> 00:03:31,570 >> Tak pojďme začít. 54 00:03:31,570 --> 00:03:35,185 Jakékoliv dotazy od vás kluci Než začneme? 55 00:03:35,185 --> 00:03:36,500 Žádné otázky? 56 00:03:36,500 --> 00:03:37,490 Super. 57 00:03:37,490 --> 00:03:39,990 Takže první krok je instalace Composer. 58 00:03:39,990 --> 00:03:43,590 Takže Composer umožňuje spravovat tyto závislosti, 59 00:03:43,590 --> 00:03:47,770 ať už je to rámec Laravel nebo nějaké jiné rozšíření třetích stran. 60 00:03:47,770 --> 00:03:50,400 První příkaz umožňuje si můžete stáhnout Composer, 61 00:03:50,400 --> 00:03:55,890 a druhý příkaz umožňuje přesunout ji do místní složky bin 62 00:03:55,890 --> 00:04:01,340 takže můžete spustit Composer přímo přes terminál. 63 00:04:01,340 --> 00:04:05,405 >> Po tom, jděte do toho a vytvoření nového projektu Laravel. 64 00:04:05,405 --> 00:04:07,280 Jsme vlastně bude použít nějaký příklad kódu 65 00:04:07,280 --> 00:04:10,760 že jsem se dal dohromady k vytvoření tohoto blogu. 66 00:04:10,760 --> 00:04:14,420 Ale pokud jste od scratch, měli byste použít tento příkaz 67 00:04:14,420 --> 00:04:18,160 tady, skladatel vytvořit projekt, laravel lomítko laravel, a poté 68 00:04:18,160 --> 00:04:19,940 název projektu. 69 00:04:19,940 --> 00:04:22,275 A to bude zahrnovat všechny distribuce kód 70 00:04:22,275 --> 00:04:23,733 pro zahájení nového projektu Laravel. 71 00:04:23,733 --> 00:04:28,870 Takže pro vaše CS50 závěrečných prací, budete pravděpodobně budete chtít použít tento příkaz. 72 00:04:28,870 --> 00:04:31,210 >> Ale budeme začít s tím. 73 00:04:31,210 --> 00:04:34,630 Takže poté, co jste udělal to, že budete dostat 74 00:04:34,630 --> 00:04:40,190 poměrně rozsáhlý číslo souborů v blog50. 75 00:04:40,190 --> 00:04:43,840 Tak ať to jen projít některé z těchto složek. 76 00:04:43,840 --> 00:04:49,060 Určitě jste si všimli na této trase adresář, tam je složka app. 77 00:04:49,060 --> 00:04:52,960 Uvnitř složky app, je tu pár užitečné složky. 78 00:04:52,960 --> 00:04:56,330 Za zmínku začít s Je to složka config. 79 00:04:56,330 --> 00:04:59,210 Tak to nastaví jak vaše webová aplikace je 80 00:04:59,210 --> 00:05:04,350 jít do, řekněme, ověřit lidi nebo peněžní věci, nebo se připojit k databázi. 81 00:05:04,350 --> 00:05:06,400 >> A co je vlastně užitečné je, že Laravel 82 00:05:06,400 --> 00:05:09,130 umožňuje nastavit různé vývojová prostředí. 83 00:05:09,130 --> 00:05:12,090 Takže to, co jsme tu udělali, je-li půjdeme pod místní složky, 84 00:05:12,090 --> 00:05:14,720 tam je soubor database.php. 85 00:05:14,720 --> 00:05:18,320 A všimněte si, že jsme tady nastavení připojení k MySQL, že 86 00:05:18,320 --> 00:05:22,230 umožňuje jednotlivcům připojit k MySQL serveru, který je 87 00:05:22,230 --> 00:05:24,310 přímo na CS50 spotřebiče. 88 00:05:24,310 --> 00:05:26,980 A my se připojujete k databázi že jsem se nastavit volal Blog50. 89 00:05:26,980 --> 00:05:31,390 90 00:05:31,390 --> 00:05:37,085 >> Takže pojďme skutečně jít dopředu a spustit pracovní verze tohoto, 91 00:05:37,085 --> 00:05:39,710 jen proto, aby o tom, co aplikace, která stavíme 92 00:05:39,710 --> 00:05:41,390 vypadá. 93 00:05:41,390 --> 00:05:46,150 Tak jsem mít kopii to Blog50 dokončena. 94 00:05:46,150 --> 00:05:51,910 Tak Laravel vlastně vybudovala na serveru 95 00:05:51,910 --> 00:05:53,910 že můžete spustit přímo z příkazového řádku. 96 00:05:53,910 --> 00:05:56,900 Takže je to podobné Pset dříve, když jste vlastně 97 00:05:56,900 --> 00:06:00,580 vytvořit svůj vlastní server v C. Takže oni mají jeden vybudovanou tak 98 00:06:00,580 --> 00:06:04,010 že můžete spustit své Laravel aplikace přímo z příkazové řádky. 99 00:06:04,010 --> 00:06:11,650 >> Takže pokud budeme dělat php řemeslník sloužit, to zahájí vývojový server 100 00:06:11,650 --> 00:06:13,880 na portu 8000. 101 00:06:13,880 --> 00:06:18,250 Takže pokud jdeme do místního hostitele 8000, zjistíte, že, hej. 102 00:06:18,250 --> 00:06:20,800 Máme blog nahoru a běh. 103 00:06:20,800 --> 00:06:25,090 Tak Laravel tady je generování přední strana našem blogu. 104 00:06:25,090 --> 00:06:26,350 Velmi jednoduchá aplikace. 105 00:06:26,350 --> 00:06:28,610 Ale je tu pár opravdu šikovných funkcí, 106 00:06:28,610 --> 00:06:31,346 že poskytuje pod kapotou. 107 00:06:31,346 --> 00:06:33,680 >> Takže blog aplikace je přímočaré. 108 00:06:33,680 --> 00:06:36,430 Pokud bychom chtěli vytvořit místo, můžeme klikněte na toto tlačítko. 109 00:06:36,430 --> 00:06:40,470 Dá se říci, "Ahoj, všichni. 110 00:06:40,470 --> 00:06:44,530 To je opravdu zábavná seminář, "například. 111 00:06:44,530 --> 00:06:46,560 A napsat něco tady dole. 112 00:06:46,560 --> 00:06:48,180 Text zde. 113 00:06:48,180 --> 00:06:51,327 Pokud klepněte na tlačítko Odeslat, budete Všimněte si, že náš nový blog 114 00:06:51,327 --> 00:06:53,410 Příspěvek byl přidán do Titulní strana blogu. 115 00:06:53,410 --> 00:06:56,532 116 00:06:56,532 --> 00:06:59,970 Vrátíme-li se sem, zjistíte, že tam byly některé připomínky již 117 00:06:59,970 --> 00:07:01,160 Na blogu. 118 00:07:01,160 --> 00:07:03,630 Takže pokud bychom se posunout dolů, budete Všimněte si, že Jonathan Tan říká 119 00:07:03,630 --> 00:07:08,020 že ho velmi zaujal tento post. 120 00:07:08,020 --> 00:07:11,570 >> Takže půjdeme do toho, jak objekt relační mapování umožňuje 121 00:07:11,570 --> 00:07:16,668 abys tyto vztahy v poměrně bezproblémové způsobem také. 122 00:07:16,668 --> 00:07:17,660 Super. 123 00:07:17,660 --> 00:07:20,290 Jakékoliv dotazy týkající se funkčnosti o tom, co budeme stavět? 124 00:07:20,290 --> 00:07:22,850 125 00:07:22,850 --> 00:07:23,840 Super. 126 00:07:23,840 --> 00:07:28,170 Tak pojďme začít s opravdu vytváření databázové tabulky. 127 00:07:28,170 --> 00:07:33,190 >> Takže připomenout, že v CS50 Finance, vás dát dohromady tabulku pro uživatele 128 00:07:33,190 --> 00:07:37,100 stejně jako pro zásoby ve svém portfoliu. 129 00:07:37,100 --> 00:07:41,040 Tak jak jsme se zmínili dříve, to, co používáme v Laravel 130 00:07:41,040 --> 00:07:43,090 je něco, známý jako stěhování. 131 00:07:43,090 --> 00:07:48,570 Takže když se vrátíme do Distribuce kód zde, 132 00:07:48,570 --> 00:07:51,790 První příkaz, který je užitečné, že Laravel vám poskytne 133 00:07:51,790 --> 00:07:54,240 je tento příkaz migrovat. 134 00:07:54,240 --> 00:07:59,220 Takže můžeme udělat php řemeslník Přesunout: dělat. 135 00:07:59,220 --> 00:08:01,760 Tak to nám umožňuje vytvářet migraci. 136 00:08:01,760 --> 00:08:03,710 >> A pak budeme chtít vytvořit migraci 137 00:08:03,710 --> 00:08:07,050 volal create_posts_table, což se děje 138 00:08:07,050 --> 00:08:11,521 být tam, kde budeme být uložení našich blogu. 139 00:08:11,521 --> 00:08:14,690 A všimněte si, že tu běží přes nějaký kód, který vlastně 140 00:08:14,690 --> 00:08:17,580 generuje soubor s časové razítko na to. 141 00:08:17,580 --> 00:08:22,260 Takže když jsme se jít podívat na databáze, jsme si všimli v migraci 142 00:08:22,260 --> 00:08:24,830 že to vytvořil prázdný soubor, pro nás, které 143 00:08:24,830 --> 00:08:30,100 má často používaný kód s názvem že jsme specifikovali, vytvořte příspěvky tabulky. 144 00:08:30,100 --> 00:08:31,670 >> A to má dvě funkce v něm. 145 00:08:31,670 --> 00:08:40,539 Up je to, co chceme běžet Migrace se aplikuje do databáze. 146 00:08:40,539 --> 00:08:46,380 A dole je to, co budeme dělat když chceme zvrátit migrace. 147 00:08:46,380 --> 00:08:49,890 Tak tady pojďme začít s psaním tohoto přechodu. 148 00:08:49,890 --> 00:08:55,480 Takže tam je užitečný class v Laravel volal schématu. 149 00:08:55,480 --> 00:08:57,910 >> Takže budeme spouštět Schema :: vytvořit. 150 00:08:57,910 --> 00:09:01,080 A budeme vytvářet tabulku s názvem příspěvky. 151 00:09:01,080 --> 00:09:05,980 A tady jsme se aplikovat tento pomocí funkce. 152 00:09:05,980 --> 00:09:11,010 A v tu, budeme skutečně upřesnit obsah našeho stolu. 153 00:09:11,010 --> 00:09:14,860 Chystáme se vytvořit ID, což je auto-Inkrementace. 154 00:09:14,860 --> 00:09:19,850 155 00:09:19,850 --> 00:09:24,350 >> Kromě toho, jdeme k vytvoření pole, které 156 00:09:24,350 --> 00:09:27,060 představuje název našeho blogu. 157 00:09:27,060 --> 00:09:29,880 158 00:09:29,880 --> 00:09:36,950 Jsme také bude, aby vytvořit pole pro uložení textu našeho blogu. 159 00:09:36,950 --> 00:09:40,600 A konečně, jdeme uložit některé časová razítka 160 00:09:40,600 --> 00:09:44,690 , když byl vytvořen náš příspěvek a když to byla aktualizována. 161 00:09:44,690 --> 00:09:46,240 A dolů, je to docela jednoduché. 162 00:09:46,240 --> 00:09:53,974 Vše, co chcete udělat, je pokles tabulky, které jsme vytvořili. 163 00:09:53,974 --> 00:09:54,930 >> Skvělé. 164 00:09:54,930 --> 00:09:55,850 Nějaké otázky? 165 00:09:55,850 --> 00:09:59,730 166 00:09:59,730 --> 00:10:07,110 Takže teď když jsme pokračovat a- ve skutečnosti, místní hostitel, 167 00:10:07,110 --> 00:10:09,640 dovolte mi, abych odstranit to, co jsme měli předtím. 168 00:10:09,640 --> 00:10:14,330 169 00:10:14,330 --> 00:10:15,190 Jděte do databází. 170 00:10:15,190 --> 00:10:17,640 Budu-li odstranit to, co jsme měli předtím. 171 00:10:17,640 --> 00:10:22,870 Drop to a vytvářet nová databáze Blog50. 172 00:10:22,870 --> 00:10:24,930 Takže co teď magický část je tady, že jsme 173 00:10:24,930 --> 00:10:28,760 Můžete použít tyto migrace přímo do databáze pomocí příkazového řádku 174 00:10:28,760 --> 00:10:29,290 nástroje. 175 00:10:29,290 --> 00:10:35,100 Takže pokud budeme dělat php řemeslník migrovat zjistíte, že, hej. 176 00:10:35,100 --> 00:10:38,320 Je to vytvoření tabulky migrace, které se podíváme na v trochu, 177 00:10:38,320 --> 00:10:40,540 a to aplikovat tuto první migraci. 178 00:10:40,540 --> 00:10:43,860 179 00:10:43,860 --> 00:10:48,920 >> Takže se podíváme na Blog50, zjistíte, že to vytvořil dvě tabulky pro nás. 180 00:10:48,920 --> 00:10:50,300 První z nich je to migrace tabulku. 181 00:10:50,300 --> 00:10:54,130 Takže pokud budeme prohlížet to, zjistíte, že tato tabulka je poměrně jednoduché. 182 00:10:54,130 --> 00:10:55,490 Je to jen řekl, že, hej. 183 00:10:55,490 --> 00:10:58,960 Jsme využilo tuto migraci. 184 00:10:58,960 --> 00:11:01,470 Jsme se vrátit a podívat se na příspěvky. 185 00:11:01,470 --> 00:11:05,720 Určitě jste si všimli, že struktura je přesně to, co jsme se zeptali to. 186 00:11:05,720 --> 00:11:07,350 Máme auto-zvyšování ID. 187 00:11:07,350 --> 00:11:10,450 Máme řetězec pro ukládání titul, a textové pole 188 00:11:10,450 --> 00:11:11,450 pro ukládání obsahu. 189 00:11:11,450 --> 00:11:14,040 190 00:11:14,040 --> 00:11:14,706 Skvělé. 191 00:11:14,706 --> 00:11:15,560 Super. 192 00:11:15,560 --> 00:11:21,626 Máte otázky k migraci práce, jak můžeme je použít? 193 00:11:21,626 --> 00:11:22,126 Ne? 194 00:11:22,126 --> 00:11:23,600 Super. 195 00:11:23,600 --> 00:11:26,630 Takže teď budeme pokračovat a vlastně vytvoření modelu. 196 00:11:26,630 --> 00:11:33,100 Proto chceme vytvořit model, který příspěvky ukládá abstrakce databáze. 197 00:11:33,100 --> 00:11:41,040 Takže spíše než dělat MySQL dotazů přímo, budeme vytvářet. 198 00:11:41,040 --> 00:11:45,840 Takže musíme vytvořit Složka tady nazývají modelech. 199 00:11:45,840 --> 00:11:48,905 A uvnitř tady, jedeme do vytvořit soubor s názvem post.php. 200 00:11:48,905 --> 00:11:52,280 201 00:11:52,280 --> 00:11:54,550 >> Uvnitř této PHP souboru budeme vytvářet 202 00:11:54,550 --> 00:12:00,590 třída pracovní místo, které rozšiřuje výmluvné. 203 00:12:00,590 --> 00:12:08,950 Výmluvný je název ORM Motor, který Laravel poskytuje. 204 00:12:08,950 --> 00:12:12,799 A tady, můžeme očekávat, že skutečně potřebujete napsat nějaký kód. 205 00:12:12,799 --> 00:12:14,840 Budeme psát nějaký pomocné funkce později. 206 00:12:14,840 --> 00:12:19,420 Ale po vybalení z krabice, to bude již rozpoznat, co je v databázi 207 00:12:19,420 --> 00:12:24,770 a můžeme přistupovat, řekněme, text našeho blogu, nebo název, 208 00:12:24,770 --> 00:12:29,230 a vytvářet věci přímo skoro žádný kód vůbec. 209 00:12:29,230 --> 00:12:31,110 >> Takže to je jedna z magických prvků. 210 00:12:31,110 --> 00:12:34,980 A vítr jednou do této třídy je více plnohodnotné, 211 00:12:34,980 --> 00:12:40,480 budeme zahrnovat informace o tom, co Souvisí to tak, komentářů. 212 00:12:40,480 --> 00:12:42,310 Také vytvořit funkci takže můžeme vlastně 213 00:12:42,310 --> 00:12:46,340 přímo zjistit adresu URL na stránce blog post. 214 00:12:46,340 --> 00:12:46,840 Super. 215 00:12:46,840 --> 00:12:47,881 Jakékoliv dotazy o tom? 216 00:12:47,881 --> 00:12:51,140 217 00:12:51,140 --> 00:12:51,832 Ne. 218 00:12:51,832 --> 00:12:54,100 Super. 219 00:12:54,100 --> 00:12:57,860 >> Takže teď jakmile budeme mít náš model, my Chcete vytvořit řadič, který je 220 00:12:57,860 --> 00:13:02,340 schopen komunikovat s těmito modely, a následně databáze. 221 00:13:02,340 --> 00:13:05,540 Takže pokud se podíváme na BlogController, budete 222 00:13:05,540 --> 00:13:08,490 Všimněte si, že to není moc tady právě teď. 223 00:13:08,490 --> 00:13:13,220 Všechno, co je, je funkce index který generuje domovské stránky, 224 00:13:13,220 --> 00:13:18,220 ale bez cokoli tam zobrazí dosud. 225 00:13:18,220 --> 00:13:20,560 >> Takže první funkce že budeme vytvářet 226 00:13:20,560 --> 00:13:25,790 je ten, který nám umožňuje k vytvoření blogu. 227 00:13:25,790 --> 00:13:30,540 Takže budeme deklarovat nová funkce s názvem newPost. 228 00:13:30,540 --> 00:13:36,430 A uvnitř tady prostě jdeme nastavení rozvržení stránky 229 00:13:36,430 --> 00:13:41,850 být poskytnout verzi, Pokud si vzpomínáte z CS50, 230 00:13:41,850 --> 00:13:48,020 této šablony s názvem blog.new, který budeme vytvářet v trochu. 231 00:13:48,020 --> 00:13:53,170 >> Všimněte si, tady na lince šest, které jsme specifikovali této proměnné, rozložení. 232 00:13:53,170 --> 00:13:55,820 A pokud se podíváme na složku pohledy, 233 00:13:55,820 --> 00:14:01,640 je rozvržení složka, která obsahuje velmi základní HTML souboru. 234 00:14:01,640 --> 00:14:04,680 A poznámky, zjistíte, že máme tento obal 235 00:14:04,680 --> 00:14:06,800 tady to přináší obsah. 236 00:14:06,800 --> 00:14:09,460 Takže v naší šablony to, co budeme dělat 237 00:14:09,460 --> 00:14:16,180 je vytvořit to, co se bude substituované přímo v tomto uspořádání. 238 00:14:16,180 --> 00:14:20,060 >> Tak jsme si řekli, že chceme k tomu, aby šablona s názvem blog.new. 239 00:14:20,060 --> 00:14:23,790 Ale uvnitř blogu, je tu Zatím není tato nová šablona. 240 00:14:23,790 --> 00:14:26,910 Takže budeme vytvářet Soubor s názvem new.blade.php. 241 00:14:26,910 --> 00:14:29,860 To říká, že Laravel tento soubor PHP by 242 00:14:29,860 --> 00:14:31,720 být vykreslen s čepel šablony motor. 243 00:14:31,720 --> 00:14:39,510 244 00:14:39,510 --> 00:14:42,630 Tak to je docela přímočaré souborů. 245 00:14:42,630 --> 00:14:46,690 Je to bude forma, kterou vlastně přidat blogu. 246 00:14:46,690 --> 00:14:49,220 >> Takže kouzlo sem z dědictví je to, hej. 247 00:14:49,220 --> 00:14:52,950 Chceme určit, že část, úsek obsah 248 00:14:52,950 --> 00:14:56,640 Zde, který je vymezen bysection astop. 249 00:14:56,640 --> 00:15:02,260 Takže to, co je mezi tím tu bude být nahrazen do hlavního rozvržení. 250 00:15:02,260 --> 00:15:07,000 A tady to, co chceme udělat, je velmi jednoduše vytvořit nový soubor HTML. 251 00:15:07,000 --> 00:15:08,690 Pojďme se jen přidat rychlý titul. 252 00:15:08,690 --> 00:15:09,600 Přidejte blogu. 253 00:15:09,600 --> 00:15:12,110 254 00:15:12,110 --> 00:15:15,390 A v ní, že jsme chystáte vytvořit formulář. 255 00:15:15,390 --> 00:15:19,197 >> Tento formulář bude mít akci. 256 00:15:19,197 --> 00:15:21,780 A to bude něco že jsme se nahradit později, 257 00:15:21,780 --> 00:15:24,200 a uvidíme, jak směrování zapadá do zde. 258 00:15:24,200 --> 00:15:33,600 Ale my jsme jen tak definovat teď že to jde na adresu URL s trasy 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 A pak se to děje mít metody POST. 262 00:15:40,320 --> 00:15:43,940 263 00:15:43,940 --> 00:15:47,590 V tady, jdeme mít dvě pole. 264 00:15:47,590 --> 00:15:49,170 Div class = "form-skupina". 265 00:15:49,170 --> 00:15:55,806 >> Jsme pomocí knihovny Bootstrap CSS laskavě poskytl Twitter. 266 00:15:55,806 --> 00:15:57,720 Takže budeme vytvářet dva z nich. 267 00:15:57,720 --> 00:16:01,700 268 00:16:01,700 --> 00:16:05,970 Takže tento první vstup je Bude titul. 269 00:16:05,970 --> 00:16:08,437 Takže 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 Chystám se přidat zástupný symbol = "Název". 274 00:16:16,050 --> 00:16:21,570 275 00:16:21,570 --> 00:16:26,140 >> A pak druhá je Bude textové oblasti. 276 00:16:26,140 --> 00:16:27,827 Name = "obsah". 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 A symbol = "Napište zde". 280 00:16:34,610 --> 00:16:42,030 281 00:16:42,030 --> 00:16:43,480 Tam jsme jít. 282 00:16:43,480 --> 00:16:46,760 Nakonec budeme přidat rychlou tlačítko Odeslat. 283 00:16:46,760 --> 00:16:50,370 Type = "submit" class = "BTN BTN-primární". 284 00:16:50,370 --> 00:16:53,370 285 00:16:53,370 --> 00:16:55,340 Tak to jsou všechny rysy bootstrap tak 286 00:16:55,340 --> 00:16:58,510 že to může být stanovena se způsobem, který je 287 00:16:58,510 --> 00:17:03,730 kořist pro uživatele, spíše než pouhým HTML. 288 00:17:03,730 --> 00:17:06,250 >> Takže jsme definovali řadič zde. 289 00:17:06,250 --> 00:17:08,930 Jsme definovali velmi jednoduchý pohled. 290 00:17:08,930 --> 00:17:12,339 Ale to, co chybí, je pojivové tkáně. 291 00:17:12,339 --> 00:17:15,420 Takže v tomto bodě, Laravel nemá ponětí, jak 292 00:17:15,420 --> 00:17:18,312 budeme skutečně Přístup k této řadič. 293 00:17:18,312 --> 00:17:20,270 Tak toto je definováno v Soubor s názvem routes.php. 294 00:17:20,270 --> 00:17:22,780 295 00:17:22,780 --> 00:17:24,310 A právě teď, máme jednu trasu. 296 00:17:24,310 --> 00:17:29,060 Což je, když jdeme do home cesta k této webové stránce, 297 00:17:29,060 --> 00:17:33,140 to bude k tomu, aby index regulátor. 298 00:17:33,140 --> 00:17:38,880 Tak tady to, co musíme udělat, je provést nová cesta pro nás vytvořit post. 299 00:17:38,880 --> 00:17:41,910 >> Tak jsme se použít tuto metodu dostat, který stanoví 300 00:17:41,910 --> 00:17:48,650 že pokud se uživatel pokusí si to page-- výslovně 301 00:17:48,650 --> 00:17:52,850 pošta lomítko novou page-- to, co budeme dělat 302 00:17:52,850 --> 00:18:02,060 je použít ovladač s názvem BlogController nový příspěvek. 303 00:18:02,060 --> 00:18:03,460 Ten, který jsme právě vytvořili. 304 00:18:03,460 --> 00:18:08,090 A pak půjdeme na alias jako newPost. 305 00:18:08,090 --> 00:18:17,460 306 00:18:17,460 --> 00:18:19,850 Budeme vytvářet další Funkce v trochu. 307 00:18:19,850 --> 00:18:23,520 Ale to, co je tady v rámci klíč "jako" je to, co 308 00:18:23,520 --> 00:18:28,195 můžeme dosadit do Naši šablony čepelí. 309 00:18:28,195 --> 00:18:32,390 310 00:18:32,390 --> 00:18:36,230 Takže teď, pojďme vlastně také říci trasu. 311 00:18:36,230 --> 00:18:38,380 Takže jsme také bude k vytvoření řadiče 312 00:18:38,380 --> 00:18:41,020 takže můžeme vytvořit tyto místa. 313 00:18:41,020 --> 00:18:46,940 Takže pokud uživatel příspěvků na stránku sloupku lomítko nový, co budeme dělat 314 00:18:46,940 --> 00:18:51,350 je používá řadič, který budeme v dohledné době vytvořit 315 00:18:51,350 --> 00:18:56,160 volal BlogController na createPost. 316 00:18:56,160 --> 00:19:01,929 A budeme alias to se jako createPost. 317 00:19:01,929 --> 00:19:03,380 Super. 318 00:19:03,380 --> 00:19:05,811 >> Nějaké otázky? 319 00:19:05,811 --> 00:19:06,310 Super. 320 00:19:06,310 --> 00:19:09,790 Takže pojďme běžet, co máme tak daleko. 321 00:19:09,790 --> 00:19:16,930 Takže pokud budeme dělat php řemeslník sloužit, uvidíme spoustu chyb. 322 00:19:16,930 --> 00:19:20,385 Takže to vypadá, že máme syntaktická chyba na trasách řádku 27. 323 00:19:20,385 --> 00:19:20,885 Ah. 324 00:19:20,885 --> 00:19:21,718 Chybí středník. 325 00:19:21,718 --> 00:19:24,900 326 00:19:24,900 --> 00:19:32,870 Takže pokud jdeme do 8,000, uvidíte, nic ještě tady. 327 00:19:32,870 --> 00:19:34,740 Tak to je výchozí domovskou stránku. 328 00:19:34,740 --> 00:19:37,730 >> Ale když jdeme přidání lomítko nový, hej. 329 00:19:37,730 --> 00:19:40,425 Bude to formulář, který jsme právě vytvořili. 330 00:19:40,425 --> 00:19:42,550 Právě teď, my ne implementována funkce 331 00:19:42,550 --> 00:19:44,060 když jsme stiskněte tlačítko Odeslat. 332 00:19:44,060 --> 00:19:47,110 Takže pokud budeme klikněte na Odeslat tlačítko, bude to běh chybu. 333 00:19:47,110 --> 00:19:49,840 Ale budeme kódu, který právě teď, přesně to, co jsme 334 00:19:49,840 --> 00:19:54,840 chcete udělat, když uživatel předkládá tento formulář. 335 00:19:54,840 --> 00:19:55,770 >> Tak pojďme to udělat. 336 00:19:55,770 --> 00:19:57,380 Vraťte se do souboru regulátorů. 337 00:19:57,380 --> 00:20:00,180 To, co budeme dělat, je zavést tuto novou funkci 338 00:20:00,180 --> 00:20:04,360 která nám umožňuje vytvořit příspěvek. 339 00:20:04,360 --> 00:20:07,370 340 00:20:07,370 --> 00:20:08,990 Deklarovat novou funkci. 341 00:20:08,990 --> 00:20:11,527 Veřejná funkce createPost. 342 00:20:11,527 --> 00:20:14,610 A tato funkce bude trochu složitější, než to, co 343 00:20:14,610 --> 00:20:15,559 jsme měli předtím. 344 00:20:15,559 --> 00:20:18,350 Ale uvidíte, tady, že nejsme bude vlastně psát nějaký SQL. 345 00:20:18,350 --> 00:20:20,980 ORM, výmluvný ORM, bude umožňovat 346 00:20:20,980 --> 00:20:26,400 nám to udělat v některých způsoby, jak více elegantním způsobem. 347 00:20:26,400 --> 00:20:29,140 >> Takže budeme-li vytvořit nový příspěvek. 348 00:20:29,140 --> 00:20:34,120 A tady jsme konkretizaci nový objekt 349 00:20:34,120 --> 00:20:38,080 z modelu, který jsme právě vytvořený model pošta. 350 00:20:38,080 --> 00:20:44,450 A to, co budeme dělat, je nastaven název atribut tohoto pomocí něčeho 351 00:20:44,450 --> 00:20:47,380 že jsme si ze serveru. 352 00:20:47,380 --> 00:20:52,060 Tak tohle je podobné tomu, co jsme měli předtím v CS50 Finance 353 00:20:52,060 --> 00:20:57,750 kde budeme dělat, za použití Super Global Post hledá titul. 354 00:20:57,750 --> 00:21:01,600 >> Takže Laravel poskytuje některé kanalizaci a kdoví co ještě tuto funkci pomocníka. 355 00:21:01,600 --> 00:21:07,610 Tak jsme se raději použít místo tohoto velmi základní syrové formě z PHP. 356 00:21:07,610 --> 00:21:17,430 A pak to, co budeme dělat, je nastaven obsah jej na vstup dostat obsah. 357 00:21:17,430 --> 00:21:20,429 358 00:21:20,429 --> 00:21:22,720 Jsme vlastně bude zabalit To užitečnou funkci 359 00:21:22,720 --> 00:21:31,820 že PHP poskytuje tzv nl2br, který Ukazuje nových tratí, NLS do BRS, přestávky, 360 00:21:31,820 --> 00:21:35,822 takže vlastně můžeme mít různé body v něm. 361 00:21:35,822 --> 00:21:38,030 A konečně, co budeme udělat, je uložit tento příspěvek. 362 00:21:38,030 --> 00:21:41,686 Tak jsme volání funkce ušetřit na tomto modelu. 363 00:21:41,686 --> 00:21:43,800 Chystáme se zachránit příspěvek. 364 00:21:43,800 --> 00:21:49,970 A konečně, co budeme dělat je přesměrovat uživatele specificky 365 00:21:49,970 --> 00:21:55,060 na trase, které budeme společně vytvořit krátce, alias by viewPost. 366 00:21:55,060 --> 00:22:00,435 A jdeme projít v argumentech id, je id této nové funkce. 367 00:22:00,435 --> 00:22:04,280 368 00:22:04,280 --> 00:22:05,640 >> Skvělé. 369 00:22:05,640 --> 00:22:09,090 Takže teď když jsme skutečně jít a spustit to. 370 00:22:09,090 --> 00:22:11,370 Budeme-li přidat nový příspěvek. 371 00:22:11,370 --> 00:22:15,930 Řekněme, že je to seminář 50. 372 00:22:15,930 --> 00:22:17,620 A říkají, určitě. 373 00:22:17,620 --> 00:22:18,240 ASDL. 374 00:22:18,240 --> 00:22:18,740 Cokoliv. 375 00:22:18,740 --> 00:22:20,320 Nějaký obsahu. 376 00:22:20,320 --> 00:22:21,180 A předloží ji. 377 00:22:21,180 --> 00:22:23,850 A všimněte si, že, hej. cesty není definována. 378 00:22:23,850 --> 00:22:32,340 Ale pokud se podíváme na phpMyAdmin a podívejte se na tom, zda naše funkce 379 00:22:32,340 --> 00:22:34,370 nic neudělal. 380 00:22:34,370 --> 00:22:36,670 Podívejte se na Blog50 míst. 381 00:22:36,670 --> 00:22:37,720 Budeme Všimněte si, že hej. 382 00:22:37,720 --> 00:22:43,530 Ve skutečnosti jsme se jen vytvořit tento blog post s časová razítka, jak je uvedeno. 383 00:22:43,530 --> 00:22:46,600 384 00:22:46,600 --> 00:22:51,630 >> Takže teď se vraťme a dokonce vytvářet tato jiná funkce v našem regulátoru, 385 00:22:51,630 --> 00:22:54,790 konkrétně viewPost regulátor. 386 00:22:54,790 --> 00:23:00,290 Takže public function viewPost. 387 00:23:00,290 --> 00:23:04,070 Tak tady to, co budeme dělat, místo toho mít prázdné závorky, 388 00:23:04,070 --> 00:23:08,800 budeme chtít předat ID příspěvek, který vytváříme. 389 00:23:08,800 --> 00:23:12,800 A odtud, co budeme dělat je vlastně dotaz databáze pro něj. 390 00:23:12,800 --> 00:23:15,140 >> Takže pokud se nám psát, tam je funkce s názvem 391 00:23:15,140 --> 00:23:18,860 Zjistíte, že nám umožňuje vyhledávat ji ID. 392 00:23:18,860 --> 00:23:22,110 Konkrétně, ve skutečnosti, budeme použít alternativní verze tohoto názvem 393 00:23:22,110 --> 00:23:27,880 Najít nebo Fail, což nám umožňuje ukončete z této funkce, 394 00:23:27,880 --> 00:23:34,700 vyvolat výjimku, pokud je ID míjíme v neexistuje. 395 00:23:34,700 --> 00:23:37,500 A pak budeme dělat něco podobné tomu, co jsme dělali dříve 396 00:23:37,500 --> 00:23:41,100 kde jsme si stanovili obsah této stránce je 397 00:23:41,100 --> 00:23:47,950 tavené verze tohoto nového pohledu který budeme vytvářet, blog.view. 398 00:23:47,950 --> 00:23:51,030 >> A my jdeme projít do to-- stejně jako v CS50 činí 399 00:23:51,030 --> 00:23:56,645 function-- slovník proměnných. 400 00:23:56,645 --> 00:23:59,860 401 00:23:59,860 --> 00:24:04,620 Klíče této asociativního pole stát proměnné uvnitř šablony. 402 00:24:04,620 --> 00:24:06,830 Takže budeme dělat příspěvek příspěvek. 403 00:24:06,830 --> 00:24:12,474 Takže projít nepřímo na příspěvek, který jsme dotazovaný z databáze. , 404 00:24:12,474 --> 00:24:14,390 Co teď budeme udělat, je vytvořit tento názor 405 00:24:14,390 --> 00:24:17,560 takže vlastně můžeme zobrazit na blogu, který jsme si vybudovali. 406 00:24:17,560 --> 00:24:20,280 >> Takže budeme vytvářet Soubor s názvem view.blade.php. 407 00:24:20,280 --> 00:24:25,870 408 00:24:25,870 --> 00:24:29,640 Takže v této šablony, to, co budeme dělat 409 00:24:29,640 --> 00:24:39,700 je dát dohromady jednoduchou stránku, která nám umožňuje zobrazit obsah. 410 00:24:39,700 --> 00:24:44,280 Tak jsme udělat bod, to je před obsahem. 411 00:24:44,280 --> 00:24:46,800 Přestaň. 412 00:24:46,800 --> 00:24:53,920 A co budeme k tomu v rámci zde 413 00:24:53,920 --> 00:24:56,930 napsat nějaký HTML k zobrazení této stránky. 414 00:24:56,930 --> 00:25:03,590 >> Takže budeme zabalte do fantazie Nový HTML5 element s názvem článku. 415 00:25:03,590 --> 00:25:05,790 A tady, jdeme mít záhlaví kde 416 00:25:05,790 --> 00:25:12,190 budeme prostě mít H1, který obsahuje název příspěvku. 417 00:25:12,190 --> 00:25:17,120 Tak tady, podíváme-li se na to double složená závorka notace, 418 00:25:17,120 --> 00:25:21,690 to bude dělat v podstatě PHP echo Název příspěvku. 419 00:25:21,690 --> 00:25:25,630 Takže je to užitečná zkratka že Laravel nám poskytuje. 420 00:25:25,630 --> 00:25:31,070 Takže budeme používat Tento zápis místo. 421 00:25:31,070 --> 00:25:40,220 >> A tady, budeme také vytisknout obsah z toho. 422 00:25:40,220 --> 00:25:43,480 A tady, jdeme k tomu příspěvek obsahu. 423 00:25:43,480 --> 00:25:46,514 424 00:25:46,514 --> 00:25:50,660 A dole na dně, co jsme dělat, je vytvořit zápatí. 425 00:25:50,660 --> 00:25:57,690 A v zápatí, budeme První display když to byl vyslán. 426 00:25:57,690 --> 00:26:01,320 Tak tohle byl vyslán na, vytvořil na adrese. 427 00:26:01,320 --> 00:26:07,996 >> A Laravel používá opravdu pěkný datum knihovna s názvem Carbon. 428 00:26:07,996 --> 00:26:11,120 Takže můžeme vlastně dělat něco, co nazývá difforHumans, které jste viděli dříve. 429 00:26:11,120 --> 00:26:14,360 Když jsme dosáhli. to řeknu, stejně jako před pěti sekund. 430 00:26:14,360 --> 00:26:16,860 Tak tohle je opravdu pěkný funkčnost Laravel. 431 00:26:16,860 --> 00:26:19,469 432 00:26:19,469 --> 00:26:21,385 A konečně, jdeme zavřete toto zápatí. 433 00:26:21,385 --> 00:26:24,900 434 00:26:24,900 --> 00:26:31,450 >> Takže teď, pokud se vrátíme do Úvodní stránka jdeme 435 00:26:31,450 --> 00:26:34,490 se ještě tady, protože nevidí nic jsme se kódované na domovskou stránku. 436 00:26:34,490 --> 00:26:40,962 Ale když jdeme přidání lomítko jeden, budeme vidět výjimku. 437 00:26:40,962 --> 00:26:42,670 Ví někdo, proč vidíme výjimku? 438 00:26:42,670 --> 00:26:44,516 Co nám chybí? 439 00:26:44,516 --> 00:26:45,290 Nějaké nápady? 440 00:26:45,290 --> 00:26:48,050 441 00:26:48,050 --> 00:26:49,790 Takže to, co jsme dělali dříve pro nás vlastně 442 00:26:49,790 --> 00:26:52,285 definovat, jak se dostaneme do konkrétní regulátory? 443 00:26:52,285 --> 00:26:54,895 444 00:26:54,895 --> 00:26:55,770 >> Reproduktor 1: cesta? 445 00:26:55,770 --> 00:26:56,519 ERIC Ouyang: Jo. 446 00:26:56,519 --> 00:26:58,070 Takže jsme ještě definovat trasu. 447 00:26:58,070 --> 00:26:59,794 Tak jsme se vrátit sem do routes.php. 448 00:26:59,794 --> 00:27:01,710 Určitě jste si všimli, že jsme nemají vlastně definován 449 00:27:01,710 --> 00:27:05,010 jak budeme dostat tento řadič. 450 00:27:05,010 --> 00:27:06,780 Takže teď budeme definovat touto cestou. 451 00:27:06,780 --> 00:27:09,280 Je to poměrně jednoduché, podobné tomu, co jsme dělali dříve. 452 00:27:09,280 --> 00:27:13,910 Ale to, co budeme všímat zde že budeme mít vyhrazené místo. 453 00:27:13,910 --> 00:27:18,730 >> Takže pokud budeme dělat route.get lomítko ID příspěvku. 454 00:27:18,730 --> 00:27:24,290 Takže ID teď je to, co se děje na předány do regulátoru. 455 00:27:24,290 --> 00:27:27,820 To se bude používat ovladač, který jsme právě 456 00:27:27,820 --> 00:27:33,560 vytvořil, BlogController na viewPost. 457 00:27:33,560 --> 00:27:36,420 A budeme se alias to jako viewPost. 458 00:27:36,420 --> 00:27:46,544 459 00:27:46,544 --> 00:27:47,490 Skvělé. 460 00:27:47,490 --> 00:27:49,470 Takže teď budeme vytvářet touto cestou. 461 00:27:49,470 --> 00:27:52,100 >> Takže teď když půjdeme zde a obnovte tuto stránku, 462 00:27:52,100 --> 00:27:54,410 my ve skutečnosti to jsou naše nové blogu. 463 00:27:54,410 --> 00:27:57,710 Tak tohle je to, co jsme vytvořili dříve. 464 00:27:57,710 --> 00:28:01,320 Velmi jednoduché stránky, ale zobrazí blog post, které jsme právě vytvořili. 465 00:28:01,320 --> 00:28:04,210 466 00:28:04,210 --> 00:28:04,760 Super. 467 00:28:04,760 --> 00:28:08,880 A když jsme vlastně projít celou Proces vytváření nového blogu, 468 00:28:08,880 --> 00:28:11,700 jsme si všimli, že vše, co přesměrování správně. 469 00:28:11,700 --> 00:28:12,950 Když řeknu, "Ahoj. 470 00:28:12,950 --> 00:28:15,710 Jsem Jonathan Tan. " 471 00:28:15,710 --> 00:28:18,550 Rci: "To je můj blog post." 472 00:28:18,550 --> 00:28:22,830 A předloží ji, to bude vytvářet tento nový blog post s ID 2, 473 00:28:22,830 --> 00:28:28,920 který přírůstky z toho, co jsme měli dříve a zobrazuje správně. 474 00:28:28,920 --> 00:28:30,760 Děsivý. 475 00:28:30,760 --> 00:28:32,930 >> Nějaké otázky? 476 00:28:32,930 --> 00:28:33,430 Ano? 477 00:28:33,430 --> 00:28:36,537 >> SPEAKER 2: Má Laravel rukojeť sanitaci a vše pro vás? 478 00:28:36,537 --> 00:28:37,245 ERIC Ouyang: Ano. 479 00:28:37,245 --> 00:28:42,990 Takže když jsme viděli dříve, když jsme vstup tračníku tlustého střeva dostat, 480 00:28:42,990 --> 00:28:47,720 že sanuje jakékoliv SQL injekce a kdoví co ještě 481 00:28:47,720 --> 00:28:51,660 že bychom mohli chtít provést, pokud Jsme uživatel se zlými úmysly webové stránky. 482 00:28:51,660 --> 00:28:54,115 Takže Laravel zpracovává hodně z toho v zákulisí. 483 00:28:54,115 --> 00:28:57,030 Dobrá otázka. 484 00:28:57,030 --> 00:29:00,390 >> Takže pojďme se podívat na domovskou stránku. 485 00:29:00,390 --> 00:29:03,220 486 00:29:03,220 --> 00:29:06,790 Takže když jsme se poprvé vrátit do regulátor na domovské stránce, 487 00:29:06,790 --> 00:29:08,740 zjistíte, že to nedělá moc sem. 488 00:29:08,740 --> 00:29:11,620 Všimněte si, že nejsme přecházet do tohoto regulátoru 489 00:29:11,620 --> 00:29:13,830 něco obzvláště užitečné. 490 00:29:13,830 --> 00:29:16,660 Je to právě tento index soubor. 491 00:29:16,660 --> 00:29:18,770 >> Takže pojďme projít do to něco užitečné. 492 00:29:18,770 --> 00:29:21,450 A konkrétně, my jsme bude se pak v příspěvcích. 493 00:29:21,450 --> 00:29:28,740 A Laravel nám umožňuje udělat místo vůbec, což 494 00:29:28,740 --> 00:29:30,625 nám umožní získat všechny příspěvky. 495 00:29:30,625 --> 00:29:33,160 496 00:29:33,160 --> 00:29:35,730 Nyní, když se vrátíme do index.php, uvidíte, hej. 497 00:29:35,730 --> 00:29:37,060 Zatím nic zde. 498 00:29:37,060 --> 00:29:41,290 Ale to, co chceme, aby to tady je vlastně iterovat, 499 00:29:41,290 --> 00:29:46,420 dělat smyčky foreach nad příspěvky, které nám umožňuje vytisknout pracovní místa. 500 00:29:46,420 --> 00:29:53,180 >> Takže foreach příspěvky jako pošta, co chceme dělat 501 00:29:53,180 --> 00:29:57,252 je vytisknout obsah na blogu. 502 00:29:57,252 --> 00:30:00,210 Ale jedna věc, které si všimnete, je, že jsme vlastně psal většinu z tohoto kodexu 503 00:30:00,210 --> 00:30:01,370 Již v view.blade.php. 504 00:30:01,370 --> 00:30:04,070 505 00:30:04,070 --> 00:30:08,640 Takže to, co budeme dělat, je ve skutečnosti použijte pěkný užitečné funkce ostří 506 00:30:08,640 --> 00:30:11,300 a faktor tento společný kód. 507 00:30:11,300 --> 00:30:12,570 Tak jsme se jít sem. 508 00:30:12,570 --> 00:30:16,210 >> Budeme se brát tento obsah tady, a to, co budeme dělat 509 00:30:16,210 --> 00:30:18,170 je vytvořit novou složku. 510 00:30:18,170 --> 00:30:20,364 Prostě říkám partials. 511 00:30:20,364 --> 00:30:22,530 A tady, jdeme vytvořit post.blade.php. 512 00:30:22,530 --> 00:30:26,570 513 00:30:26,570 --> 00:30:33,100 Tak tady jsme vytknout, jakým způsobem které chcete zobrazit tato místa. 514 00:30:33,100 --> 00:30:38,690 A tady to, co budeme dělat, místo ve skutečnosti má tento HTML přímo, 515 00:30:38,690 --> 00:30:41,530 budeme používat tuto směrnici volal patří blog.partials.post. 516 00:30:41,530 --> 00:30:45,210 517 00:30:45,210 --> 00:30:50,635 >> A co budeme dělat tady je předat funkci stránky. 518 00:30:50,635 --> 00:30:57,076 519 00:30:57,076 --> 00:31:01,050 Takže teď když půjdeme zpátky, budeme Všimněte si, že funkce je stále 520 00:31:01,050 --> 00:31:01,550 stejný. 521 00:31:01,550 --> 00:31:05,140 Ale teď máme to vytknout kód, tento HTML. 522 00:31:05,140 --> 00:31:07,070 Takže můžeme použít v indexu. 523 00:31:07,070 --> 00:31:09,090 Tak zde, je to velmi jednoduché. 524 00:31:09,090 --> 00:31:17,870 Všechno, co děláme, je zahrnout blog.partials.post a pole. 525 00:31:17,870 --> 00:31:20,845 A někde na předtím, my příspěvek post. 526 00:31:20,845 --> 00:31:23,830 527 00:31:23,830 --> 00:31:28,182 >> Takže teď, pokud se vrátíme do Hlavní stránka, budeme vidět, že, hej. 528 00:31:28,182 --> 00:31:30,515 Máme seznam všech blogů, které jsme měli předtím. 529 00:31:30,515 --> 00:31:34,640 530 00:31:34,640 --> 00:31:37,700 Mohli bychom chtít přidat nějaké "kdyby" Podmínky a "jinde" podmínky 531 00:31:37,700 --> 00:31:39,979 tak, že pokud nebudeme mít něco na blogu, 532 00:31:39,979 --> 00:31:41,520 chceme zobrazit něco užitečného. 533 00:31:41,520 --> 00:31:42,570 Stejně jako, hej. 534 00:31:42,570 --> 00:31:44,340 Neexistuje žádný obsah, ale na blogu. 535 00:31:44,340 --> 00:31:47,670 A pokud vy skutečně podívat se na Distribuce kód na GitHub, 536 00:31:47,670 --> 00:31:50,100 uvidíte příklad toho, jak to uděláme. 537 00:31:50,100 --> 00:31:52,770 538 00:31:52,770 --> 00:31:54,110 >> Super. 539 00:31:54,110 --> 00:31:54,890 Nějaké otázky? 540 00:31:54,890 --> 00:31:55,510 Ano. 541 00:31:55,510 --> 00:31:57,468 >> SPEAKER 2: Myslím, že právě zásadní otázka. 542 00:31:57,468 --> 00:31:59,480 Zpět na trase. 543 00:31:59,480 --> 00:32:00,230 ERIC Ouyang: Jo. 544 00:32:00,230 --> 00:32:01,935 Vezmeme-li se podívat na cestách. 545 00:32:01,935 --> 00:32:06,018 >> SPEAKER 2: Kam uses.blogcontroller na vytvoření příspěvek, 546 00:32:06,018 --> 00:32:07,560 Co to nám přímo do? 547 00:32:07,560 --> 00:32:08,310 ERIC Ouyang: Jo. 548 00:32:08,310 --> 00:32:08,550 Jo. 549 00:32:08,550 --> 00:32:09,716 >> SPEAKER 2: Nebo co je that-- 550 00:32:09,716 --> 00:32:12,620 ERIC Ouyang: Tak, podívejte se, říkají Například, tato trasa tady. 551 00:32:12,620 --> 00:32:17,190 První část je skutečná URL, že uživatel bude jít. 552 00:32:17,190 --> 00:32:19,930 A to pole tady, asociativní pole, definuje 553 00:32:19,930 --> 00:32:24,520 jak chceme mít Aplikace akt v reakci na to. 554 00:32:24,520 --> 00:32:29,090 Takže použití je regulátor, funkce, které jsme 555 00:32:29,090 --> 00:32:31,610 chci zavolat, když uživatel přejde na tuto adresu URL. 556 00:32:31,610 --> 00:32:35,190 Takže viewPost tady byl funkce, které jsme definovali v 557 00:32:35,190 --> 00:32:36,100 z BlogController-- 558 00:32:36,100 --> 00:32:37,160 >> SPEAKER 2: Vidím. 559 00:32:37,160 --> 00:32:39,368 >> ERIC Ouyang: -SO, že jsme může skutečně poskytnout pohled, 560 00:32:39,368 --> 00:32:42,590 provést některé výpočty, interakci s SQL databází. 561 00:32:42,590 --> 00:32:43,560 >> SPEAKER 2: OK. 562 00:32:43,560 --> 00:32:46,960 >> ERIC Ouyang: A pak druhý díl, "jak" je alias, který používáme. 563 00:32:46,960 --> 00:32:50,714 Takže pokud jsme si všimli, když jsme vytvořili formulář, 564 00:32:50,714 --> 00:32:52,380 Všimněte si, že adresa URL :: routecreatePost. 565 00:32:52,380 --> 00:32:55,000 566 00:32:55,000 --> 00:32:58,330 Tak to nahradí v aktuální URL, takže nejsme těžké 567 00:32:58,330 --> 00:33:02,940 kódování je do tak můžeme změnit jednou, říct, jestli bychom chtěli přejmenovat. 568 00:33:02,940 --> 00:33:06,055 Místo toho, aby po lomítka nový, chceme udělat podobně, p 569 00:33:06,055 --> 00:33:09,490 lomítko nový jen vyčistit up našich adres URL bit. 570 00:33:09,490 --> 00:33:14,740 Rádi bychom to změnit na jednom místě dost než ve všech různých souborů. 571 00:33:14,740 --> 00:33:15,451 >> Super. 572 00:33:15,451 --> 00:33:15,950 To je dobře. 573 00:33:15,950 --> 00:33:20,070 Takže teď máme velmi Základní blog platformu. 574 00:33:20,070 --> 00:33:24,260 Pravděpodobně budeme chtít přidat do tlačítka, aby že vlastně můžeme vytvářet nová pracovní místa. 575 00:33:24,260 --> 00:33:27,850 Takže pokud se podíváme na Master Rozvržení 576 00:33:27,850 --> 00:33:31,280 máme sekci nazvanou Header Right že jsme právě definována až v horní části. 577 00:33:31,280 --> 00:33:34,820 Takže můžeme přidat tlačítka pro v horní části hlavičky. 578 00:33:34,820 --> 00:33:43,950 >> Takže pokud jdeme do index.blade.php, vlastně udělat, je definovat, co se děje uvnitř zde. 579 00:33:43,950 --> 00:33:46,970 Takže tato část Header Right, to, co budeme dělat 580 00:33:46,970 --> 00:33:55,240 je přidat tlačítko pro přechod na URL definuje trasy nové funkce. 581 00:33:55,240 --> 00:33:58,270 582 00:33:58,270 --> 00:34:01,660 Jen je vyčistit a provést to hezké a všechno Bootstrap, 583 00:34:01,660 --> 00:34:04,630 budeme dělat toto výchozí tlačítko. 584 00:34:04,630 --> 00:34:07,794 Pojďme se jen, aby to velký pro zábavu. 585 00:34:07,794 --> 00:34:09,969 >> A uvnitř, mohli bychom dát nějaký text. 586 00:34:09,969 --> 00:34:14,030 Ale to, co Bootstrap poskytuje je glyphicons. 587 00:34:14,030 --> 00:34:17,840 Takže můžeme skutečně dodat, že pěkné tužka, že jsme viděli dříve. 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-tužka. 591 00:34:22,489 --> 00:34:25,449 592 00:34:25,449 --> 00:34:35,340 Takže to nám umožní dát v ikonu namísto textu. 593 00:34:35,340 --> 00:34:38,960 Nyní, když jsme se to zastavit, to definuje tuto část. 594 00:34:38,960 --> 00:34:39,460 A, hej. 595 00:34:39,460 --> 00:34:45,000 Máme pěkný tlačítko, které nás spojuje přímo přidat stránku do blogu. 596 00:34:45,000 --> 00:34:46,659 >> Takže máme poměrně jednoduchý blog. 597 00:34:46,659 --> 00:34:49,710 Můžeme přidat věci do něj. 598 00:34:49,710 --> 00:34:53,650 Ale to, co jsme se obecně očekáváme z blogů je komentování. 599 00:34:53,650 --> 00:34:57,340 Takže je to pro nás velmi důležité, aby, Například, když někdo navštíví webové stránky 600 00:34:57,340 --> 00:35:00,620 a opravdu rád, že příspěvek se mohou zapojit do diskuze 601 00:35:00,620 --> 00:35:03,100 s jinými lidmi, kteří navštíví stránky. 602 00:35:03,100 --> 00:35:07,050 Takže jsme jít a vytvářet nové databázové tabulky a nový model 603 00:35:07,050 --> 00:35:12,220 takže můžeme přiřadit komentuje s příspěvky. 604 00:35:12,220 --> 00:35:17,370 >> Takže první krok, stejně jako předtím, je to, že musíme spustit migraci. 605 00:35:17,370 --> 00:35:21,982 Tak jako dříve, my php řemeslník migrovat: dělat. 606 00:35:21,982 --> 00:35:24,440 A budeme se vytvořit volal create_comments_table. 607 00:35:24,440 --> 00:35:29,520 608 00:35:29,520 --> 00:35:36,080 Tím se vytvoří soubor že má naši novou migraci. 609 00:35:36,080 --> 00:35:40,170 A budeme, stejně jako Před definovat novou tabulku. 610 00:35:40,170 --> 00:35:42,773 Takže Schema :: vytvářet tabulce nazvané komentáře. 611 00:35:42,773 --> 00:35:47,410 612 00:35:47,410 --> 00:35:48,430 Tato funkce zde. 613 00:35:48,430 --> 00:35:51,620 A v této tabulce, co budeme dělat je jako první, 614 00:35:51,620 --> 00:35:54,260 jako dříve, přiřadit ID. 615 00:35:54,260 --> 00:35:56,552 Zvýší ID. 616 00:35:56,552 --> 00:36:05,440 >> Budeme umožňuje uživatelům přiřadit Jejich jméno se zvláštním komentářem. 617 00:36:05,440 --> 00:36:10,080 Budeme mít nějaký obsah, který jde ruku v ruce s tímto, textovým obsahem. 618 00:36:10,080 --> 00:36:13,580 619 00:36:13,580 --> 00:36:15,910 A tady to, co budeme udělat, je něco jiného. 620 00:36:15,910 --> 00:36:23,620 Chystáme se vytvořit celé číslo tomu se říká post_id, které 621 00:36:23,620 --> 00:36:32,100 bude znamenat, jaký příspěvek konkrétní komentář se hodí. 622 00:36:32,100 --> 00:36:35,410 >> Kromě toho jsme vlastně bude nastavit omezení cizího klíče na toto téma. 623 00:36:35,410 --> 00:36:37,750 Takže MySQL bude prosazovat to. 624 00:36:37,750 --> 00:36:39,840 Nesnažíme se přiřadit komentář číslo 625 00:36:39,840 --> 00:36:44,440 5. Pro přidání 5000, pokud budeme mít nebude měl 5000 příspěvků na to. 626 00:36:44,440 --> 00:36:50,240 Takže to, co tu děláme, děláme zahraniční post_id 627 00:36:50,240 --> 00:37:02,046 se bude spojena s ID pole z míst tabulky. 628 00:37:02,046 --> 00:37:05,900 A budeme něco dělat jinak užitečné, je onDelete. 629 00:37:05,900 --> 00:37:11,180 >> Takže pokud bychom odstranit některé Pro přidání z databáze, 630 00:37:11,180 --> 00:37:15,507 že chceme kaskády odstraní k připomínkám stejně. 631 00:37:15,507 --> 00:37:18,090 Vzhledem k tomu, že je to moc nepomůže pro nás mít připomínky příspěvků 632 00:37:18,090 --> 00:37:19,900 že neexistují. 633 00:37:19,900 --> 00:37:23,764 A konečně, stejně jako předtím, jsme bude nastavení časových razítek na toto téma. 634 00:37:23,764 --> 00:37:28,690 635 00:37:28,690 --> 00:37:33,510 A stejně jako předtím, budeme mají reverzní migrace bude 636 00:37:33,510 --> 00:37:37,920 upuštění komentáře tabulky. 637 00:37:37,920 --> 00:37:40,070 >> Takže teď, pokud se vrátíme sem, jdeme 638 00:37:40,070 --> 00:37:43,110 spustit tuto migraci, řemeslník migrovat. 639 00:37:43,110 --> 00:37:46,400 A teď je to uplatňování tohoto migrace, které jsme právě vytvořili. 640 00:37:46,400 --> 00:37:50,080 Pokud tedy pohled na phpMyAdmin, děláme, ve skutečnosti, nyní 641 00:37:50,080 --> 00:37:53,210 mají názory na tabulku, která má struktura, která jsme právě uvedeno. 642 00:37:53,210 --> 00:37:56,900 643 00:37:56,900 --> 00:37:59,610 Tak jako dříve, že jsme chystáte vytvořit nový model 644 00:37:59,610 --> 00:38:04,450 na abstraktní tabulce SQL že jsme právě vytvořili. 645 00:38:04,450 --> 00:38:05,450 >> Takže pojďme Přidat nový soubor. 646 00:38:05,450 --> 00:38:06,908 Budeme říkat comment.php. 647 00:38:06,908 --> 00:38:10,160 648 00:38:10,160 --> 00:38:15,490 A to je vlastně bude poměrně přímočarý s nepatrnou změnou 649 00:38:15,490 --> 00:38:17,520 toho, co jsme měli předtím. 650 00:38:17,520 --> 00:38:22,790 Takže class Komentář rozšiřuje výmluvné. 651 00:38:22,790 --> 00:38:25,930 A co budeme udělat, zde je definovat 652 00:38:25,930 --> 00:38:31,360 funkce, která je vztahy s ostatními modely. 653 00:38:31,360 --> 00:38:39,250 Takže budeme mít funkci příspěvek zde se vrací tento vztah. 654 00:38:39,250 --> 00:38:43,330 Takže jsme uvede, že to patří k psát, 655 00:38:43,330 --> 00:38:49,200 říká, že je tam jeden příspěvek že tento příspěvek patří. 656 00:38:49,200 --> 00:38:53,917 >> To ve skutečnosti musí být kapitál P pro model. 657 00:38:53,917 --> 00:38:56,500 A teď hned na druhé flipu side, musíme říci, že, hej. 658 00:38:56,500 --> 00:38:58,160 Příspěvky jsou komentáře. 659 00:38:58,160 --> 00:39:03,030 Takže to, co budeme dělat, je definovat veřejné funkci Komentáře. 660 00:39:03,030 --> 00:39:07,100 661 00:39:07,100 --> 00:39:13,620 A vrací se zde to má mnoho komentář. 662 00:39:13,620 --> 00:39:16,630 663 00:39:16,630 --> 00:39:22,010 Takže teď jako mávnutím kouzelného proutku, když máme místo, můžeme získat atributů komentáře 664 00:39:22,010 --> 00:39:25,615 a to bude naplnit ji informace z databáze. 665 00:39:25,615 --> 00:39:32,950 666 00:39:32,950 --> 00:39:38,220 >> Takže pojďme vlastně projít a přidat novou funkci našeho názoru souboru 667 00:39:38,220 --> 00:39:43,600 takže můžeme oba displeje a vytvářet komentáře. 668 00:39:43,600 --> 00:39:54,010 669 00:39:54,010 --> 00:39:56,865 Takže budeme definovat novou sekci. 670 00:39:56,865 --> 00:39:59,890 Prostě oddělte s vodorovnou pravidlem. 671 00:39:59,890 --> 00:40:04,065 Oddíl id = "poznámky". 672 00:40:04,065 --> 00:40:06,990 To, co budeme dělat tady je, stejně jako předtím, 673 00:40:06,990 --> 00:40:09,880 iterovat všechny komentáře. 674 00:40:09,880 --> 00:40:12,960 Takže vlastně, jak to udělat, je, jak jsem již zmínil, docela kouzelné. 675 00:40:12,960 --> 00:40:14,440 >> Děláme psát komentáře. 676 00:40:14,440 --> 00:40:17,410 677 00:40:17,410 --> 00:40:22,710 A pak se můžeme to pro každý dělat smyčka nad každým z připomínek. 678 00:40:22,710 --> 00:40:25,740 A to, co budeme udělat, je div class komentář, 679 00:40:25,740 --> 00:40:29,240 a budeme vlastně Vytiskněte si tento komentář. 680 00:40:29,240 --> 00:40:34,150 Takže displej, který hej, komentář name-- osobu 681 00:40:34,150 --> 00:40:38,080 který zveřejnil toto comment-- říká, že dot dot dot. 682 00:40:38,080 --> 00:40:41,240 Budeme dát to do bloku citát, jen aby to vypadalo hezky. 683 00:40:41,240 --> 00:40:46,470 A pak komentovat obsah bloku nabídku. 684 00:40:46,470 --> 00:40:49,790 685 00:40:49,790 --> 00:40:50,892 A foreach. 686 00:40:50,892 --> 00:40:53,100 Takže teď to bude na smyčce přes všechny komentáře 687 00:40:53,100 --> 00:40:56,500 který je spojen přičemž každý z těchto pracovních míst 688 00:40:56,500 --> 00:41:00,960 a zobrazit každý z těchto připomínek. 689 00:41:00,960 --> 00:41:05,120 Chystám se přidat další bod dolů tu, která nám umožňuje přidat komentář. 690 00:41:05,120 --> 00:41:07,400 Tak h3 class. 691 00:41:07,400 --> 00:41:09,580 Dejte jejího názvu. 692 00:41:09,580 --> 00:41:10,934 Přidat komentář. 693 00:41:10,934 --> 00:41:13,886 694 00:41:13,886 --> 00:41:15,700 A budeme definovat nový formulář. 695 00:41:15,700 --> 00:41:18,730 >> Tak jako dříve, že jsme dělat formuláře akci. 696 00:41:18,730 --> 00:41:22,740 A tady, nová akce je, že jsme bude definovat nový řadič, který 697 00:41:22,740 --> 00:41:26,770 nám umožňuje reagovat na příspěvek Žádosti o vytváření komentářů. 698 00:41:26,770 --> 00:41:33,365 Takže URL :: cesta createComment. 699 00:41:33,365 --> 00:41:37,730 Jdu do parametru zde. 700 00:41:37,730 --> 00:41:40,380 ID příspěvku, který vytváříme komentář k. 701 00:41:40,380 --> 00:41:45,340 702 00:41:45,340 --> 00:41:50,280 A pak způsobem podle Formulář bude příspěvek. 703 00:41:50,280 --> 00:41:57,240 >> Teď budeme přidat dvě pole, forma skupinu. 704 00:41:57,240 --> 00:42:04,670 To bude vstup s jméno "jméno" a class = "form-řízení", 705 00:42:04,670 --> 00:42:14,250 type = "text", a na symbol = "Vaše jméno". 706 00:42:14,250 --> 00:42:19,380 Jsme také bude definovat další pole formuláře, který 707 00:42:19,380 --> 00:42:22,970 bude textu Oblast, jak jsme měli předtím. 708 00:42:22,970 --> 00:42:25,480 Stejně jako předtím, říkají obsah. 709 00:42:25,480 --> 00:42:31,160 Class = "form-kontroly." 710 00:42:31,160 --> 00:42:41,660 Zástupný = "Napište zde." 711 00:42:41,660 --> 00:42:44,100 >> A jen tak, že jsme může skutečně předloží ji, 712 00:42:44,100 --> 00:42:55,740 předloží typ a class = "BTN BTN-primární." 713 00:42:55,740 --> 00:42:57,005 Zavřete formulář. 714 00:42:57,005 --> 00:42:59,010 Zavřít tuto akci. 715 00:42:59,010 --> 00:43:06,580 Takže teď když jsme obnovte tuto stránku, kde máme, řekněme, zvláštní místo. 716 00:43:06,580 --> 00:43:10,310 Musíme restartovat server. 717 00:43:10,310 --> 00:43:12,340 PHP řemeslník sloužit. 718 00:43:12,340 --> 00:43:15,630 719 00:43:15,630 --> 00:43:18,334 Restart to. 720 00:43:18,334 --> 00:43:19,500 Musíme definovat trasu. 721 00:43:19,500 --> 00:43:25,090 Ale teď, ať to prostě vzít out, takže vlastně můžeme ukázat, 722 00:43:25,090 --> 00:43:28,750 co stránka vypadá, a pak se budeme vlastně vytvořit tuto trasu. 723 00:43:28,750 --> 00:43:29,250 Tak, hej. 724 00:43:29,250 --> 00:43:37,080 Máme tu novou formu tady takže můžeme vytvořit komentáře. 725 00:43:37,080 --> 00:43:39,950 Takže pojďme vlastně definovat Funkce v rámci řízení 726 00:43:39,950 --> 00:43:43,020 abychom mohli přidávat komentáře. 727 00:43:43,020 --> 00:43:43,650 Pojďme se vrátit. 728 00:43:43,650 --> 00:43:48,420 A v blogcontroller.php, to, co budeme dělat 729 00:43:48,420 --> 00:43:51,620 Je-li vytvořit novou funkci volal vytvořit komentář. 730 00:43:51,620 --> 00:43:54,220 731 00:43:54,220 --> 00:43:57,040 >> Veřejná funkce createComment. 732 00:43:57,040 --> 00:44:00,130 To bude mít jediný parametr, ID z míst 733 00:44:00,130 --> 00:44:02,280 že jsme komentovat. 734 00:44:02,280 --> 00:44:04,790 A stejně jako předtím, že jsme bude nejprve získat příspěvek. 735 00:44:04,790 --> 00:44:10,790 Takže psát, findOrfail id. 736 00:44:10,790 --> 00:44:15,020 Poté jdeme vytvořit nový komentář. 737 00:44:15,020 --> 00:44:18,880 Takže komentovat = nový komentář. 738 00:44:18,880 --> 00:44:26,820 Komentovat name = vstup :: dostat jméno. 739 00:44:26,820 --> 00:44:39,420 Obsah Comment = stejný nový řádek do přestávky vstupních :: dostat obsah. 740 00:44:39,420 --> 00:44:43,460 >> A konečně, budeme muset spojovat tento komentář poštou. 741 00:44:43,460 --> 00:44:47,230 Takže budeme používat tato funkce, komentáře, 742 00:44:47,230 --> 00:44:50,260 který nám umožňuje uložit tento vztah. 743 00:44:50,260 --> 00:44:54,780 Takže teď to komentář bude mít automaticky po ID. 744 00:44:54,780 --> 00:44:57,640 Mohli bychom také nastavit ručně, ale to je 745 00:44:57,640 --> 00:45:02,490 snadněji, pokud číst protože funkce jde. 746 00:45:02,490 --> 00:45:05,860 A poté, co jsme hrát to, co chceme dělat 747 00:45:05,860 --> 00:45:10,840 je přesměrovat uživatele na trase určené viewPost 748 00:45:10,840 --> 00:45:16,010 s polem s parametr ID příspěvku. 749 00:45:16,010 --> 00:45:20,360 750 00:45:20,360 --> 00:45:24,660 >> A teď, takže to vlastně funkce, musíme definovat tuto cestu. 751 00:45:24,660 --> 00:45:27,126 Route :: pošta. 752 00:45:27,126 --> 00:45:32,800 A teď budeme nazývat Příspěvek lomítko ID lomítko komentář. 753 00:45:32,800 --> 00:45:36,725 Array používá novou funkci že jsme právě vytvořili. 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 as createComment. 757 00:45:44,770 --> 00:45:47,430 758 00:45:47,430 --> 00:45:50,120 Skvělé. 759 00:45:50,120 --> 00:45:56,150 >> Takže teď doufám, že pokud bychom tuto stránku obnovit a přidat komentář, řekněme, David Malan. 760 00:45:56,150 --> 00:46:00,630 761 00:46:00,630 --> 00:46:03,920 "Doufejme, že to funguje." 762 00:46:03,920 --> 00:46:05,216 Odeslat. 763 00:46:05,216 --> 00:46:09,050 My, ve skutečnosti mají komentář k tomuto blogu. 764 00:46:09,050 --> 00:46:13,760 765 00:46:13,760 --> 00:46:14,260 Super. 766 00:46:14,260 --> 00:46:16,790 767 00:46:16,790 --> 00:46:21,430 Takže teď máme dost funkční blog post. 768 00:46:21,430 --> 00:46:23,180 My jen tak přidejte pár vylepšení, takže 769 00:46:23,180 --> 00:46:29,090 že máme nějaké užitečnější Informace o těchto místech. 770 00:46:29,090 --> 00:46:32,780 >> Takže když se vrátíme do přední strana, nemáme žádný smysl 771 00:46:32,780 --> 00:46:38,790 kolik poznámky jsou Na každém z těchto míst. 772 00:46:38,790 --> 00:46:41,340 Takže to, co jsme vlastně děje udělat, je, v našem modelu, 773 00:46:41,340 --> 00:46:51,250 definovat pomocné funkce, která umožňuje nám zadat počet komentářů 774 00:46:51,250 --> 00:46:53,020 že jít s konkrétní pracovní místo. 775 00:46:53,020 --> 00:46:56,050 Takže budeme vytvářet pomocná funkce. 776 00:46:56,050 --> 00:46:58,020 >> Veřejné funkce. 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 Takže řetězec, který určuje číslo komentářů, které jdou spolu s ním. 780 00:47:07,180 --> 00:47:12,850 A to, co budeme dělat, je říkat že num = počet tento komentář. 781 00:47:12,850 --> 00:47:15,150 Takže budeme počítat počet komentářů. 782 00:47:15,150 --> 00:47:22,900 A pokud toto číslo rovná 1, my jsme právě chystá k návratu 1 komentář. 783 00:47:22,900 --> 00:47:28,890 A pak jinak, chceme se vrátit zřetězení num a připomínky, 784 00:47:28,890 --> 00:47:31,890 tak jsme si pluralizace správné. 785 00:47:31,890 --> 00:47:33,380 Jen, aby to jeden citát. 786 00:47:33,380 --> 00:47:36,040 787 00:47:36,040 --> 00:47:37,640 One comment. 788 00:47:37,640 --> 00:47:41,140 >> A teď můžeme použít tuto funkci přímo uvnitř našeho pohledu. 789 00:47:41,140 --> 00:47:44,510 Takže když se vrátíme do dílčí příspěvky, které jsme vytvořili, 790 00:47:44,510 --> 00:47:49,370 Nyní chceme, aby skutečně zobrazí počet komentářů. 791 00:47:49,370 --> 00:47:52,660 Takže to, co můžeme udělat, je pošta, použijte tuto funkci 792 00:47:52,660 --> 00:47:57,230 že jsme právě vytvořen zobrazí počet komentářů. 793 00:47:57,230 --> 00:48:00,440 Takže pokud nyní aktualizovat, to dělá, ve skutečnosti, displej 794 00:48:00,440 --> 00:48:02,240 číselná komentáře že jít spolu s ním. 795 00:48:02,240 --> 00:48:05,320 >> Pokud bychom chtěli být fantazie, pokud vás ve skutečnosti se podívat na distribučním kód, 796 00:48:05,320 --> 00:48:07,800 skutečně můžeme propojit to do komentářů. 797 00:48:07,800 --> 00:48:17,040 Pokud si vzpomínáte, jsme definovali v rámci názor, že to má část ID připomínky. 798 00:48:17,040 --> 00:48:22,460 Takže pokud bychom skutečně chtěli propojit přímo v komentářích, co 799 00:48:22,460 --> 00:48:36,000 budeme dělat tady je a href URL trasy viewPost. 800 00:48:36,000 --> 00:48:40,550 Předat v poli ID post ID. 801 00:48:40,550 --> 00:48:46,140 A pak chceme jít do konkrétně část komentáře. 802 00:48:46,140 --> 00:48:49,900 >> Tady pojďme uzavřít tag. 803 00:48:49,900 --> 00:48:52,950 Takže teď když jsme obnovit tento strana, klikneme na toto téma. 804 00:48:52,950 --> 00:48:54,700 Půjdeme přímo do část komentáře. 805 00:48:54,700 --> 00:48:57,580 Pokud bychom měli delší příspěvek, můžete skutečně vidět tento odrazit dolů. 806 00:48:57,580 --> 00:49:02,668 Ale všimněte si, že je to není v horní části stránky. 807 00:49:02,668 --> 00:49:04,090 Super. 808 00:49:04,090 --> 00:49:04,600 Skvělé. 809 00:49:04,600 --> 00:49:08,582 Takže je to docela jednoduché příklad něčeho jednoduchého 810 00:49:08,582 --> 00:49:09,790 že můžete dělat s Laravel. 811 00:49:09,790 --> 00:49:13,230 >> Ale můžete si všimnout, že zde Udělali jsme spoustu věcí 812 00:49:13,230 --> 00:49:16,200 s poměrně malým množstvím kódu. 813 00:49:16,200 --> 00:49:19,420 Laravel nám umožňuje dělat SQL dotazy v zákulisí. 814 00:49:19,420 --> 00:49:21,960 To dělá kanalizace Pro nás v zákulisí. 815 00:49:21,960 --> 00:49:25,940 Nám umožňuje tyto vztahy velmi snadno, aniž bychom museli 816 00:49:25,940 --> 00:49:33,350 dělat žádné SQL připojit prohlášení na kombinovat komentáře s tím, co příspěvky. 817 00:49:33,350 --> 00:49:36,480 Umožňuje nám to udělat dědičnost šablon 818 00:49:36,480 --> 00:49:43,780 takže můžeme definovat tyto hnízdění souborů, takže nejsme opakování sami, 819 00:49:43,780 --> 00:49:47,020 stejně jako když jsme měli, že zobrazení z blogu 820 00:49:47,020 --> 00:49:50,770 že nemusíme zkopírovat a vložit kód. 821 00:49:50,770 --> 00:49:55,450 >> A zde si můžete vytvořit stále složitější aplikace. 822 00:49:55,450 --> 00:49:58,370 Dovedete si představit, kdybychom chtěl realizovat log-in, 823 00:49:58,370 --> 00:50:05,532 Dalo by se říci, přinést třetí osobě rámec, který nám umožňuje dělat to. 824 00:50:05,532 --> 00:50:07,490 Je tu parta z nich že jsou opravdu, ale opravdu 825 00:50:07,490 --> 00:50:09,970 skvělé, že se mi líbí, obnovení hesla. 826 00:50:09,970 --> 00:50:14,450 A to vám pošleme reset hesla e-mail. 827 00:50:14,450 --> 00:50:18,260 Můžeme realizovat oprávnění takže můžu vytvořit příspěvek, 828 00:50:18,260 --> 00:50:20,350 ale někdo jiný nemůže upravovat. 829 00:50:20,350 --> 00:50:24,610 Můžeme realizovat Funkce smazat příspěvky. 830 00:50:24,610 --> 00:50:28,160 >> Ale můžete prohlédnout zde, že máme dost moc všechny primitivní komponenty 831 00:50:28,160 --> 00:50:31,640 stavět nějaké opravdu, ale opravdu, dynamické a vzrušující webových aplikací. 832 00:50:31,640 --> 00:50:34,035 Takže s tím, myslím, že jsme dobří. 833 00:50:34,035 --> 00:50:35,720 Myslíte si kluci nějaké otázky? 834 00:50:35,720 --> 00:50:36,220 Ano? 835 00:50:36,220 --> 00:50:38,090 >> SPEAKER 3: Jak se vám dostat se statický obsah? 836 00:50:38,090 --> 00:50:39,256 >> ERIC Ouyang: Statický obsah. 837 00:50:39,256 --> 00:50:45,520 Takže jsi neviděl, že když jsme měli Toto právo je zde, tento obsah uspořádání, 838 00:50:45,520 --> 00:50:49,625 pohled make jsme měli to bez tohoto pole poté. 839 00:50:49,625 --> 00:50:56,440 840 00:50:56,440 --> 00:50:59,152 Blog.index, měli jsme to jen jako statické souboru. 841 00:50:59,152 --> 00:51:00,860 Takže když neprojdou něco podél ní, 842 00:51:00,860 --> 00:51:03,340 Bude to jen vykreslit HTML přímo. 843 00:51:03,340 --> 00:51:09,240 Ale když jsme se projít v tomto asociativní řada pracovních míst, která je dynamicky 844 00:51:09,240 --> 00:51:12,950 vytáhl z databáze, my může strana dynamický. 845 00:51:12,950 --> 00:51:13,450 Super. 846 00:51:13,450 --> 00:51:14,830 Nějaké další otázky? 847 00:51:14,830 --> 00:51:16,786 848 00:51:16,786 --> 00:51:19,720 SPEAKER 3: Jak byste porovnal Laravel se možná některé další možnosti? 849 00:51:19,720 --> 00:51:20,525 ERIC Ouyang: Jistě. 850 00:51:20,525 --> 00:51:21,025 Jo. 851 00:51:21,025 --> 00:51:23,430 Tak Laravel je-- to je velký question-- 852 00:51:23,430 --> 00:51:26,190 jedna z mnoha možností webových frameworků. 853 00:51:26,190 --> 00:51:31,160 Takže Ruby on Rails, je ten, který je populární. 854 00:51:31,160 --> 00:51:34,590 Věřím, že Twitter býval implementovány s Ruby on Rails. 855 00:51:34,590 --> 00:51:37,600 Myslím, že jsem od té doby zapnutí. 856 00:51:37,600 --> 00:51:40,780 Je tu ještě jeden s názvem FuelPHP. 857 00:51:40,780 --> 00:51:46,120 >> Takže Ruby on Rails používá jazyk Ruby a realizuje mnoho MVC věci 858 00:51:46,120 --> 00:51:48,200 že zde vidíme. 859 00:51:48,200 --> 00:51:52,320 FuelPHP je další rámec PHP. 860 00:51:52,320 --> 00:51:54,490 Django je jedna z mých oblíbených. 861 00:51:54,490 --> 00:51:57,010 Je to web rámec pro Python. 862 00:51:57,010 --> 00:52:01,270 Takže si můžete napsat svůj webovou aplikaci v Pythonu. 863 00:52:01,270 --> 00:52:03,760 Takže tam je tuna z těchto možností. 864 00:52:03,760 --> 00:52:06,170 >> Laravel, myslím, že tím, že a velký je můj oblíbený pravdu 865 00:52:06,170 --> 00:52:08,232 Nyní pro PHP jen proto, že komponent 866 00:52:08,232 --> 00:52:09,440 že jsme si povídali o tom dříve. 867 00:52:09,440 --> 00:52:11,910 Je to Composer povolena. 868 00:52:11,910 --> 00:52:15,750 Obsahuje opravdu, ale opravdu expresivní ORM systém. 869 00:52:15,750 --> 00:52:18,800 Také má opravdu úžasné šablonovacího jazyk, že některé z ostatních 870 00:52:18,800 --> 00:52:20,630 prostě neposkytují. 871 00:52:20,630 --> 00:52:21,400 A migrace. 872 00:52:21,400 --> 00:52:23,432 Migrace jsou úžasné stejně. 873 00:52:23,432 --> 00:52:24,860 Pohodě? 874 00:52:24,860 --> 00:52:25,390 Děsivý. 875 00:52:25,390 --> 00:52:27,560 No, díky moc za sledování tohoto semináře, 876 00:52:27,560 --> 00:52:30,650 a hodně štěstí na vašich závěrečných prací. 877 00:52:30,650 --> 00:52:31,616