1 00:00:00,000 --> 00:00:02,150 >> [Seminář] [Kohana: Lehká PHP Framework] 2 00:00:02,150 --> 00:00:04,000 [Brandon Liu] [Harvard University] 3 00:00:04,000 --> 00:00:07,270 [To je CS50.] [CS50.TV] 4 00:00:07,270 --> 00:00:09,130 >> Ahoj všichni. Mé jméno je Brandon. 5 00:00:09,130 --> 00:00:11,000 Jsem junior zde na vysoké škole dělat informatiky, a dnes budeme mluvit o tom, 6 00:00:11,000 --> 00:00:14,460 Kohana, což je framework pro vývoj webových PHP. 7 00:00:14,460 --> 00:00:17,260 Dnes se bude žít kódování seminář, 8 00:00:17,260 --> 00:00:21,000 tak jsem v podstatě trávit 5-10 minut vysvětlovat, co Kohana je, 9 00:00:21,000 --> 00:00:25,000 a pak jsem doslova stavět super jednoduchý blog 10 00:00:25,000 --> 00:00:28,570 pro vás tady doslova od nuly. 11 00:00:28,570 --> 00:00:32,229 Chystáme se stáhnout kód z webových stránek Kohana, 12 00:00:32,229 --> 00:00:35,000 a budeme se začít stavět blog, a doufejme, že to bude velmi poučné, 13 00:00:35,000 --> 00:00:37,000 protože budete vidět snad možná budu dělat nějaké chyby, 14 00:00:37,000 --> 00:00:39,000 a uvidíte mě dostat z nich, 15 00:00:39,000 --> 00:00:42,040 nebo uvidíte můj myšlenkový proces, jak jsem stavět prostřednictvím tohoto blogu, 16 00:00:42,040 --> 00:00:44,000 a mezitím, budete také seznámit s rámcem sám. 17 00:00:44,000 --> 00:00:48,000 Doufejme, že to bude velmi poučné cvičení. 18 00:00:48,000 --> 00:00:51,370 >> Za prvé, co přesně je rámec? 19 00:00:51,370 --> 00:00:54,000 Pokud jste byli s CS50 tak daleko, jste opravdu pracoval s některou 20 00:00:54,000 --> 00:00:56,000 Zatím rámce, a to je to. 21 00:00:56,000 --> 00:01:00,000 Vy jste asi udělal jeden vývoj webových pset již, 22 00:01:00,000 --> 00:01:03,000 a řekněme, že budete i nadále vytvářet webové stránky a udržet vytváření webových stránek. 23 00:01:03,000 --> 00:01:05,000 Začnete všímat pár věcí. 24 00:01:05,000 --> 00:01:07,000 První věc, které si všimnete, je, že jste pravděpodobně dělat stejné věci 25 00:01:07,000 --> 00:01:09,150 znovu a znovu po celou dobu, 26 00:01:09,150 --> 00:01:13,000 věci, jako je čištění uživatelských vstupních dat, 27 00:01:13,000 --> 00:01:17,250 věci, jako je organizování souborů určitým způsobem. 28 00:01:17,250 --> 00:01:19,000 Další věc, kterou budete také pravděpodobně všimnete, je, že váš kód 29 00:01:19,000 --> 00:01:21,000 může začít být velmi, velmi chaotický, 30 00:01:21,000 --> 00:01:24,000 a můžete nechat chaotický a jen velmi těžké ji udržet, 31 00:01:24,000 --> 00:01:26,000 nebo můžete začít strukturovat svůj kód a dělat to modulární 32 00:01:26,000 --> 00:01:28,510 v některých způsobech, jak se to lépe spravovatelný. 33 00:01:28,510 --> 00:01:31,020 >> To je místo, kde webových rámců v podstatě přišel dovnitř 34 00:01:31,020 --> 00:01:33,680 Tito lidé, kteří se postavili spoustu webových stránek, řekli, 35 00:01:33,680 --> 00:01:35,820 "Nepotřebujeme, aby znovu to pokaždé jsme se vytvořit webové stránky." 36 00:01:35,820 --> 00:01:39,050 "Proč jsme jen udělat balíček, který dělá všechny tyto věci za vás 37 00:01:39,050 --> 00:01:41,250 každý, když chcete vytvořit webové stránky? " 38 00:01:41,250 --> 00:01:43,030 A tak, že když uděláte nové webové stránky, 39 00:01:43,030 --> 00:01:45,880 můžete soustředit jen na to, co přesně tento konkrétní webové stránky je asi. 40 00:01:45,880 --> 00:01:48,630 Nemusíte opakovat všechny různé konfigurace 41 00:01:48,630 --> 00:01:53,070 a separace kódů a přepisování kódu 42 00:01:53,070 --> 00:01:56,180 že budete často muset udělat, když jste dělat webové stránky. 43 00:01:56,180 --> 00:01:59,410 Myšlenka je, že rámec umožňuje napsat kód na vyšší úroveň 44 00:01:59,410 --> 00:02:01,030 aniž by se museli starat o podrobnosti na nižší úrovni. 45 00:02:01,030 --> 00:02:03,670 Detail nižší úrovni by mohlo být něco jako 46 00:02:03,670 --> 00:02:07,250 zabývající se čištěním uživatelských vstupních dat. 47 00:02:07,250 --> 00:02:09,320 To je něco, co byste měli opravdu obávat. 48 00:02:09,320 --> 00:02:12,370 Ty by se měly zaměřit na to, co vaše webové rozdělení je vlastně o. 49 00:02:12,370 --> 00:02:14,790 To eliminuje hodně často používaný kód. 50 00:02:14,790 --> 00:02:16,640 Je to architektura pro váš projekt. 51 00:02:16,640 --> 00:02:18,680 >> Nejpopulárnější z nich bude Model-View-Controller, 52 00:02:18,680 --> 00:02:20,380 které budu mluvit o tom, ve vteřině. 53 00:02:20,380 --> 00:02:22,790 A mnohokrát se tyto rámce ztělesňují soubor postupů, 54 00:02:22,790 --> 00:02:25,750 pravidel a osvědčených postupů pro vás k použití 55 00:02:25,750 --> 00:02:28,190 tak, že když přijme web rámec 56 00:02:28,190 --> 00:02:30,050 musíte napsat kód v určitým způsobem, 57 00:02:30,050 --> 00:02:32,430 a to je obecně dohodnuté souboru zásad 58 00:02:32,430 --> 00:02:34,290 komunitou, která je všeobecně přijímaný být 59 00:02:34,290 --> 00:02:36,230 dobrý způsob psaní kódu. 60 00:02:36,230 --> 00:02:38,260 To je váš kód lépe spravovatelný, více použitelné, 61 00:02:38,260 --> 00:02:40,030 a tak dále a tak dále. 62 00:02:40,030 --> 00:02:42,740 A konečně, co chci zdůraznit, o rámcích 63 00:02:42,740 --> 00:02:45,980 proti knihoven je tato představa o opaku kontroly, a to je to. 64 00:02:45,980 --> 00:02:48,430 Rozdíl mezi knihovnou a rámce je, že s knihovnou 65 00:02:48,430 --> 00:02:51,990 jste stále psát hlavní program, 66 00:02:51,990 --> 00:02:54,460 a jste trochu vyvolání knihovnu 67 00:02:54,460 --> 00:02:56,810 a vyzvala knihovny udělat něco pro vás. 68 00:02:56,810 --> 00:02:58,180 Rozdíl mezi knihovnou a rámcem 69 00:02:58,180 --> 00:03:01,620 je, že rámec začíná s kontrolou, 70 00:03:01,620 --> 00:03:03,260 a to vyvolá svůj kód, 71 00:03:03,260 --> 00:03:06,190 takže si můžete myslet na to, jak - to je důvod, proč se to jmenuje rámec - 72 00:03:06,190 --> 00:03:09,700 rámec stanoví tento rámec a strukturu kódu, 73 00:03:09,700 --> 00:03:11,320 a vyplnění děr, 74 00:03:11,320 --> 00:03:13,990 a to bude zřejmější v druhém 75 00:03:13,990 --> 00:03:16,670 když vidíte, abych začal psát kód v kontextu rámce. 76 00:03:16,670 --> 00:03:19,130 Uvidíte, že jsem vyplňování mezer, 77 00:03:19,130 --> 00:03:22,450 a rámec je druh řízení všechny pohyblivé díly, 78 00:03:22,450 --> 00:03:27,420 a musím dát kousky na správných místech. 79 00:03:27,420 --> 00:03:29,360 >> Dnes budeme mluvit o Kohana, 80 00:03:29,360 --> 00:03:31,610 , který je jedním z mnoha PHP rámců. 81 00:03:31,610 --> 00:03:34,550 Existují webové rámce, a tam jsou ty prakticky v každém jazyce, 82 00:03:34,550 --> 00:03:38,330 a zachytil jsem Kohana Kohana, protože je pravděpodobně 83 00:03:38,330 --> 00:03:43,250 a obecně uznáván jako nejjednodušší PHP rámce vyzvednout. 84 00:03:43,250 --> 00:03:45,940 Je to nejlehčí. 85 00:03:45,940 --> 00:03:48,470 Existují i ​​jiné ty, které tam přicházejí s mnoha, mnoha dalšími funkcemi, 86 00:03:48,470 --> 00:03:51,590 ale oni inklinují být těžší vyzvednout. 87 00:03:51,590 --> 00:03:54,920 A konečně, Kohana používá architekturu MVC. 88 00:03:54,920 --> 00:03:57,780 Je to dost lehký, že můžeme doslova postavit projekt 89 00:03:57,780 --> 00:03:59,620 tady přímo před vašima očima, a můžete do značné míry 90 00:03:59,620 --> 00:04:02,780 sledovat spolu docela snadno. 91 00:04:02,780 --> 00:04:04,420 >> Co je architektura MVC? 92 00:04:04,420 --> 00:04:06,540 To je zkratka pro Model-View-Controller, 93 00:04:06,540 --> 00:04:09,560 a možná, pokud si myslíte, že o kód, který jsem psal tak daleko 94 00:04:09,560 --> 00:04:11,280 pro některé z vašich vývoj webových aplikací psets 95 00:04:11,280 --> 00:04:14,710 budete mít možnost vidět něco z toho, ale obvykle, když začnete psát 96 00:04:14,710 --> 00:04:16,500 složitější webové aplikace, 97 00:04:16,500 --> 00:04:21,209 rozdíl mezi těmito 3 segmenty se stává více a více zřejmé. 98 00:04:21,209 --> 00:04:26,740 Položil jsem se na MVC tady trochu jako zásobník, 99 00:04:26,740 --> 00:04:29,920 a často uslyšíte lidé mluví o komíny při vývoji webových aplikací, 100 00:04:29,920 --> 00:04:33,760 a to je pro ilustraci myšlenku, že 101 00:04:33,760 --> 00:04:37,510 každá vrstva, každá složka ve skutečnosti se snaží komunikovat pouze 102 00:04:37,510 --> 00:04:40,750 mezi 2 další komponenty. 103 00:04:40,750 --> 00:04:44,550 Někdo přistupuje vaše webové stránky jako klient nebo prohlížeči. 104 00:04:44,550 --> 00:04:48,870 Jsou vzájemně s programem přes zobrazení kódu. 105 00:04:48,870 --> 00:04:50,500 Pohled kód interaguje s regulátorem. 106 00:04:50,500 --> 00:04:52,400 Regulátor interaguje s modelem, 107 00:04:52,400 --> 00:04:55,090 a model komunikuje s SQL databází. 108 00:04:55,090 --> 00:04:59,670 A není tam žádný poskakování mezi pokud nám napíšete váš kód správně. 109 00:04:59,670 --> 00:05:01,670 >> Co tyto věci dělat? 110 00:05:01,670 --> 00:05:06,020 Tento model je v podstatě kus kódu, který se zabývá daty. 111 00:05:06,020 --> 00:05:09,100 Cokoliv, co se zabývá databázi, s objekty, které uchovávají, 112 00:05:09,100 --> 00:05:11,280 nebo získávání těchto objektů v databázi, 113 00:05:11,280 --> 00:05:13,450 že to všechno ovládal model. 114 00:05:13,450 --> 00:05:15,290 Možná máte objekty v databázi. 115 00:05:15,290 --> 00:05:17,700 Chystáme se vytvořit model, který má co do činění s příspěvky, 116 00:05:17,700 --> 00:05:19,760 takže příspěvek může mít některé atributy k němu. 117 00:05:19,760 --> 00:05:23,900 Můžete mít funkce kolem ukládání těchto příspěvků nebo načítání příspěvky 118 00:05:23,900 --> 00:05:26,270 nebo filtrování příspěvků a tak dále a tak dále, 119 00:05:26,270 --> 00:05:28,880 a to je vše, kód, který je ovládal model. 120 00:05:28,880 --> 00:05:31,780 Regulátor je druh logiky aplikace, 121 00:05:31,780 --> 00:05:37,910 a mnoho různých věcí, může jít v aplikační logiky. 122 00:05:37,910 --> 00:05:39,790 Pokud mluvíte do jiné API, 123 00:05:39,790 --> 00:05:42,310 které mohou být tam, kde máte co do činění s aplikační logiky. 124 00:05:42,310 --> 00:05:47,990 Pokud se snažíte muset přinést data z několika různých modelů 125 00:05:47,990 --> 00:05:51,540 a musí je spojit nějakým způsobem, že často mohou být řešeny prostřednictvím regulátoru. 126 00:05:51,540 --> 00:05:53,820 Například na Facebooku, pokud jste přítel někoho, 127 00:05:53,820 --> 00:05:58,500 pak snad, že akt, kterým se stanoví, že vztah 128 00:05:58,500 --> 00:06:00,490 může být provedeno pomocí regulátoru. 129 00:06:00,490 --> 00:06:04,350 >> A konečně, názor je kód, který se vytváří to, co je skutečně vidět. 130 00:06:04,350 --> 00:06:07,410 Mnohokrát jsem si, že v CS50 psets 131 00:06:07,410 --> 00:06:10,050 nemají vás opravdu povzbudit lidi, aby oddělit tyto tři věci. 132 00:06:10,050 --> 00:06:12,430 Pravděpodobně budete-li mít tento velký, dlouhý soubor na vrcholu 133 00:06:12,430 --> 00:06:15,130 uděláte nějaký SQL dotaz a možná dělat nějaké zpracování 134 00:06:15,130 --> 00:06:17,020 Na základě údajů, můžete načíst z databáze, 135 00:06:17,020 --> 00:06:19,370 a pak budete mít všechny své HTML v dolní části. 136 00:06:19,370 --> 00:06:22,840 A možná zjistíte, že jak si vytvořit více a více stránek 137 00:06:22,840 --> 00:06:25,790 že budete mít nějaký kód opakování, a také, 138 00:06:25,790 --> 00:06:29,600 to je váš soubor dostane opravdu velký a dlouhý 139 00:06:29,600 --> 00:06:32,370 a stává se nemotorný spravovat. 140 00:06:32,370 --> 00:06:34,500 Důvodem, proč je tak dobře MVC považovat 141 00:06:34,500 --> 00:06:36,120 je z mnoha důvodů. 142 00:06:36,120 --> 00:06:38,110 První věc je něco jako oddělení se týká 143 00:06:38,110 --> 00:06:40,370 což je myšlenka, že když máte - 144 00:06:40,370 --> 00:06:43,520 v ideálním případě 1 kus kódu by měly udělat 1 věc, a to opravdu dobře, 145 00:06:43,520 --> 00:06:47,210 a vy byste neměli kombinovat kusy kódu, které dělají rozdílné věci. 146 00:06:47,210 --> 00:06:49,230 Například, zobrazení kódu a kód modelu, 147 00:06:49,230 --> 00:06:51,040 oni opravdu nemají být příbuzný. 148 00:06:51,040 --> 00:06:53,290 Nemají být ve stejné soubory, takže pokud je to možné, oddělit se 149 00:06:53,290 --> 00:06:55,300 takže je snadné udržovat. 150 00:06:55,300 --> 00:06:57,130 >> Další věc je opětovné použití kódu. 151 00:06:57,130 --> 00:06:59,770 Můžete najít sami psát stejný dotaz SQL nebo dělat 152 00:06:59,770 --> 00:07:03,060 podobné dotazy, které by mohly být odstraněn do 1 funkce, 153 00:07:03,060 --> 00:07:05,440 a to je myšlenka modelů a regulátory, 154 00:07:05,440 --> 00:07:09,690 mají ji v samostatné funkce, které lze znovu použít na různých místech ve vašem projektu. 155 00:07:09,690 --> 00:07:12,420 A konečně, že je vázána na sušení kódu, 156 00:07:12,420 --> 00:07:14,700 nebo neopakovat se, neopakují se. 157 00:07:14,700 --> 00:07:18,090 To je velmi srozumitelný ve vývoji. 158 00:07:18,090 --> 00:07:20,110 Kdykoli je to možné, nechcete opakovat sám sebe, protože pokud opakovat sami, 159 00:07:20,760 --> 00:07:23,400  je to mnohem dražší na údržbu. 160 00:07:23,400 --> 00:07:26,040 Chcete-li změnit 1 věc, budete muset všude změnit, 161 00:07:26,040 --> 00:07:30,230 a to vede k chybám, a je to hrozné. 162 00:07:30,230 --> 00:07:32,010 >> Pořádku. 163 00:07:32,010 --> 00:07:37,270 Jakékoliv dotazy zatím asi Kohana vůbec? 164 00:07:37,270 --> 00:07:39,200 Skvělé. 165 00:07:39,200 --> 00:07:42,300 Teď jdeme do toho ponořit do živého kódování zasedání, 166 00:07:42,300 --> 00:07:48,050 a doufejme, že vše dobře dopadne. 167 00:07:57,200 --> 00:08:00,050 Chystám se v podstatě vytvořit tento web 168 00:08:00,050 --> 00:08:03,910 na jednom z mých vzdálených serverech, a tímto způsobem vy můžete také 169 00:08:03,910 --> 00:08:06,310 naleznete na webové stránce a přístup na webové stránky, 170 00:08:06,310 --> 00:08:10,990 a také životní prostředí je nastavován lépe než můj vzdáleném počítači, 171 00:08:10,990 --> 00:08:14,580 protože je to s operačním systémem Linux místo OS X. 172 00:08:14,580 --> 00:08:16,260 Jsme doslova začnou. 173 00:08:16,260 --> 00:08:18,110 KohanaFramework.org. 174 00:08:18,110 --> 00:08:21,350 Jdu stáhnout kód na internetových stránkách. 175 00:08:21,350 --> 00:08:24,610 Budu kopírovat adresu odkazu, 176 00:08:24,610 --> 00:08:29,770 jít na můj server, stáhnout, 177 00:08:29,770 --> 00:08:33,000 a já jdu na to extrahovat. 178 00:08:38,330 --> 00:08:45,710 >> [Student] Co je největší můžete udělat text? 179 00:08:45,710 --> 00:08:47,330 [Brandon Liu] Je to lepší? 180 00:08:47,330 --> 00:08:50,070 [Student] Je to proveditelné? >> [Brandon Liu] Jo, to je v pořádku. 181 00:08:50,070 --> 00:08:54,500 Stáhnul jsem si soubor ZIP a rozepnul, že do adresáře s názvem Kohana, 182 00:08:54,500 --> 00:08:58,820 a budeme přejmenovávat, že CS50-Kohana, 183 00:08:58,820 --> 00:09:01,140 a pojďme dovnitř 184 00:09:01,140 --> 00:09:03,610 Úžasné. 185 00:09:03,610 --> 00:09:06,870 Zde můžete vidět spoustu různých souborů. 186 00:09:06,870 --> 00:09:10,140 Většina z vás může ignorovat - Nejsme jít přes každý soubor, který je v zde 187 00:09:10,140 --> 00:09:13,130 kvůli našim časovým omezením, 188 00:09:13,130 --> 00:09:16,310 ale obecně při instalaci Kohana, první věc, kterou udělat 189 00:09:16,310 --> 00:09:23,210 je jít do adresáře, 190 00:09:23,210 --> 00:09:26,050 a budete v podstatě udělat nějaké testy prostředí a kdoví co ještě 191 00:09:26,050 --> 00:09:28,640 zajistit, aby vaše prostředí je správně nastaven pro spuštění Kohana 192 00:09:28,640 --> 00:09:31,450 a ujistěte se, že je vše v pořádku. 193 00:09:31,450 --> 00:09:35,510 Můžete vidět, většina věcí prošel, ale obecně vždy narazíte na tento problém 1 194 00:09:35,510 --> 00:09:38,180 kde si stěžuje, že některé složky nelze zapisovat, 195 00:09:38,180 --> 00:09:40,410 a to proto, že z některých oprávnění. 196 00:09:40,410 --> 00:09:43,080 Nevím, kolik vy jste se dozvěděli o oprávnění k souborům v CS50, 197 00:09:43,080 --> 00:09:47,920 ale pokud to vývoj webových aplikací, budete spouštět do této problematiky mnoho. 198 00:09:47,920 --> 00:09:58,340 Budu dělat, že zápis 199 00:09:58,340 --> 00:10:03,390 a myslím, že i já musím - tam jdeme. 200 00:10:03,390 --> 00:10:07,040 >> Dobře, takže teď můžete vidět všechno prošel, 201 00:10:07,040 --> 00:10:10,000 a teď to vám řekne, přejmenovat soubor install.php. 202 00:10:10,000 --> 00:10:15,630 Jdu se přesunout soubor install.php na installed.php, 203 00:10:15,630 --> 00:10:19,610 a teď když jsem aktualizovat, 204 00:10:19,610 --> 00:10:22,810 to mi dává nějakou chybu, a to je místo, kde ladění vypovídací 205 00:10:22,810 --> 00:10:25,610 To je místo, kde můžete zjistit, co se vlastně bude dít. 206 00:10:25,610 --> 00:10:28,460 To je tím, že ve výchozím nastavení, Kohana předpokládá, že 207 00:10:28,460 --> 00:10:31,480 Váš projekt je v kořenovém adresáři domény, 208 00:10:31,480 --> 00:10:35,920 tak to je očekával, abyste se na demo.brandonkliu.com. 209 00:10:35,920 --> 00:10:37,540 Musíme říct, že, že je to vlastně v podsložce. 210 00:10:37,540 --> 00:10:39,820 Je to v podsložce nazvané CS50 Kohana. 211 00:10:39,820 --> 00:10:42,640 Jde o to, že to interpretací CS50-Kohana 212 00:10:42,640 --> 00:10:45,680 jako něco jiného, ​​což jsem si vysvětlit, aby vás ve vteřině. 213 00:10:45,680 --> 00:10:49,910 Ale měl bych vám říct, že je to něco, co je třeba očekávat. 214 00:10:49,910 --> 00:10:53,700 Co budeme dělat, je, že se chystáte jít do této složky s názvem bootstrap.php, 215 00:10:53,700 --> 00:10:59,260 což je složka konfigurace, kde mnoho různých věcí, jsou nastaveny. 216 00:10:59,260 --> 00:11:01,570 Otevřel jsem, že až. 217 00:11:01,570 --> 00:11:09,790 Pak možná jedna z prvních věcí, které jsem si udělat, je změnit časové pásmo. 218 00:11:09,790 --> 00:11:13,910 >> A pak uvidíme. 219 00:11:13,910 --> 00:11:15,180 Aha! Přímo tady. 220 00:11:15,180 --> 00:11:18,690 Existuje spousta různých konfiguračních rčení sem, 221 00:11:18,690 --> 00:11:21,700 ale ten Hledám je to, co nazývá base URL, 222 00:11:21,700 --> 00:11:24,570 a ve výchozím nastavení jsem si to nastavit na Kohana, 223 00:11:24,570 --> 00:11:29,020 ale budu se změnit na CS50-Kohana, 224 00:11:29,020 --> 00:11:32,880 a myslím, že by se to opravit. 225 00:11:32,880 --> 00:11:34,150 Ano, ideální. 226 00:11:34,150 --> 00:11:39,530 Ve výchozím nastavení je vidět, že to funguje, říká, "Hello World". 227 00:11:39,530 --> 00:11:42,930 Kde se to vzalo? Jak jsme se dostali k Hello World? 228 00:11:42,930 --> 00:11:47,640 Kde přesně je kód, který vlastně napsal, že? 229 00:11:47,640 --> 00:11:50,240 Abychom pochopili, že budu představit tento koncept nazvaný směrování. 230 00:11:50,240 --> 00:11:52,590 Skoro všechny webové rámce mají koncept nazvaný směrování, 231 00:11:52,590 --> 00:11:57,230 což je kus softwaru, který bude mapovat určité URL 232 00:11:57,230 --> 00:12:01,550 na určité části kódu v rámci svého rámce. 233 00:12:01,550 --> 00:12:07,510 Například, pokud máte nějaké URL a můžete jít do nějaké URL, jako foo.com / blog / all 234 00:12:07,510 --> 00:12:11,170 poté, co rámec bude dělat - nebo alespoň to, co Kohana se bude dělat - 235 00:12:11,170 --> 00:12:15,540 je, že to bude najít třídu nazvanou regulátor blog, 236 00:12:15,540 --> 00:12:18,720 a je to chystá spustit funkce jmenoval akci všechny. 237 00:12:18,720 --> 00:12:20,160 Vím, o čem mluvím třídy a funkce, 238 00:12:20,160 --> 00:12:23,860 a vím, že vy se nevztahuje třídy a funkce 239 00:12:23,860 --> 00:12:26,470 v ještě CS50, ale teď, 240 00:12:26,470 --> 00:12:29,800 si můžete myslet tříd jen jako skupinu funkcí, 241 00:12:29,800 --> 00:12:32,900 způsob seskupování funkcí dohromady. 242 00:12:32,900 --> 00:12:37,690 To je opravdu vše, co potřebujete vědět. 243 00:12:37,690 --> 00:12:43,120 >> Nyní, když se podíváme na naši strukturu složek, 244 00:12:43,120 --> 00:12:47,110 uvnitř složky aplikace je další složka s názvem třídy, 245 00:12:47,110 --> 00:12:49,200 a ostatní složky se nazývají Controller a Model. 246 00:12:49,200 --> 00:12:52,530 Podíváte-li se uvnitř adresáře Controller, 247 00:12:52,530 --> 00:12:56,330 vidíme, že tam je soubor s názvem Welcome, 248 00:12:56,330 --> 00:13:00,370 a vidíte, tady je třída nazývaná Controller Vítejte, 249 00:13:00,370 --> 00:13:02,340 a tam je funkce s názvem Action Index, 250 00:13:02,340 --> 00:13:06,360 a to, co dělá, je, že nastaví tělo Vaši odpověď na Hello World. 251 00:13:06,360 --> 00:13:08,730 To je místo, kde se tento kód napsán. 252 00:13:08,730 --> 00:13:11,610 Další otázkou je, dobře, jsem nešel do 253 00:13:11,610 --> 00:13:13,680 bla, bla, bla, / welcome / index. 254 00:13:13,680 --> 00:13:16,250 Jak jsem skončil tady? 255 00:13:16,250 --> 00:13:20,410 No, to je prostě proto, že 256 00:13:20,410 --> 00:13:22,410 zde v dolní části našeho bootstrap souboru 257 00:13:22,410 --> 00:13:24,550 kde jsme si stanovili naše trasy 258 00:13:24,550 --> 00:13:26,570 můžete vidět, že nastavit některé výchozí hodnoty pro vás. 259 00:13:26,570 --> 00:13:28,990 Výchozí ovladač je vítaná. Výchozí akce index. 260 00:13:28,990 --> 00:13:31,600 To je důvod, proč, když jsme dali nic tam automaticky šel na úvodní regulátoru 261 00:13:31,600 --> 00:13:33,940 a index akce. 262 00:13:33,940 --> 00:13:37,460 Vše, co >> dělat tak daleko smysl? 263 00:13:37,460 --> 00:13:40,850 Nyní si můžete udělat víc, než jen jít do regulátoru 264 00:13:40,850 --> 00:13:43,670 a konkrétní opatření. 265 00:13:43,670 --> 00:13:48,480 Můžete také předat parametry regulátoru. 266 00:13:48,480 --> 00:13:56,390 Jen jako příklad, 267 00:13:56,390 --> 00:14:04,070 Chystám se přidat další akci na tento řadič ukázat. 268 00:14:04,070 --> 00:14:09,130 Říkejme tuto akci Echo, protože to bude říkat, co to dá, 269 00:14:09,130 --> 00:14:17,510 a tak jsem v podstatě jít chytit 270 00:14:17,510 --> 00:14:20,960 parametr, který se bude poslán skrze mne do programu směrování, 271 00:14:20,960 --> 00:14:24,440 a jak můžete vidět zde, 272 00:14:24,440 --> 00:14:28,440 tento řádek tady, vidíte, že 273 00:14:28,440 --> 00:14:31,270 to v podstatě znamená, že máte řadič a máte /, 274 00:14:31,270 --> 00:14:33,480 a budete mít akci a máte další /, 275 00:14:33,480 --> 00:14:39,140 a že to bude parametry, a proto máme tento název ID 276 00:14:39,140 --> 00:14:42,450 v lomených závorkách, znamená to, že jsme pojmenování tohoto parametru ID. 277 00:14:42,450 --> 00:14:45,490 Později v mém řadič kód, pokud chci chytit do rukou tohoto parametru, 278 00:14:45,490 --> 00:14:51,790 Mohu použít kód, který jsem napsal, najít parametr s názvem ID. 279 00:14:51,790 --> 00:14:59,290 To je to, co jsem tady udělal, a jdu se vrátit a říct, 280 00:14:59,290 --> 00:15:07,090 "Říkal jsi, že" to. 281 00:15:07,090 --> 00:15:10,760 A tak teď když půjdu na našich webových stránkách, 282 00:15:10,760 --> 00:15:19,550 Chodím do cs50-kohana/welcome/echo/Helloooo-- 283 00:15:19,550 --> 00:15:21,420 oh, to je pravda. 284 00:15:21,420 --> 00:15:23,930 K dispozici je 1 krok jsem vynechal. 285 00:15:23,930 --> 00:15:27,020 To je část živé kódování myšlence. 286 00:15:27,020 --> 00:15:36,100 >> Tady je 1 věc. Pojďme se podívat. 287 00:15:36,100 --> 00:15:38,870 Takže normálně standardně s mnoho z těchto webových aplikací 288 00:15:38,870 --> 00:15:42,820 budete muset zahrnout tento index.php věc v URL, 289 00:15:42,820 --> 00:15:46,410 protože myšlenka je index.php je jakýsi vstupní bod 290 00:15:46,410 --> 00:15:48,250 vaší žádosti, ale samozřejmě, 291 00:15:48,250 --> 00:15:50,110 to je trochu nepříjemné mít. 292 00:15:50,110 --> 00:15:53,790 Nechcete mít index.php objeví v URL, 293 00:15:53,790 --> 00:15:56,080 a skoro každý webový rámec po vybalení z krabice 294 00:15:56,080 --> 00:15:58,440 má tento index.php problém, 295 00:15:58,440 --> 00:16:03,370 a tak budete muset přijmout některá opatření, aby byl schopen odstranit to. 296 00:16:03,370 --> 00:16:07,540 A tak v tomto případě, 297 00:16:07,540 --> 00:16:11,450 to, co budeme dělat, je budeme používat soubor s názvem. htaccess, 298 00:16:11,450 --> 00:16:13,900 a to je něco, co je specifické pro webový server Apache, 299 00:16:13,900 --> 00:16:16,290 a to může dělat věci, jako je přepsání adres URL 300 00:16:16,290 --> 00:16:19,350 a přesměrování URL a tak dále a tak dále, 301 00:16:19,350 --> 00:16:24,280 a Kohana je dost hezké, aby soubor htaccess šablony., které můžeme použít. 302 00:16:24,280 --> 00:16:28,300 >> Jak můžete vidět, že je soubor se nazývá example.htaccess, 303 00:16:28,300 --> 00:16:33,410 a budeme kopírovat, který na. htaccess. 304 00:16:33,410 --> 00:16:36,950 Jdu otevřít tento a upravovat ji, 305 00:16:36,950 --> 00:16:40,840 a v podstatě to dělá spoustu různých věcí. 306 00:16:40,840 --> 00:16:45,320 Klíč řádek, možná budete chtít podívat, je tady. 307 00:16:45,320 --> 00:16:49,840 Myšlenka je, že to nastaví pravidlo, které říká, 308 00:16:49,840 --> 00:16:56,400 "Dobře, co napíšete, předřazený index.php na to." 309 00:16:56,400 --> 00:16:58,710 Můžete vidět, že. 310 00:16:58,710 --> 00:17:00,370 . * Znamená cokoli, čímkoli, 311 00:17:00,370 --> 00:17:03,300 a druhá část je index.php / $ 0, 312 00:17:03,300 --> 00:17:07,410 a 0 dolarů se týká, co bylo uzavřeno dříve. 313 00:17:07,410 --> 00:17:09,500 Má to smysl? 314 00:17:09,500 --> 00:17:12,190 Ale opravdu klíčovou věc, kterou chci změnit, je změnit toto přepsat základnu, 315 00:17:12,190 --> 00:17:14,300 což je URL základna. 316 00:17:14,300 --> 00:17:17,780 Tak nějak se předpokládá, kde pracujete od. 317 00:17:17,780 --> 00:17:22,560 Chystám se přidat CS50 Kohana k tomu, 318 00:17:22,560 --> 00:17:26,530 a to způsobem, teď když jsem odstranit index.php, 319 00:17:26,530 --> 00:17:32,110 by to mělo fungovat, a já jdu přidat nějaké čísla 320 00:17:32,110 --> 00:17:36,380 aby vám ukázal, že to opravdu udělal práci. 321 00:17:36,380 --> 00:17:38,130 To zní dobře. 322 00:17:38,130 --> 00:17:40,260 >> Jakékoliv dotazy tak daleko? 323 00:17:40,260 --> 00:17:42,300 [Student] Jak to vědět, aby 123? 324 00:17:42,300 --> 00:17:44,120 Je to argument? 325 00:17:44,120 --> 00:17:46,560 Přesně tak. Můžete myslet na to, stejně jako argument. 326 00:17:46,560 --> 00:17:52,410 Ale divná věc, i když, je to způsob, jak Kohana to dělá 327 00:17:52,410 --> 00:17:54,910 je, že nedělají to přesně jako argument. 328 00:17:54,910 --> 00:17:56,930 Musíte chytit to takhle. 329 00:17:56,930 --> 00:18:01,030 Musíte chytit požadavku objekt a požádat o parametr, který se jmenoval ID, 330 00:18:01,030 --> 00:18:03,240 a to jméno ID pochází z tohoto bootstrap souboru 331 00:18:03,240 --> 00:18:06,990 že jsem ukázal dříve, a název ID bylo v těch hranatých závorkách, 332 00:18:06,990 --> 00:18:11,580 a to je to, jak si urvat ty parametry. 333 00:18:11,580 --> 00:18:14,010 Úžasné. 334 00:18:14,010 --> 00:18:17,550 Nějaké další otázky? 335 00:18:17,550 --> 00:18:20,500 Jak jsem řekl, regulátory, které zvládnout aplikační logiku, 336 00:18:20,500 --> 00:18:22,980 tak to je jedna instance, kde můžete vidět, to je - 337 00:18:22,980 --> 00:18:24,830 je to velmi jednoduché, ale je to stále aplikační logiku, 338 00:18:24,830 --> 00:18:27,980 Myšlenka chytil parametru a vytvořit nový řetězec 339 00:18:27,980 --> 00:18:31,920 , který říká, "Říkal jste, bla," a pak plivat, že zpět k vám. 340 00:18:31,920 --> 00:18:34,030 A obvykle to, co děláte, je vytvořit různé řadiče. 341 00:18:34,030 --> 00:18:36,450 Můžete vytvořit samostatné ovladače pro různé části své webové stránky. 342 00:18:36,450 --> 00:18:38,160 >> Dnes budeme dělat velmi jednoduché webové stránky, 343 00:18:38,160 --> 00:18:40,420 a to bude velmi jednoduchý blog. 344 00:18:40,420 --> 00:18:43,780 Chystáme se vytvořit nový řadič jen pro příspěvky v blogu. 345 00:18:43,780 --> 00:18:47,060 Ale pak když jsem byl také přidávat komentáře k blogu, 346 00:18:47,060 --> 00:18:50,140 pak bych pravděpodobně chtít, aby nový řadič pro ty připomínky. 347 00:18:50,140 --> 00:18:53,380 Pokud bych chtěl přidat uživatele, asi bych přidat nový řadič pro ty uživatele, 348 00:18:53,380 --> 00:18:57,000 a obecně, myšlenka je, že vždy, když máte nový model, 349 00:18:57,000 --> 00:18:59,630 nový datový objekt, který máte co do činění s, 350 00:18:59,630 --> 00:19:02,970 máte jeden řadič pro daný datový objekt. 351 00:19:02,970 --> 00:19:04,370 Dnes jsme jen bude pracovat s 1 dat objektu, 352 00:19:04,370 --> 00:19:06,250 a že to bude příspěvků, 353 00:19:06,250 --> 00:19:08,710 a také si můžete myslet datových objektů jako odpovídající tabulky. 354 00:19:08,710 --> 00:19:12,160 Obecně každá tabulka odpovídá 1 typ datového objektu, 355 00:19:12,160 --> 00:19:15,160 takže tabulka příspěvek bude mít Příspěvek: 1 modelu, 356 00:19:15,160 --> 00:19:18,230 což bude mít 1 příspěvek řadič, která by odpovídala, 357 00:19:18,230 --> 00:19:22,190 a totéž pro připomínky, stejné pro uživatele, a tak dále a tak dále. 358 00:19:22,190 --> 00:19:24,070 A to je obecné pravidlo. 359 00:19:24,070 --> 00:19:27,460 Tam se bude zvláštní případy, kdy se mohou lišit od toho, 360 00:19:27,460 --> 00:19:29,300 ale 90% času, který je to, co budete dělat, 361 00:19:29,300 --> 00:19:32,810 a já ti ukážu, že to, co budeme dělat dnes. 362 00:19:32,810 --> 00:19:35,490 1 další koncept, než se ponořit zpět do kódu, 363 00:19:35,490 --> 00:19:37,710 tato myšlenka objektově relačního mapování. 364 00:19:37,710 --> 00:19:41,200 >> Vy jste tak již učinili webový vývoj pset, 365 00:19:41,200 --> 00:19:43,820 a vy jste viděli, že uděláte SQL dotazu, 366 00:19:43,820 --> 00:19:46,510 a ať se vrátí k vám jsou řádky. 367 00:19:46,510 --> 00:19:50,040 Získáte tyto řádky, a vy index je nějakým jménem, 368 00:19:50,040 --> 00:19:55,480 název sloupce a tabulky, 369 00:19:55,480 --> 00:19:57,630 a to, jak se s ním pracovat, 370 00:19:57,630 --> 00:19:59,290 a to může být trochu těžkopádné. 371 00:19:59,290 --> 00:20:01,810 Ale kromě toho, pokud máte vztahy ve vaší databázi, 372 00:20:01,810 --> 00:20:05,280 jako například, když mám připomínky a příspěvky, 373 00:20:05,280 --> 00:20:11,240 pak možná chci chytit nadřazený post komentář. 374 00:20:11,240 --> 00:20:14,350 Mám-li použít pouze řádky v SQL, pak vše, co můžete dostat, je ID 375 00:20:14,350 --> 00:20:19,310 mateřského příspěvku a ne skutečný sama pošta. 376 00:20:19,310 --> 00:20:21,680 Ale když jsme kódování, co vlastně chtějí, je vlastně chytit 377 00:20:21,680 --> 00:20:23,550  mateřský příspěvek někdy sám. 378 00:20:23,550 --> 00:20:25,730 Jaký objekt relační mapování dělá je 379 00:20:25,730 --> 00:20:29,480 to znamená výsledky dotazu do databáze 380 00:20:29,480 --> 00:20:32,420 a dá to do objektů pro vás, které jsou mnohem příjemnější pracovat s 381 00:20:32,420 --> 00:20:34,770 než prostý polí a řádků. 382 00:20:34,770 --> 00:20:37,550 >> Například teď, když mám poznámku možná, 383 00:20:37,550 --> 00:20:40,900 a chci chytit svou mateřskou příspěvek, 384 00:20:40,900 --> 00:20:43,440 a já možná komentář šipka příspěvek, 385 00:20:43,440 --> 00:20:45,230 pak to bude skutečně dát mi post objekt 386 00:20:45,230 --> 00:20:47,940 , která odpovídá skutečnému mateřské místo, a to jen některé ID, 387 00:20:47,940 --> 00:20:52,210 které bych jinak musel použít a udělat další SQL dotazu chytit místo, 388 00:20:52,210 --> 00:20:57,430 který je těžkopádný a zbytečné. 389 00:20:57,430 --> 00:21:01,840 A navíc tím, že mapuje všechny tyto řádky dat do objektů, 390 00:21:01,840 --> 00:21:03,760 můžete také připojit další funkce na objekty, 391 00:21:03,760 --> 00:21:09,700 tak například, mluvil jsem o tom, jak třídy jsou v podstatě seskupení funkcí. 392 00:21:09,700 --> 00:21:11,620 Můžete myslet na to takhle. 393 00:21:11,620 --> 00:21:15,290 Například, možná jsem si tento příspěvek objektu, 394 00:21:15,290 --> 00:21:17,830 a možná bych chtěl mít nějakou funkci k němu připojené 395 00:21:17,830 --> 00:21:20,300 že mi v podstatě říká, to bylo nedávno vloženo? 396 00:21:20,300 --> 00:21:23,570 Bylo to zveřejněny v posledním týdnu, pravdivé nebo nepravdivé? 397 00:21:23,570 --> 00:21:27,320 A to je funkce mohu připojit na daný objekt, 398 00:21:27,320 --> 00:21:31,300 a je to opravdu vhodné mít na stejném místě, 399 00:21:31,300 --> 00:21:33,820 a existuje řada různých funkcí, které můžete vytvořit 400 00:21:33,820 --> 00:21:37,990 pro tyto objekty, a je to opravdu hezké být schopen připojit se ke třídě, 401 00:21:37,990 --> 00:21:41,700 k objektu, zatímco pokud jste právě měli řádky pocházející z databáze, 402 00:21:41,700 --> 00:21:43,790 pak se můžete opravdu připojit všechny funkce na to. 403 00:21:43,790 --> 00:21:47,850 Je to doslova jen pár dat. 404 00:21:47,850 --> 00:21:50,550 Jakékoliv dotazy týkající se, že vůbec? 405 00:21:50,550 --> 00:21:52,710 Orms jsou velmi časté vývoj webových aplikací, 406 00:21:52,710 --> 00:21:56,330 a existuje mnoho různých typů orms, 407 00:21:56,330 --> 00:21:58,450 a Kohana má svůj vlastní ORM. 408 00:21:58,450 --> 00:22:05,050 Je to velmi jednoduchý, ale budete mít chuť, jak to vypadá. 409 00:22:05,050 --> 00:22:08,780 >> Pojďme vytvořit model pro naše blogu, 410 00:22:08,780 --> 00:22:12,350 a první věc, kterou samozřejmě musíte udělat, je vytvořit skutečnou tabulku 411 00:22:12,350 --> 00:22:16,680 v naší databázi, aby skutečně ukládat naše data na těchto příspěvků. 412 00:22:16,680 --> 00:22:19,260 První věc, kterou budu dělat, je jít do phpMyAdmin. 413 00:22:19,260 --> 00:22:21,410 Už jste kluci používá phpMyAdmin předtím? 414 00:22:21,410 --> 00:22:23,400 Ok, super, takže vy už víte, co to je, 415 00:22:23,400 --> 00:22:32,200 a já jdu vytvořit novou tabulku s názvem Kohana Příspěvky, 416 00:22:32,200 --> 00:22:37,820 a to bude opravdu jednoduché. 417 00:22:37,820 --> 00:22:40,190 Budu se muset znovu přihlásit 418 00:23:02,620 --> 00:23:04,640 Vše, co se chystáte udělat, je dnes mají autor a tělo, 419 00:23:04,640 --> 00:23:11,930 jen aby to jednoduché. 420 00:23:11,930 --> 00:23:15,620 Chystám se vytvořit tuto tabulku, 421 00:23:15,620 --> 00:23:19,620 a teď jen musíme tabulku představující naše příspěvky 422 00:23:19,620 --> 00:23:23,370 2 pole pro našeho autora a našeho těla. 423 00:23:23,370 --> 00:23:26,290 Další věc, kterou budu dělat teď, je 424 00:23:26,290 --> 00:23:29,820 nakonfigurovat mou webovou aplikaci, takže ví, jak se připojit k databázi, 425 00:23:29,820 --> 00:23:31,950 a to je opět něco, co budete muset dělat se všemi webovými aplikacemi. 426 00:23:31,950 --> 00:23:34,790 Musíš říct, že uživatelské jméno a heslo 427 00:23:34,790 --> 00:23:36,990 a název databáze a tak dále a tak dále 428 00:23:36,990 --> 00:23:40,000 přijít na to, jak se vlastně připojit k databázi. 429 00:23:40,000 --> 00:23:58,710 >> V Kohana, máme něco, co nazývá modul databáze, 430 00:23:58,710 --> 00:24:02,690 a my v konfigurační složky mají tuto složku s názvem databáze, 431 00:24:02,690 --> 00:24:07,330 a jak vidíte, existuje spousta nastavení, budete muset nastavit zde 432 00:24:07,330 --> 00:24:09,860 říci to, co je uživatelské jméno a heslo 433 00:24:09,860 --> 00:24:13,110 k databázi, takže můžu vlastně k němu připojit. 434 00:24:13,110 --> 00:24:15,010 A protože nechci, vy vlastně víte, 435 00:24:15,010 --> 00:24:17,190 uživatelské jméno a heslo z mé databáze, 436 00:24:17,190 --> 00:24:23,840 Mám soubor, kde jsem už nastavit vše, a budu kopírovat a vložit ji znovu. 437 00:24:33,080 --> 00:24:36,870 Úžasné. 438 00:24:36,870 --> 00:24:39,880 Dobře. Myslím, že je to všechno nastavení je potřeba udělat, 439 00:24:39,880 --> 00:24:41,070 ale uvidíme. 440 00:24:41,070 --> 00:24:43,720 Budeme pracovat na tom, a pokud se něco zhroutí, 441 00:24:43,720 --> 00:24:47,490 pak budeme opravit. 442 00:24:47,490 --> 00:24:51,830 Co budu dělat, teď je budu vytvořit nový řadič. 443 00:24:51,830 --> 00:24:53,190 Nebo vlastně, omlouvám se. 444 00:24:53,190 --> 00:24:55,080 Nejprve musím vytvořit nový model. 445 00:24:55,080 --> 00:25:01,620 Budu-li vytvořit nový model s názvem Post.php, 446 00:25:01,620 --> 00:25:12,440 a to, co budeme dělat, je budeme nazývat třída Model_Post. 447 00:25:12,440 --> 00:25:15,390 Získat některé zvýraznění syntaxe na, 448 00:25:15,390 --> 00:25:19,750 a tak, když jsem řekl, "rozšiřuje ORM," to je v podstatě 449 00:25:19,750 --> 00:25:21,210 některé další objektově-orientovaného programování, 450 00:25:21,210 --> 00:25:23,340 které bohužel vy se nenaučili v CS50 ještě, 451 00:25:23,340 --> 00:25:25,290 ale je to docela snadné vyzvednout. 452 00:25:25,290 --> 00:25:27,950 Dává mi to všechno navíc funkce, které přichází v tomto ORM balíčku, 453 00:25:27,950 --> 00:25:31,120 a tak jsem si spoustu extra funkcí a kdoví co ještě zdarma, 454 00:25:31,120 --> 00:25:34,810 které uvidíte trochu ve vteřině. 455 00:25:34,810 --> 00:25:37,670 >> Právě teď vlastně vše, co potřebujete udělat, je vytvořit tuto třídu. 456 00:25:37,670 --> 00:25:39,160 Já ani třeba, aby jakoukoli funkci nebo cokoliv, 457 00:25:39,160 --> 00:25:41,770 ale já jsem vytvořil třídu, která představuje tabulku, 458 00:25:41,770 --> 00:25:44,140 a protože jsem rozšířil toto ORM třídy, 459 00:25:44,140 --> 00:25:51,080 Mám spoustu věcí zdarma, takže teď už nemusíte nastavovat nic víc nahoru. 460 00:25:51,080 --> 00:25:53,530 A teď, co budu dělat, je, že budu vytvářet nový řadič, 461 00:25:53,530 --> 00:25:58,480 které budu jmenovat blog.php, 462 00:25:58,480 --> 00:26:04,350 a budu kopírovat přes úvodní regulátoru 463 00:26:04,350 --> 00:26:11,950 takže nemám k Opište nějaké věci, 464 00:26:11,950 --> 00:26:20,720 a teď mám přejmenovat to. 465 00:26:20,720 --> 00:26:24,710 Co budu dělat, testovat, aby se ujistil vše funguje venku, 466 00:26:24,710 --> 00:26:27,820 Chystám se chytit na první příspěvek z mé databáze 467 00:26:27,820 --> 00:26:32,680 a vytisknout text příspěvku na obrazovce. 468 00:26:32,680 --> 00:26:37,920 K tomu, že to, co budu dělat, jako první se jdu uložit příspěvky 469 00:26:37,920 --> 00:26:48,770 proměnné, co budeme dělat, tak je - 470 00:26:48,770 --> 00:26:52,090 v Kohana to, co udělat, je chytit post objekt 471 00:26:52,090 --> 00:26:55,380 je to trochu těžkopádné, ale musíte to udělat tuto věc s názvem ORM :: factory, 472 00:26:55,380 --> 00:26:57,750 a pak se projít v názvu modelu, který chcete, 473 00:26:57,750 --> 00:27:00,490 a vrátí ORM objekt, který představuje tento model. 474 00:27:00,490 --> 00:27:04,860 A pak, jak jsem řekl, když jsme se rozšířit ORM objekt, 475 00:27:04,860 --> 00:27:07,320 dostaneme všechny tyto metody zdarma, takže například, 476 00:27:07,320 --> 00:27:09,200 dostaneme tato nová funkce s názvem "najít vše," 477 00:27:09,200 --> 00:27:12,160 které se automaticky vrátí každý příspěvek v databázi, 478 00:27:12,160 --> 00:27:14,850 což je docela výhodné. 479 00:27:14,850 --> 00:27:17,480 >> A teď v těle, jdu se vrátit 480 00:27:17,480 --> 00:27:24,860 první příspěvek a vrátí jeho tělo. 481 00:27:24,860 --> 00:27:27,930 A samozřejmě, musím vytvořit místo, 482 00:27:27,930 --> 00:27:31,880 takže pojďme vložit nový příspěvek. 483 00:27:31,880 --> 00:27:37,870 Řeknu, "Brandon, můj úplně první příspěvek." 484 00:27:37,870 --> 00:27:40,010 Úžasné. 485 00:27:40,010 --> 00:27:45,910 A teď máme jít na blogy 486 00:27:45,910 --> 00:27:50,960 a pokud vše funguje dobře - oh, to je zase jiný hloupý povolení souborů věc. 487 00:27:50,960 --> 00:27:56,090 Podržte na 1 sekundu. Je to trochu absurdní. 488 00:28:06,700 --> 00:28:08,490 Tam jdeme. Dobře. 489 00:28:08,490 --> 00:28:10,040 Opravil jsem ten problém oprávnění. 490 00:28:10,040 --> 00:28:12,040 To se snaží vytvořit nějaké soubory a některé protokol, 491 00:28:12,040 --> 00:28:15,400 a oprávnění, opět nebyly nastaveny správně, tak jsem to 492 00:28:15,400 --> 00:28:18,320 aby tyto soubory byly zapisovat a spustitelný 493 00:28:18,320 --> 00:28:21,090 tak to by se skutečně přihlásit k věci. 494 00:28:21,090 --> 00:28:24,220 Teď je to, že mi další výjimka rčení, "třída ORM nebyl nalezen," 495 00:28:24,220 --> 00:28:26,960 a to proto, že jsem zapomněl další krok. 496 00:28:26,960 --> 00:28:37,010 To je moc špatné. 497 00:28:37,010 --> 00:28:40,270 V souboru bootstrap složek, jsou tyto moduly tady, 498 00:28:40,270 --> 00:28:42,480 které si můžete vybrat povolit nebo zakázat. 499 00:28:42,480 --> 00:28:44,340 Jedná se o spoustu různých funkcí, které si můžete vybrat k použití 500 00:28:44,340 --> 00:28:46,180 v Kohana, což je trochu pěkné. 501 00:28:46,180 --> 00:28:49,090 >> Například, mají modul autentizace 502 00:28:49,090 --> 00:28:51,170 které můžete použít pro autentizaci uživatelů. 503 00:28:51,170 --> 00:28:53,390 Mají cache modul, pokud chcete realizovat 504 00:28:53,390 --> 00:28:57,870 nějaký caching zpět konec, aby aplikace pracovat rychleji a kdoví co ještě. 505 00:28:57,870 --> 00:29:02,140 Musíme k tomu, aby databáze a ORM modul, 506 00:29:02,140 --> 00:29:04,280 protože jak jsem řekl, jsme pomocí databáze, samozřejmě, 507 00:29:04,280 --> 00:29:08,200 a musíme také umožnit ORM modul, 508 00:29:08,200 --> 00:29:12,220 proto, že jsme chtěli mít další funkce, což je hezké mít. 509 00:29:12,220 --> 00:29:14,240 Jediné, co musíte udělat, je odkomentovat tyto 2 řádky, 510 00:29:14,240 --> 00:29:18,760 a teď když jsem aktualizovat, to mi dal další chybu. 511 00:29:18,760 --> 00:29:22,100 To říká, "Třída Model_Post nebyl nalezen." 512 00:29:22,100 --> 00:29:30,210 Teď je to dobrý problém mít. 513 00:29:30,210 --> 00:29:37,660 Pojďme se podívat. 514 00:29:37,660 --> 00:29:42,200 Ať je to veřejné. 515 00:29:42,200 --> 00:29:46,450 Ne Vydrž. 516 00:30:11,610 --> 00:30:13,160 Ach, drahý. 517 00:30:13,160 --> 00:30:18,590 Nevím, proč to není schopen najít, že. 518 00:30:18,590 --> 00:30:21,030 To je opravdu divné. 519 00:30:21,030 --> 00:30:23,820 Mám tuto třídu tady. 520 00:30:23,820 --> 00:30:28,650 Myslím, že budu muset - oh. 521 00:30:28,650 --> 00:30:32,010 Jsem tak hloupá. Zapomněl jsem přidat značku PHP. 522 00:30:32,010 --> 00:30:34,670 To je důvod, proč. 523 00:30:34,670 --> 00:30:41,260 Teď musím vrátit, že 1. změna, kterou jsem právě udělal. 524 00:30:41,260 --> 00:30:44,270 >> Dobře. Tam jdeme. 525 00:30:44,270 --> 00:30:47,500 To bylo opravdu hloupé. Nechtěl jsem mít PHP tag otevření. 526 00:30:47,500 --> 00:30:49,900 Ale jak vidíte, teď to funguje správně, že jo? 527 00:30:49,900 --> 00:30:51,240 Máme Příspěvek: 1. 528 00:30:51,240 --> 00:30:54,730 Popadl jsme první příspěvek, a teď jsme vytiskli své tělo. 529 00:30:54,730 --> 00:30:58,010 Skvělé. Fantastic. 530 00:30:58,010 --> 00:31:01,470 Jakékoliv dotazy tak daleko? 531 00:31:01,470 --> 00:31:04,100 Ne? Jakékoliv dotazy? 532 00:31:04,100 --> 00:31:08,340 Dobře, tak jsme právě vytvořili model příspěvek, velmi jednoduchý, 533 00:31:08,340 --> 00:31:10,930 a budeme přidávat některé funkce později. 534 00:31:10,930 --> 00:31:13,600 Můžeme přidat validace a filtrování. 535 00:31:13,600 --> 00:31:15,650 Validace je jedna z věcí, 536 00:31:15,650 --> 00:31:18,150 že rámce řešení pro vás opravdu, opravdu dobře, 537 00:31:18,150 --> 00:31:21,310 a nemyslím si, že vy jste musel udělat pro vaše CS50 pset, 538 00:31:21,310 --> 00:31:24,000 ale pokud to vývoj webových aplikací pro konečného projektu, 539 00:31:24,000 --> 00:31:26,280 budete pravděpodobně chtít udělat nějaké ověření, 540 00:31:26,280 --> 00:31:28,290 jako nemít prázdné uživatelská jména, 541 00:31:28,290 --> 00:31:31,950 Možná mají hesla s alespoň nějakou délku, a podobné věci. 542 00:31:31,950 --> 00:31:34,750 A je to opravdu náročný na realizaci těchto věcí sami, 543 00:31:34,750 --> 00:31:37,390 a skoro každý webový rámec to udělá za vás 544 00:31:37,390 --> 00:31:41,140 a umožňuje to velmi čistým způsobem. 545 00:31:41,140 --> 00:31:44,340 A model, kde se obvykle formulují tyto ověřovací pravidla, 546 00:31:44,340 --> 00:31:48,790 protože je to potvrzení, zda model je platný, nebo ne. 547 00:31:48,790 --> 00:31:51,350 >> Ale pro teď, budeme dát, že až později, 548 00:31:51,350 --> 00:31:53,520 a teď budeme pracovat na jiné části, 549 00:31:53,520 --> 00:31:55,400 a budeme se snažit a dělat nový pohled 550 00:31:55,400 --> 00:31:59,580 které jsou uvedeny všechny příspěvky. 551 00:31:59,580 --> 00:32:02,490 Kroky při vytváření nové akce pro výpis všech příspěvků 552 00:32:02,490 --> 00:32:04,810 je chytit seznam všech míst 553 00:32:04,810 --> 00:32:11,990 a pak vykreslit seznam všech míst prostřednictvím zobrazení. 554 00:32:11,990 --> 00:32:16,420 Právě tady, tak naštěstí už chytil všechny příspěvky 555 00:32:16,420 --> 00:32:20,310 Pomocí tohoto prvního řádku, najít všechny funkce, 556 00:32:20,310 --> 00:32:22,520 a teď, co budeme dělat, je tak daleko 557 00:32:22,520 --> 00:32:25,350 Byl jsem přímým nastavením tělo odpověď 558 00:32:25,350 --> 00:32:29,090 předáním řetězec, ale teď chci použít zobrazení, 559 00:32:29,090 --> 00:32:31,870 a rozdíl mezi cílem a jen dělá to 560 00:32:31,870 --> 00:32:35,330 je s ohledem můžu mít krásný, velký HTML šablony, 561 00:32:35,330 --> 00:32:37,710 a co mohu udělat, je předat některé proměnné 562 00:32:37,710 --> 00:32:42,200 a pak se pohled automaticky naplnit svou šablonu 563 00:32:42,200 --> 00:32:44,690 pomocí těchto proměnných. 564 00:32:44,690 --> 00:32:50,780 Co budu dělat, je, že jsem si vytvořit nový pohled, 565 00:32:50,780 --> 00:32:55,940 a já budu jmenovat pohledu něco jako "blog / index" 566 00:32:55,940 --> 00:33:08,480 a budu v podstatě váže toto - ach, co mám psát? 567 00:33:08,480 --> 00:33:12,910 Můj mozek je někde jinde. 568 00:33:12,910 --> 00:33:16,600 Chystám se vázat příspěvky proměnné k názoru, 569 00:33:16,600 --> 00:33:19,950 tak, aby způsob zobrazení má přístup k této funkci proměnné. 570 00:33:19,950 --> 00:33:26,140 >> A tak teď musím vytvořit tento názor, 571 00:33:26,140 --> 00:33:28,500 takže tady máme tuto složku s názvem "Zobrazení", 572 00:33:28,500 --> 00:33:32,150 a první, já jdu vytvořit novou složku pod tímto názvem "Blog". 573 00:33:32,150 --> 00:33:35,810 To je hezké. Tímto způsobem můžeme mít hezký hierarchii našich názorů. 574 00:33:35,810 --> 00:33:43,910 A pak budu vytvářet další soubor tam názvem "index.php". 575 00:33:43,910 --> 00:33:45,780 Úžasné. 576 00:33:45,780 --> 00:33:52,930 Ve skutečnosti, pojďme si je oba tady. 577 00:33:52,930 --> 00:33:56,760 Vytvoření souboru zobrazení je pravděpodobně nejjednodušší část toho všeho, 578 00:33:56,760 --> 00:33:59,090 a to jsou asi věci, které jste již zvyklí. 579 00:33:59,090 --> 00:34:01,240 Budeme dělat něco opravdu jednoduchého, 580 00:34:01,240 --> 00:34:05,360 začít říkat: "Můj seznam blogu." 581 00:34:05,360 --> 00:34:14,860 Pak můžeme projít, 582 00:34:14,860 --> 00:34:17,920 a můžeme iterovat příspěvky poli, 583 00:34:17,920 --> 00:34:21,760 chytit každý příspěvek a řekl něco jako - 584 00:34:21,760 --> 00:34:25,290 Možná přidejte řádek 585 00:34:25,290 --> 00:34:42,460 a pak vytisknout autora a tělo. 586 00:34:42,460 --> 00:34:44,480 To aby se tak daleko smysl? 587 00:34:44,480 --> 00:34:50,870 A uvidíme, jestli to funguje. 588 00:34:50,870 --> 00:34:53,489 Nic se nestalo. 589 00:34:53,489 --> 00:34:55,090 Zajímalo by mě, proč. 590 00:34:55,090 --> 00:34:58,760 Oh, jsem vynechal jeden krok. Velmi hloupé. 591 00:34:58,760 --> 00:35:01,640 Vytvořil jsem názor, ale já jsem neměl nastavit zobrazení jako odpověď, 592 00:35:01,640 --> 00:35:03,190 takže budete muset udělat 1 věc. 593 00:35:03,190 --> 00:35:12,610 Co musíte udělat, "toto tělo odpověď" a nastavte ji jako pohled. 594 00:35:12,610 --> 00:35:14,760 Tam jdeme. 595 00:35:14,760 --> 00:35:17,200 Máme záhlaví, a pak budeme mít místo, 596 00:35:17,200 --> 00:35:20,500 a jen pro zábavu, pojďme vložit další příspěvek 597 00:35:20,500 --> 00:35:23,390 takže můžeme vidět seznam. 598 00:35:31,800 --> 00:35:36,650 A vložte tyto dva příspěvky, 599 00:35:36,650 --> 00:35:39,500 a teď když jsem aktualizovat stránku, 600 00:35:39,500 --> 00:35:42,060 vidíme všechny ty příspěvky tady. 601 00:35:42,060 --> 00:35:44,250 >> Znamená to, že aby se tak daleko smysl? 602 00:35:44,250 --> 00:35:46,400 Jo, otázka? Oh, dobře. 603 00:35:46,400 --> 00:35:51,440 Jak můžete vidět, jsme byli schopni oddělit všechny tyto kódy ven 604 00:35:51,440 --> 00:35:53,920 do různých sekcí, a pak můžete vidět, že je nejvíce jasné, s výhledem na kód. 605 00:35:53,920 --> 00:35:57,810 Tento soubor zde, že reprezentuje názor, 606 00:35:57,810 --> 00:36:01,220 to se stará jen o zobrazování dat, zobrazování dat. 607 00:36:01,220 --> 00:36:04,310 To je předán nějaký údajů, a vše, co dělá, je jen ukázat, že na vás. 608 00:36:04,310 --> 00:36:07,660 Ve všech ostatních částí kódu, nebudete muset starat o nic z toho, 609 00:36:07,660 --> 00:36:10,480 a podobně, váš názor kód nemusí starat o nic 610 00:36:10,480 --> 00:36:13,390 jak přistupovat k databázi a tak dále a tak dále, 611 00:36:13,390 --> 00:36:19,950 která je opravdu dobrá a dělá váš kód mnohem lépe spravovatelný. 612 00:36:19,950 --> 00:36:23,390 Jak jsem řekl, názory, jsou dynamické v tom, že 613 00:36:23,390 --> 00:36:27,080 je to 1 soubor, ale to by vytvářet různé pohledy 614 00:36:27,080 --> 00:36:29,940 na základě proměnných, které skutečně procházejí v, 615 00:36:29,940 --> 00:36:32,370 a dále, existuje mnoho různých pomocných funkcí 616 00:36:32,370 --> 00:36:34,230 které můžete použít, které vám pomohou napsat svůj kód rychleji, 617 00:36:34,230 --> 00:36:36,320 které jsem vám ukážu pár sekund. 618 00:36:36,320 --> 00:36:38,050 Jo. 619 00:36:38,050 --> 00:36:42,490 >> [Student] Tak 0dolar je řadič, ne? 620 00:36:42,490 --> 00:36:44,000 To je druhá věc. 621 00:36:44,000 --> 00:36:46,090 Otázkou je, je 0 Kč řadič? 622 00:36:46,090 --> 00:36:48,610 0 dolar je variabilní Vytvořil jsem tady. 623 00:36:48,610 --> 00:36:51,320 Vytvořil jsem názor jako první. I přidělen do určité proměnné. 624 00:36:51,320 --> 00:36:54,960 Pak jsem prošel do této funkce, nastavte ji jako tělo odpovědi. 625 00:36:54,960 --> 00:36:57,260 Má to smysl? 626 00:36:57,260 --> 00:37:02,200 [Student] Tak je pohled :: výroby, je pohled jako na třídu 627 00:37:02,200 --> 00:37:06,610 nebo knihovna [neslyšitelný] Funkce továrna? 628 00:37:06,610 --> 00:37:10,640 Otázkou je, o funkci view :: továrny, 629 00:37:10,640 --> 00:37:14,020 a v podstatě je to něco víc objektově orientované programování v podstatě. 630 00:37:14,020 --> 00:37:18,000 Zobrazit je třída pohled, a to má metodu nazvanou "Factory", 631 00:37:18,000 --> 00:37:24,170 a to je způsob, jak uchopit objekt, který je s názvem "blog / index." 632 00:37:24,170 --> 00:37:27,140 A to je něco víc objektově orientované programování věci 633 00:37:27,140 --> 00:37:33,010 že nejdu jít do tady moc. 634 00:37:33,010 --> 00:37:36,400 Teď samozřejmě, chceme vytvořit nová pracovní místa, 635 00:37:36,400 --> 00:37:38,790 ale nechceme, aby se to udělat prostřednictvím databáze, 636 00:37:38,790 --> 00:37:41,280 takže budeme vytvářet novou akci pro vytvoření nového příspěvku, 637 00:37:41,280 --> 00:37:43,050 a je tam spousta věcí, co musíme udělat. 638 00:37:43,050 --> 00:37:45,910 >> První věc, kterou budeme dělat - pojďme řešit tyto věci jednu po druhé. 639 00:37:45,910 --> 00:37:48,320 První věc, kterou uděláme, je, že máme-li vytvořit formulář 640 00:37:48,320 --> 00:37:54,460 Pro vložení nového příspěvku, 641 00:37:54,460 --> 00:37:57,360 ale já jsem také chystá přidat novou akci poprvé, 642 00:37:57,360 --> 00:38:01,050 takže přidat novou akci je stejně snadné jako 643 00:38:01,050 --> 00:38:03,490 přidáním nové funkce s regulátorem, 644 00:38:03,490 --> 00:38:13,710 a teď jdu dělat něco velmi základní, 645 00:38:13,710 --> 00:38:20,850 jen chytit tento názor a po ní, jen zobrazit na vás. 646 00:38:20,850 --> 00:38:26,220 A pak se budu vytvořit nový pohled soubor, 647 00:38:26,220 --> 00:38:33,690 a já jdu začít psát nějaké věci. 648 00:38:33,690 --> 00:38:36,540 Co je hezké o Kohana je, že poskytují mnoho různých pomocných funkcí 649 00:38:36,540 --> 00:38:38,790 pro vás psát zobrazení kódu snadněji, 650 00:38:38,790 --> 00:38:41,970 a 1 z těchto pomocných funkcí nebo pomocných modulů 651 00:38:41,970 --> 00:38:45,860 je kolem psaní formulářů. 652 00:38:45,860 --> 00:38:49,460 Pro psaní formulářů, já opravdu nemám přímo psát žádné HTML sám. 653 00:38:49,460 --> 00:38:51,100 Vy jste psali HTML formulářů. 654 00:38:51,100 --> 00:38:54,850 Víte, jak to může být opravdu bolestivé a těžkopádné psát formuláře. 655 00:38:54,850 --> 00:38:59,970 Není to legrace, a tak naštěstí, 656 00:38:59,970 --> 00:39:04,860 můžeme v podstatě napsat formuláře pomocí Kohana je 657 00:39:04,860 --> 00:39:11,190 tvoří pomocné funkce, aby to pro nás. 658 00:39:11,190 --> 00:39:17,340 Chystáme se v podstatě mají pole pro každou jednotlivou věc, kterou máme, 659 00:39:17,340 --> 00:39:23,160 tak jeden pro autory a jeden pro orgány. 660 00:39:23,160 --> 00:39:27,090 Budeme mít označení, a budeme mít vstup. 661 00:39:37,450 --> 00:39:41,360 >> A nakonec, budeme mít podání. 662 00:39:49,350 --> 00:39:52,230 A jak můžete vidět, je to mnohem čistší psát 663 00:39:52,230 --> 00:39:58,150 než všechny ty špinavé HTML, což je docela hezké. 664 00:39:58,150 --> 00:40:00,930 Je pravda, že existují i ​​jiné webové rámce, které mají dokonce čistší než to, 665 00:40:00,930 --> 00:40:04,440 ale alespoň je to lepší než psát HTML sami. 666 00:40:09,400 --> 00:40:11,130 Super, tak to je to, co vidíte. 667 00:40:11,130 --> 00:40:13,530 To je trochu chaotický, 668 00:40:13,530 --> 00:40:19,720 tak já jdu přidat zalomení řádku se 669 00:40:19,720 --> 00:40:21,180 aby se, že vypadají trochu hezčí. 670 00:40:21,180 --> 00:40:23,330 No, samozřejmě, je to stále vypadá opravdu, ale opravdu špatné, ale my jsme prostě zaměřili 671 00:40:23,330 --> 00:40:26,050 na funkčnosti pro teď a ne na estetiku. 672 00:40:26,050 --> 00:40:28,010 Není čas na to všechno. 673 00:40:28,010 --> 00:40:30,600 A jak vidíte, teď máme super základní tvar, 674 00:40:30,600 --> 00:40:32,080 což je docela hezké. 675 00:40:32,080 --> 00:40:36,730 Tento kód Řekl bych, že je čistší než se snažit psát HTML tvořit sami, 676 00:40:36,730 --> 00:40:40,290 tak to je hezké. 677 00:40:40,290 --> 00:40:42,030 Co bude dál? 678 00:40:42,030 --> 00:40:49,260 Teď musíme dělat věci s akcí. 679 00:40:49,260 --> 00:40:51,240 Normálně, když píšete HTML formuláře, 680 00:40:51,240 --> 00:40:54,070 budete muset říct, že tam, kde to bude předkládat formulář. 681 00:40:54,070 --> 00:40:56,050 Ve výchozím nastavení je ve většině webových frameworků, 682 00:40:56,050 --> 00:40:58,200 předkládá na přesně stejnou adresu URL, takže věc je, 683 00:40:58,200 --> 00:41:01,310 pokud si poslat GET požadavek na / blog / nové, 684 00:41:01,310 --> 00:41:03,240 to by vám měl zobrazit formulář, 685 00:41:03,240 --> 00:41:06,810 ale pokud budete posílat žádost o příspěvek pro / blog / nový s údaji, 686 00:41:06,810 --> 00:41:10,000 to by skutečně snaží zachránit tento příspěvek 687 00:41:10,000 --> 00:41:13,300 a něco s ním. 688 00:41:20,630 --> 00:41:22,180 >> Co budeme dělat, je 689 00:41:22,180 --> 00:41:25,320 v podstatě vše, co musíte udělat, aby zjistil, zda je žádost o příspěvek, nebo požadavek GET 690 00:41:25,320 --> 00:41:29,350 je zkontrolovat, jaké jsou rozmístit své proměnné lze nastavit. 691 00:41:29,350 --> 00:41:34,560 A pokud je nastaven po proměnná, pak se budeme snažit vytvořit nový příspěvek. 692 00:41:34,560 --> 00:41:38,440 Opět jsme prostě to, 693 00:41:38,440 --> 00:41:41,090 a že vytvoří nový příspěvek, a my jsme doslova jít do 694 00:41:41,090 --> 00:41:51,150 nastavit jeho pole, jako je tento, 695 00:41:51,150 --> 00:41:55,640 a pak budeme jej uložit. 696 00:41:55,640 --> 00:41:59,200 A pak jdu na přesměrování 697 00:41:59,200 --> 00:42:07,660 na index stránce, takže můžete vidět náš seznam míst znovu. 698 00:42:07,660 --> 00:42:09,620 Zkusme to. 699 00:42:09,620 --> 00:42:15,160 Řeknu, "Brandon," 700 00:42:15,160 --> 00:42:18,140 a poté odeslat příspěvek, a pokud vše půjde dobře, 701 00:42:18,140 --> 00:42:21,390 jak můžete vidět, je přesměrován mě na index stránce, 702 00:42:21,390 --> 00:42:24,140 a když jsem přejděte do dolní části, máme nově vložený příspěvek. 703 00:42:24,140 --> 00:42:26,430 Yay! 704 00:42:26,430 --> 00:42:28,430 Jo, otázka. 705 00:42:28,430 --> 00:42:31,760 >> [Student] Co kdyby jste zadali přesně to samé 706 00:42:31,760 --> 00:42:33,380 které jste zadali dříve? 707 00:42:33,380 --> 00:42:36,950 Má zkontrolujte, zda jste se neopakují 708 00:42:36,950 --> 00:42:38,810 stejné podání? 709 00:42:38,810 --> 00:42:41,660 Buďte výchozí, ne, protože ve výchozím nastavení - 710 00:42:41,660 --> 00:42:46,470 Omlouvám se, otázka je, pokud zadáte v přesně stejných dat ve formě 711 00:42:46,470 --> 00:42:50,180 a tvrdí, že se to vám umožní vložit duplicitní objekt, 712 00:42:50,180 --> 00:42:52,550 duplicitní záznam, v podstatě? 713 00:42:52,550 --> 00:42:54,070 Právě teď, ano, to vám umožní dělat to, 714 00:42:54,070 --> 00:42:58,860 protože v databázích je to naprosto v pořádku, aby se zcela duplicitní řádky, 715 00:42:58,860 --> 00:43:02,260 ale v případě, že je zájem, pak můžete přidat validace, například, 716 00:43:02,260 --> 00:43:06,430 aby se ujistil, že pokud je to naprosto stejné jako něco, co již existuje, 717 00:43:06,430 --> 00:43:08,720 pak říkají, že je to neplatný objekt, 718 00:43:08,720 --> 00:43:11,200 a pak můžete dokonce zadat chybová zpráva 719 00:43:11,200 --> 00:43:14,390 a řekl: "Neplatný protože již existuje", nebo něco takového. 720 00:43:14,390 --> 00:43:22,420 Ale v tomto případě by jsem vytvořit něco duplicitní. 721 00:43:22,420 --> 00:43:26,010 Nyní se pojďme zkusit přidat nějaké validace. 722 00:43:26,010 --> 00:43:30,400 Problém s tím hned teď, je, že 723 00:43:30,400 --> 00:43:34,220 Nemohl jsem doslova předložit zcela prázdné místo. 724 00:43:34,220 --> 00:43:37,500 Mohu kliknout na toto tlačítko hned, a tam jdeme. 725 00:43:37,500 --> 00:43:40,290 Nemůžete opravdu vidět, ale to další řádek zde 726 00:43:40,290 --> 00:43:43,830 znamená, že jsem se doslova nový příspěvek. 727 00:43:43,830 --> 00:43:46,050 Je to jen má prázdné autora a prázdné tělo, 728 00:43:46,050 --> 00:43:48,630 a nechceme, aby lidé mohli udělat. 729 00:43:48,630 --> 00:43:52,550 To je místo, kde ověření vypovídací 730 00:43:52,550 --> 00:43:57,540 >> Můžu jít do mého modelu objektu, 731 00:43:57,540 --> 00:43:59,530 a nyní mohu přidat novou funkci, která určuje 732 00:43:59,530 --> 00:44:02,000 co validace pravidla bych měl dodat k tomuto modelu 733 00:44:02,000 --> 00:44:06,840 aby se ujistil, že je platný, nebo určit, co to znamená být platný po? 734 00:44:06,840 --> 00:44:10,210 A chci říct, že je to pouze platný příspěvek v případě, jak autor a tělo 735 00:44:10,210 --> 00:44:15,150 nejsou prázdné, a to je, jak to udělat v Kohana. 736 00:44:15,150 --> 00:44:18,750 Můžete vytvořit novou funkci s názvem "Pravidla", 737 00:44:18,750 --> 00:44:20,210 a pak se v podstatě vrací asociativní pole 738 00:44:20,210 --> 00:44:24,230 , který definuje ověřovací pravidla pro tento objekt. 739 00:44:24,230 --> 00:44:27,530 Chystáme se vrátí pole, a pak to, co budeme dělat, je 740 00:44:27,530 --> 00:44:32,820 říkají "autor", to jde na pole, 741 00:44:32,820 --> 00:44:37,720 který jde do jiného pole s názvem "není prázdný." 742 00:44:37,720 --> 00:44:41,480 A pak budu říkat "tělo." 743 00:44:50,980 --> 00:44:54,120 Dobře, a syntaxe pro tento a struktura pro tento 744 00:44:54,120 --> 00:44:56,530 může vypadat trochu těžkopádný a trochu složitější. 745 00:44:56,530 --> 00:44:59,330 Pokud jste si přečetli dokumentaci, je to docela jednoduché přijít na to, 746 00:44:59,330 --> 00:45:02,500 Ale v podstatě to je to, co musíte udělat, specifikovat 747 00:45:02,500 --> 00:45:04,130 Některé validační pravidla, a existuje mnoho různých pravidel 748 00:45:04,130 --> 00:45:06,810 že Kohana vám dá zdarma, stejně jako můžete přidat pravidla říkají, 749 00:45:06,810 --> 00:45:08,410 musí být alespoň tato délka. 750 00:45:08,410 --> 00:45:11,800 Možná, že to musí být číselná. Možná to má být alfanumerický. 751 00:45:11,800 --> 00:45:14,410 Možná to má být nanejvýš tato délka, a tak dále a tak dále. 752 00:45:14,410 --> 00:45:17,730 Existuje mnoho různých pravidel, která Kohana poskytuje pro vás, 753 00:45:17,730 --> 00:45:19,610 a můžete jít na jejich webové stránky, podívejte se na dokumentaci, 754 00:45:19,610 --> 00:45:23,150 a vidíte všechny ty různé věci, které můžete udělat. 755 00:45:23,150 --> 00:45:25,650 >> Ale to je vše, co mám dělat, 756 00:45:25,650 --> 00:45:30,490 a nyní se pojďme podívat, co se děje 757 00:45:30,490 --> 00:45:34,060 když předloží prázdné místo. 758 00:45:34,060 --> 00:45:36,960 Co se bude dít? Oh, ne, já dostanu chybu. 759 00:45:36,960 --> 00:45:39,440 Jsem si výjimku ověření. 760 00:45:39,440 --> 00:45:41,070 No, je to dobré. 761 00:45:41,070 --> 00:45:43,200 To mi řekl, že můj model je neplatný, 762 00:45:43,200 --> 00:45:45,780 ale já nechci zobrazovat výjimku 763 00:45:45,780 --> 00:45:48,720 na mých uživatele, když se snaží podat co neplatný, že jo? 764 00:45:48,720 --> 00:45:51,560 Chci jim dát nějaký přátelštější chybová zpráva 765 00:45:51,560 --> 00:45:53,610 když se něco pokazí. 766 00:45:53,610 --> 00:46:01,830 Co budeme dělat, je budeme 767 00:46:01,830 --> 00:46:04,490 zabalit vše do try catch smyčky. 768 00:46:04,490 --> 00:46:06,750 Vlastně si myslím, že to je také něco, co se dosud naučil, 769 00:46:06,750 --> 00:46:10,820 v CS50, protože C, programovací jazyk C, 770 00:46:10,820 --> 00:46:14,000 nemá výjimky, ale téměř každý jiný jazyk 771 00:46:14,000 --> 00:46:16,700 má výjimky, tak opravdu, ale opravdu krátce, 772 00:46:16,700 --> 00:46:19,430 Výjimkou je něco, co kus kódu může 773 00:46:19,430 --> 00:46:21,430 vyvoláním výjimky, kdy se něco pokazí, 774 00:46:21,430 --> 00:46:23,410 ale pak možná nějaký jiný kus kódu výš 775 00:46:23,410 --> 00:46:25,810 může zachytit tuto výjimku a něco s ním. 776 00:46:25,810 --> 00:46:27,710 >> Například, v tomto případě, 777 00:46:27,710 --> 00:46:29,940 kus kódu, který se snaží zachránit model, 778 00:46:29,940 --> 00:46:33,170 ověřuje model, a pokud se říká, "Dobře, tento model je neplatná," 779 00:46:33,170 --> 00:46:36,150 to bude házet výjimku, a to je docela ekvivalentní 780 00:46:36,150 --> 00:46:39,870 v C můžete vrátit -1 nebo něco takového. 781 00:46:39,870 --> 00:46:42,320 A pak se na mě, je tato funkce, můj kód 782 00:46:42,320 --> 00:46:46,310 na vyšší úrovni, mohu zkusit a chytit tuto výjimku 783 00:46:46,310 --> 00:46:49,330 a v podstatě řekl: "Dobře, když jsem zachytit výjimku, co mám dělat?" 784 00:46:49,330 --> 00:46:51,570 Nebo bych si mohl vybrat to chytit, že výjimku a nechat někoho výš 785 00:46:51,570 --> 00:46:54,400 zachytit výjimku, nebo pokud to nikdo chytí, 786 00:46:54,400 --> 00:46:56,820 pak celý program havaruje a říká, 787 00:46:56,820 --> 00:46:59,170 "Něco se pokazilo, a nemohl jsem to vydržet." 788 00:46:59,170 --> 00:47:04,490 >> Ale to, co děláme, je si zabalit kus kódu v bloku try, 789 00:47:04,490 --> 00:47:09,030 a pak si také přidat něco, co nazývá blok catch, 790 00:47:09,030 --> 00:47:17,300 což je druh kódu, který se bude snažit zachytit výjimky, které mohou nastat. 791 00:47:17,300 --> 00:47:20,430 A tak když jsem zachytit tento konkrétní výjimku 792 00:47:20,430 --> 00:47:23,110 nebo neplatnosti výjimka, pak to, co budu dělat, je 793 00:47:23,110 --> 00:47:31,210 Jdu nastavit chyby - myslím, že to, jak jsem to udělat - 794 00:47:31,210 --> 00:47:35,370 a já jdu nastavit chyby na nějaký předmět. 795 00:47:35,370 --> 00:47:40,920 A co budu dělat, pak, je-li to zasáhne tuto výjimku, 796 00:47:40,920 --> 00:47:43,090 že to nebude přesměrovat, a pokud to není přesměrování, 797 00:47:43,090 --> 00:47:46,160 to přijde z, jestliže blogu 798 00:47:46,160 --> 00:47:49,920 a hit to blog / nové, které se chtějí co chci dělat. 799 00:47:49,920 --> 00:47:53,190 Pokud dojde k chybě, pak se chci vrátit do formy 800 00:47:53,190 --> 00:47:55,100 a zobrazení těchto chyb. 801 00:47:55,100 --> 00:48:00,780 A teď, co chci udělat, je chci předat v těchto chyb 802 00:48:00,780 --> 00:48:07,010 k zobrazení. 803 00:48:07,010 --> 00:48:10,360 Dobře, myslím, že mám názor tady, 804 00:48:10,360 --> 00:48:14,660 a jsem v podstatě chcete zobrazit ty chyby, pokud existují. 805 00:48:14,660 --> 00:48:19,740 Než jsem se psát HTML na to, že budu opravdu rychle 806 00:48:19,740 --> 00:48:21,720 ukázat, co je struktura této chyby variabilní vzhled líbí, 807 00:48:21,720 --> 00:48:23,080 a to je dobrá praxe obecně. 808 00:48:23,080 --> 00:48:25,070 Mnohokrát vám něco zpět z nějaké metody, 809 00:48:25,070 --> 00:48:27,250 některé funkce ve webovém rámci, 810 00:48:27,250 --> 00:48:29,410 a vy nevíte, co je proměnná vypadá, 811 00:48:29,410 --> 00:48:31,210 takže nevím, jak s ním pracovat. 812 00:48:31,210 --> 00:48:37,790 Chystám se použít metodu tisku r podstatě vytisknout. 813 00:48:37,790 --> 00:48:41,100 >> A jak můžete vidět, to mi říká, že je to spolupracovník pole, 814 00:48:41,100 --> 00:48:44,880 a máte klíč, autor, body tohoto řetězce, 815 00:48:44,880 --> 00:48:47,050 autor nesmí být prázdné, a další klíč, tělo, 816 00:48:47,050 --> 00:48:49,680 Body do jiného řetězce, tělo nesmí být prázdný. 817 00:48:49,680 --> 00:48:52,130 Jsem rád, jo, v pohodě. 818 00:48:52,130 --> 00:48:56,230 Pak jsem si iterovat přes pole a vytisknout každou jednu zprávu. 819 00:48:56,230 --> 00:49:02,150 Je to v podstatě jako asociativní pole s partou zpráv. 820 00:49:02,150 --> 00:49:13,500 Co budu dělat, je "pokud chyby," 821 00:49:13,500 --> 00:49:17,140 a já jdu k vytvoření seznamu, 822 00:49:17,140 --> 00:49:20,860 a já jdu k iteraci přes všechny chyby. 823 00:49:33,730 --> 00:49:38,710 A to, a teď budu snažit předložit to znovu, 824 00:49:38,710 --> 00:49:41,200 a uvidíme, co dostaneme. 825 00:49:41,200 --> 00:49:45,370 Teď jsme si tento pěkný seznam chyb, 826 00:49:45,370 --> 00:49:48,630 a to je ještě docela ošklivý, ale to samozřejmě může být formátován vypadat hezky, 827 00:49:48,630 --> 00:49:51,620 ale základní myšlenka je jen v několika málo řádků kódu, 828 00:49:51,620 --> 00:49:53,720 jsme byli schopni potvrdit náš model, 829 00:49:53,720 --> 00:49:56,510 Ujistěte se, že některá pole nejsou prázdná, 830 00:49:56,510 --> 00:49:59,740 a kdyby se něco pokazilo, pak se vrátit nějaké chybové zprávy 831 00:49:59,740 --> 00:50:01,760 Pak jsem mohl prezentovat zpět k uživateli. 832 00:50:01,760 --> 00:50:03,910 Můžete také upravit vaše potvrzení 833 00:50:03,910 --> 00:50:07,590 takže se můžete skutečně mít chybová zpráva 834 00:50:07,590 --> 00:50:09,620 který je více specifický pro vaši aplikaci, nebo něco takového. 835 00:50:09,620 --> 00:50:14,600 Vše, co je obecně přizpůsobitelné. 836 00:50:14,600 --> 00:50:17,150 >> Bohužel, máme málo času, 837 00:50:17,150 --> 00:50:20,040 takže budu muset uříznout živé kódování relace zde. 838 00:50:20,040 --> 00:50:22,980 Existuje spousta dalších funkcí, které chci ukázat pro vás 839 00:50:22,980 --> 00:50:25,650 v tomto příkladu. 840 00:50:25,650 --> 00:50:27,620 Například, můžete přidat šablony na vaše stránky, 841 00:50:27,620 --> 00:50:31,110 takže možná tam je nějaký druh kódu HTML, který chcete použít 842 00:50:31,110 --> 00:50:35,190 na každé stránce ve vašem webu, a místo toho, vkládání, které 843 00:50:35,190 --> 00:50:40,630 v každém jednotlivém zobrazení souboru máte, což samozřejmě by špatné praxe, 844 00:50:40,630 --> 00:50:43,020 můžete v podstatě definovat tyto šablony, 845 00:50:43,020 --> 00:50:46,660 a pak v ovladači řekl: "Dobře, já jsem s použitím této šablony." 846 00:50:46,660 --> 00:50:50,130 "Byly všechny mé názory použijte tuto šablonu." 847 00:50:50,130 --> 00:50:52,470 A ještě poslední věc, kterou chci ukázat, jak dobře 848 00:50:52,470 --> 00:50:57,800 že nemáme čas je cross-site scripting, 849 00:50:57,800 --> 00:51:01,430 a v podstatě myslím, že vy jste pravděpodobně viděli v CS50 - 850 00:51:01,430 --> 00:51:03,770 Myslím, že David Malan pravděpodobně mluvil o tom, jak lze obvykle aplikovat 851 00:51:03,770 --> 00:51:08,040 JavaScript kód do - mluvil jsi o tom? 852 00:51:08,040 --> 00:51:10,220 Možná, že? Možná, že ne? 853 00:51:10,220 --> 00:51:12,670 >> Ale mnohokrát, můžete vložení škodlivého kódu JavaScript 854 00:51:12,670 --> 00:51:15,630 do něčí databáze, a pokud nemají uniknout, že správně, 855 00:51:15,630 --> 00:51:18,280 pak, když oni představují, že data zpět k uživateli, 856 00:51:18,280 --> 00:51:21,310 pak to může spustit nějaký náhodný kód JavaScript nechcete, aby se stalo, 857 00:51:21,310 --> 00:51:23,050 a chtěl jsem ukázat, jak byste to udělat v Kohana. 858 00:51:23,050 --> 00:51:25,380 Je to opravdu velmi jednoduché. 859 00:51:25,380 --> 00:51:31,920 Mohl bych to udělat právě teď po 2 sekundách doslova. 860 00:51:31,920 --> 00:51:34,560 Jediné, co musíte udělat, je v podstatě zabalit tyto věci 861 00:51:34,560 --> 00:51:46,920 v této věci tzv. HTML entity. 862 00:51:46,920 --> 00:51:51,180 A že bude automaticky správně uniknout všechny znaky 863 00:51:51,180 --> 00:51:54,730 a ujistěte se, že nechcete dostat tento problém. 864 00:51:54,730 --> 00:51:57,220 [Student] napsáno nesprávně první test. 865 00:51:57,220 --> 00:52:01,030 [Brandon Liu] Oh, pardon. 866 00:52:01,030 --> 00:52:06,420 >> Tak, to je vše, co jsem se s vámi podělit o dnes. 867 00:52:06,420 --> 00:52:09,930 Tyto snímky budou zveřejněny, ale tito jsou obecně 868 00:52:09,930 --> 00:52:13,900 pouze zdroje, které by opravdu potřebujete, abyste mohli začít s Kohana. 869 00:52:13,900 --> 00:52:16,770 Můžete jít na webové stránky. Mají uživatelský manuál, a mají také API Explorer. 870 00:52:16,770 --> 00:52:20,630 Můžeme zkoumat všechny různé funkce a pomocné funkce, které mají pro vás. 871 00:52:20,630 --> 00:52:22,070 Oni obecně mají dostatek informací na internetových stránkách 872 00:52:22,070 --> 00:52:25,310 které můžete použít, abyste mohli začít a jít s Kohana. 873 00:52:25,310 --> 00:52:30,840 Nejsou že mnoho cvičení, myslím, že pro Kohana, mimo 874 00:52:30,840 --> 00:52:33,880 to, co mají na stránkách zde, tak je to asi nejlepší volbou. 875 00:52:33,880 --> 00:52:35,600 Ale pokud chcete jít s webovým rámcem 876 00:52:35,600 --> 00:52:37,120 a nechcete, aby vyzvednout nový jazyk, 877 00:52:37,120 --> 00:52:39,780 a chcete něco, co je relativně lehký a má snadný učení, 878 00:52:39,780 --> 00:52:41,570 Určitě bych navrhnout Kohana. 879 00:52:41,570 --> 00:52:44,040 To je asi nejlepší nabídka pro to. 880 00:52:44,040 --> 00:52:46,830 Legrační věc, i když, je-li jsme pomocí Ruby on Rails, 881 00:52:46,830 --> 00:52:48,550 jsme mohli replikovat to, co jsme právě udělali 882 00:52:48,550 --> 00:52:51,430 a pravděpodobně více za méně než 3 minuty. 883 00:52:51,430 --> 00:52:54,710 To není vtip, ale učit Ruby on Rails trvá mnohem déle 884 00:52:54,710 --> 00:52:56,780 než by se naučit Kohana. 885 00:52:56,780 --> 00:52:58,840 Je to v podstatě vaše volba o tom, co chcete vybrat učit, 886 00:52:58,840 --> 00:53:01,260 ale pokud chcete dostat nahoru a běží rychle, 887 00:53:01,260 --> 00:53:03,870 Kohana je určitě velmi dobrá volba. 888 00:53:03,870 --> 00:53:06,730 Jakékoliv >> poslední otázky, než jsme nakonec? Ano. 889 00:53:06,730 --> 00:53:08,020 [Student] Jak bychom se integrovat, že 890 00:53:08,020 --> 00:53:13,120 v rámci CSS, jako jste použili, když jste se poučil? 891 00:53:13,120 --> 00:53:16,700 Otázkou je, jak by se integrovat, že s rámcem CSS? 892 00:53:16,700 --> 00:53:18,740 Co bychom asi udělat, je, že jsme pravděpodobně zahrnovat 893 00:53:18,740 --> 00:53:21,090 nová složka, kde bychom vypsat všechny naše CSS souborů, 894 00:53:21,090 --> 00:53:23,010 a pak jsme si také přidat novou šablonu. 895 00:53:23,010 --> 00:53:26,090 V šabloně bychom zahrnout tyto soubory CSS 896 00:53:26,090 --> 00:53:28,410 aby se ujistil, že jsou odkazoval se na každé stránce, 897 00:53:28,410 --> 00:53:32,220 a pak, když jste vlastně psaní HTML, 898 00:53:32,220 --> 00:53:34,010 stačí přidat odpovídající třídy a kdoví co ještě, 899 00:53:34,010 --> 00:53:36,100 a například, když používáte něco jako formu 900 00:53:36,100 --> 00:53:40,710 pomocná funkce, můžete přidat další parametry poté 901 00:53:40,710 --> 00:53:42,830 určit, jaké tříd chcete být připojeny na různé věci 902 00:53:42,830 --> 00:53:47,820 tak, aby mohl řádně styl, a to v podstatě, jak byste jít. 903 00:53:47,820 --> 00:53:50,100 >> Nějaké další otázky? 904 00:53:50,100 --> 00:53:52,090 Úžasné. 905 00:53:52,090 --> 00:53:58,540 Děkuji vám za váš čas, a děkuji, že jste přišli. 906 00:53:58,540 --> 00:54:05,170 Nechtěl jsem přidat hodně jiný, 907 00:54:05,170 --> 00:54:08,560 ale 1 opravdu rychlá věc je, že nemáme odkaz 908 00:54:08,560 --> 00:54:12,590 do formuláře. 909 00:54:12,590 --> 00:54:14,310 Opravdu hloupý. 910 00:54:14,310 --> 00:54:20,110 Dodejme - vlastně v zobrazení, blog, index, 911 00:54:20,110 --> 00:54:23,890 pojďme opravdu rychle přidat odkaz, který jde na novou stránku, 912 00:54:23,890 --> 00:54:26,770 stránky, kde můžete vložit nový příspěvek. 913 00:54:26,770 --> 00:54:29,950 Budeme to dělat. 914 00:54:29,950 --> 00:54:34,020 Co je to pěkné je, že je celá tato skupina pomocných funkcí HTML 915 00:54:34,020 --> 00:54:37,090 které dělat různé věci pro vás, takže si už viděl subjekty 916 00:54:37,090 --> 00:54:41,980 fungovat tady, ale mají také funkci nazvanou "kotva" 917 00:54:41,980 --> 00:54:45,400 které můžete zadat blog / nové 918 00:54:45,400 --> 00:54:49,550 a řekl: "Post nový blog." 919 00:54:49,550 --> 00:54:51,850 A to by se vytvořit tento odkaz pro vás, 920 00:54:51,850 --> 00:54:54,120 a to se zdá velice jednoduché udělat, ale je to pěkné, 921 00:54:54,120 --> 00:54:58,720 protože předpokládám, že se stěhujete své webové stránky od 1. domény do druhé. 922 00:54:58,720 --> 00:55:01,390 A pokud jste právě napsal z adres URL sami, 923 00:55:01,390 --> 00:55:04,350 pak budete muset změnit všechny adresy URL. 924 00:55:04,350 --> 00:55:06,850 Nebo možná jste ji přestěhoval z 1 podsložky do jiné podsložky. 925 00:55:06,850 --> 00:55:08,790 Budete muset změnit všechny tyto adresy URL sami, 926 00:55:08,790 --> 00:55:12,180 a že to není žádná legrace. 927 00:55:12,180 --> 00:55:14,510 Můžete použít tento kotvu tady, 928 00:55:14,510 --> 00:55:18,950 a můžete změnit doménu nebo podsložky prefix 929 00:55:18,950 --> 00:55:20,640 v konfiguračním souboru jednou, 930 00:55:20,640 --> 00:55:22,980 a pak to bude platit, že všude, a to je, opět, 931 00:55:22,980 --> 00:55:26,930 skvělým příkladem toho, neopakují se, sušení kód z. 932 00:55:26,930 --> 00:55:30,370 Všude tam, kde jste opakovat sami, zkuste a extrahovat v nějakém konfiguračním souboru 933 00:55:30,370 --> 00:55:34,160 nebo na jinou funkci a jsou to zvládnout za vás. 934 00:55:34,160 --> 00:55:42,930 >> A úplně poslední věc, kterou jsem vám chtěl ukázat, bylo 935 00:55:42,930 --> 00:55:50,250 Předpokládám, že jsme zpátky na tento post, a já jsem složil nějakou opravdu dlouhou esej, 936 00:55:50,250 --> 00:55:52,670 ale zapomněl jsem, aby zahrnovala můj autora. 937 00:55:52,670 --> 00:55:55,210 Teď, když jsem klepněte na tlačítko "Odeslat příspěvek", 938 00:55:55,210 --> 00:55:57,270 Ztratil jsem všechno. 939 00:55:57,270 --> 00:56:00,000 Ne! Opravdu smutné. 940 00:56:00,000 --> 00:56:03,870 Tak, jak se vypořádat s tím? 941 00:56:03,870 --> 00:56:06,070 To je to, co děláme. 942 00:56:06,070 --> 00:56:09,340 To, co děláme, je zde pro tyto vstupní a textové oblasti funkcí, 943 00:56:09,340 --> 00:56:12,700 pokud zahrneme druhý parametr, pak hodnota tohoto druhého parametru 944 00:56:12,700 --> 00:56:16,620 bude to pole bude zpočátku naplněn. 945 00:56:16,620 --> 00:56:23,570 Co můžeme udělat, je v našem blogu regulátoru, 946 00:56:23,570 --> 00:56:25,360 bychom mohli navázat další proměnné. 947 00:56:25,360 --> 00:56:27,050 Nazvěme to "hodnoty" Možná. 948 00:56:27,050 --> 00:56:30,620 A předat po poli, a to doslova. 949 00:56:30,620 --> 00:56:32,620 To znamená, že v případě, že ověření se nezdařilo, 950 00:56:32,620 --> 00:56:36,570 projít se mnou post pole, které jsem předkládal od posledního požadavku, 951 00:56:36,570 --> 00:56:38,420 a že způsob, jak mohu použít hodnoty z mého posledního podání 952 00:56:38,420 --> 00:56:44,540 repopulate pole. 953 00:56:44,540 --> 00:56:49,600 Teď můžu udělat něco jako hodnoty autora 954 00:56:49,600 --> 00:56:55,180 a hodnoty těla, a to tak teď když to udělám nějaké náhodné věci 955 00:56:55,180 --> 00:57:01,490 a klepněte na tlačítko "Odeslat příspěvek", a pak to tam zůstane. 956 00:57:01,490 --> 00:57:03,830 Ale my se setkáme s jiným problémem. 957 00:57:03,830 --> 00:57:07,670 To funguje, ale když jsem se jít na stránku hned napoprvé, 958 00:57:07,670 --> 00:57:09,720 to bude k havárii, a to proto, že hned napoprvé 959 00:57:09,720 --> 00:57:13,730 jdeme na stránku, tento příspěvek proměnná nebyla dosud stanovena. 960 00:57:13,730 --> 00:57:18,170 To je null. To neexistuje. 961 00:57:18,170 --> 00:57:21,630 >> A co chceme říci, je-li tento klíč existuje, 962 00:57:21,630 --> 00:57:27,750 pak se vrátí hodnotu tohoto pole, 963 00:57:27,750 --> 00:57:30,450 ale pokud neexistuje klíč, pak se vrátí prázdný řetězec. 964 00:57:30,450 --> 00:57:32,150 To je funkce chceme zde. 965 00:57:32,150 --> 00:57:34,690 Chceme zjistit, jestli před pokusem o přístup k matici existuje klíč, 966 00:57:34,690 --> 00:57:36,580 a dost naštěstí, 967 00:57:36,580 --> 00:57:38,570 Kohana nám také dává pomocnou funkci pro to. 968 00:57:38,570 --> 00:57:41,040 Mají celou tuto sadu funkcí 969 00:57:41,040 --> 00:57:43,660 pod názvem ARR, krátký pro pole, 970 00:57:43,660 --> 00:57:45,800 a mají 1 funkce s názvem "dostat," 971 00:57:45,800 --> 00:57:48,690 a můžete předat v poli, 972 00:57:48,690 --> 00:57:50,740 a můžete projít v názvu klíče. 973 00:57:50,740 --> 00:57:54,330 Tak co to bude dělat v podstatě je to se bude snažit získat ten klíč, 974 00:57:54,330 --> 00:57:56,470 ale v případě, že klíč není v poli, 975 00:57:56,470 --> 00:58:00,900 pak se to vrátí prázdný, nebo můžeme také určit výchozí, věřím, 976 00:58:00,900 --> 00:58:03,500 což je hezké. 977 00:58:09,740 --> 00:58:13,150 Nyní, pokud budeme dělat stejnou věc znovu, 978 00:58:13,150 --> 00:58:15,970 pak vidíte, teď to funguje napoprvé, 979 00:58:15,970 --> 00:58:18,080 a znovu, pokud napíšeme v nějakém náhodném věci 980 00:58:18,080 --> 00:58:23,210 a pokusit se odeslat, pak to tam zůstane. 981 00:58:23,210 --> 00:58:31,640 >> A myslím, že může také ukázat, jak přidat šablonu opravdu rychle. 982 00:58:31,640 --> 00:58:36,140 Co můžeme udělat jako první je, že můžete přidat nový pohled nazvaný "template.php" 983 00:58:36,140 --> 00:58:38,890 ve složce pohledy, 984 00:58:38,890 --> 00:58:44,730 a co budu dělat, je budu tisknout něco, co nazývá "obsah" 985 00:58:44,730 --> 00:58:49,130 který se bude můj hlavní obsah. 986 00:58:49,130 --> 00:58:51,380 A možná na samém dně jdu přidat, řekněme, 987 00:58:51,380 --> 00:58:53,340 copyright. 988 00:58:53,340 --> 00:58:56,150 [Neslyšitelný studenta otázka] 989 00:58:56,150 --> 00:58:58,050 [Brandon Liu] Možná, že to je super základní šablona chci použít. 990 00:58:58,050 --> 00:59:02,840 Chci mít složku s mým autorských práv na každé straně, 991 00:59:02,840 --> 00:59:05,560 a teď, co budu dělat v mém ovladači 992 00:59:05,560 --> 00:59:07,740 Nyní je místo toho řekl, "rozšiřuje Controller" 993 00:59:07,740 --> 00:59:11,870 Budu říkat, "rozšiřuje Controller_Template," 994 00:59:11,870 --> 00:59:15,890 a teď místo toho řekl, "tělo odezvy je stejná tohoto pohledu," 995 00:59:15,890 --> 00:59:24,110 Budu říkat, "tento obsah šablona je -" 996 00:59:24,110 --> 00:59:27,690 a myslím, že - mám dát rovnítko? 997 00:59:27,690 --> 00:59:32,710 Zapomněl jsem. Jo, to jsem si myslel. 998 00:59:32,710 --> 00:59:37,710 A teď nastavena proměnná obsah rovnat názor. 999 00:59:37,710 --> 00:59:40,960 Mohu zde totéž. 1000 00:59:49,620 --> 00:59:57,170 A teď když jsem aktualizovat, můžete vidět, teď to autorské právo je tam přidal, 1001 00:59:57,170 --> 01:00:00,350 a jen vydělat nějaké náhodné místo, 1002 01:00:00,350 --> 01:00:06,760 a pak znovu, měli byste vidět, že autorské právo je na samém spodní části stránky. 1003 01:00:06,760 --> 01:00:10,730 >> Velká. To je vše, chtěl bych vám ukázat kluci. 1004 01:00:10,730 --> 01:00:14,970 [Potlesk] 1005 01:00:14,970 --> 01:00:18,950 Jakékoliv dotazy? 1006 01:00:18,950 --> 01:00:21,000 [CS50.TV]