1 00:00:00,000 --> 00:00:02,150 >> [Семинар] [Kohana: А Лесни PHP Рамковниот] 2 00:00:02,150 --> 00:00:04,000 [Брендон Лиу] [Универзитетот Харвард] 3 00:00:04,000 --> 00:00:07,270 [Ова е CS50.] [CS50.TV] 4 00:00:07,270 --> 00:00:09,130 >> Здраво на сите. Моето име е Брендон. 5 00:00:09,130 --> 00:00:11,000 Јас сум помлад тука во прави колеџ компјутерски науки, и денес ние ќе се зборува за 6 00:00:11,000 --> 00:00:14,460 Kohana, што е PHP Веб развој рамка. 7 00:00:14,460 --> 00:00:17,260 Денес се случува да биде во живо кодирање семинар, 8 00:00:17,260 --> 00:00:21,000 па јас сум во основа ќе поминуваат 5-10 минути објаснувајќи што Kohana е, 9 00:00:21,000 --> 00:00:25,000 и тогаш јас сум буквално случува да се изгради супер едноставен блог 10 00:00:25,000 --> 00:00:28,570 за вас, токму тука буквално од нула. 11 00:00:28,570 --> 00:00:32,229 Ние ќе го симнете го кодот од веб-сајт Kohana, 12 00:00:32,229 --> 00:00:35,000 и ние ќе да се започне изградба на блог, и се надевам дека тоа ќе биде многу поучно, 13 00:00:35,000 --> 00:00:37,000 бидејќи ќе видите можеби можеби и јас ќе се направи некои грешки, 14 00:00:37,000 --> 00:00:39,000 и ќе видите ме закрепне од нив, 15 00:00:39,000 --> 00:00:42,040 или ќе видите мојата мисла процес, како јас се изгради преку овој блог, 16 00:00:42,040 --> 00:00:44,000 а во меѓувреме, исто така, ќе се запознаат со рамка себе. 17 00:00:44,000 --> 00:00:48,000 Се надевам дека тоа ќе биде многу поучно вежба. 18 00:00:48,000 --> 00:00:51,370 >> Прво, она што точно е рамка? 19 00:00:51,370 --> 00:00:54,000 Ако сте биле земајќи CS50 досега, не сте навистина работел со било кој 20 00:00:54,000 --> 00:00:56,000 уште рамки, и нешто е тоа. 21 00:00:56,000 --> 00:01:00,000 Веројатно сте се направи 1 веб развој pset веќе, 22 00:01:00,000 --> 00:01:03,000 и да речеме ќе продолжи да се изгради веб-сајтови и да ја задржите зграда веб-сајтови. 23 00:01:03,000 --> 00:01:05,000 Ќе почне да се забележи неколку нешта. 24 00:01:05,000 --> 00:01:07,000 Првото нешто што ќе забележите е дека сте веројатно се прават истите работи 25 00:01:07,000 --> 00:01:09,150 одново и одново цело време, 26 00:01:09,150 --> 00:01:13,000 работи како чистење корисникот влезни податоци, 27 00:01:13,000 --> 00:01:17,250 работи како организирање на вашите датотеки во одреден начин. 28 00:01:17,250 --> 00:01:19,000 Од друга работа што ќе исто така, веројатно забележите е дека вашиот код 29 00:01:19,000 --> 00:01:21,000 може да почне да станат многу, многу неуредна, 30 00:01:21,000 --> 00:01:24,000 и може да го оставиме неуредна и само имаат многу тешко време одржување на неа, 31 00:01:24,000 --> 00:01:26,000 или може да почнат да структура вашиот код и што го прави модуларен 32 00:01:26,000 --> 00:01:28,510 на одреден начин да се направи повеќе одржување. 33 00:01:28,510 --> 00:01:31,020 >> Ова е местото каде што веб рамки основа дојде внатре 34 00:01:31,020 --> 00:01:33,680 Овие луѓе кои биле изградени голем број на веб-сајтови, велат тие, 35 00:01:33,680 --> 00:01:35,820 "Ние не треба да се повтори ова секој пат кога ние се изгради веб-сајт." 36 00:01:35,820 --> 00:01:39,050 "Зошто не можеме само да пакет, кој го прави сите овие работи за вас 37 00:01:39,050 --> 00:01:41,250 секој пат кога ќе сакате да се изгради веб-сајт? " 38 00:01:41,250 --> 00:01:43,030 И така што кога ќе се направи нов веб-сајт, 39 00:01:43,030 --> 00:01:45,880 можете само да се фокусира на она што токму тоа особено сајт е за. 40 00:01:45,880 --> 00:01:48,630 Вие не треба да се повторува на сите различни конфигурациски 41 00:01:48,630 --> 00:01:53,070 и сепарација на кодови и пишуваме код 42 00:01:53,070 --> 00:01:56,180 дека често треба да направите кога сте правење веб-сајтови. 43 00:01:56,180 --> 00:01:59,410 Идејата е дека рамка ви овозможува да пишувате на повисоко ниво код 44 00:01:59,410 --> 00:02:01,030 без да се грижите за пониско ниво детали. 45 00:02:01,030 --> 00:02:03,670 А пониско ниво детали може да биде нешто како 46 00:02:03,670 --> 00:02:07,250 се занимаваат со чистење корисникот влезни податоци. 47 00:02:07,250 --> 00:02:09,320 Тоа е нешто што навистина не треба да треба да се грижите. 48 00:02:09,320 --> 00:02:12,370 Треба да се фокусираат на она што вашиот веб-распределба е всушност околу. 49 00:02:12,370 --> 00:02:14,790 Што ја елиминира многу boilerplate код. 50 00:02:14,790 --> 00:02:16,640 Тоа е архитектура за вашиот проект. 51 00:02:16,640 --> 00:02:18,680 >> Од најпопуларните еден ќе биде Модел-View-Controller, 52 00:02:18,680 --> 00:02:20,380 што јас ќе одам да се зборува за една секунда. 53 00:02:20,380 --> 00:02:22,790 И многу пати овие рамки отелотворуваат збир на процедури, 54 00:02:22,790 --> 00:02:25,750 правила, и најдобрите практики за да ги користите 55 00:02:25,750 --> 00:02:28,190 така што кога ќе ги усвојат веб рамка 56 00:02:28,190 --> 00:02:30,050 што треба да го напишете вашиот код на одреден начин, 57 00:02:30,050 --> 00:02:32,430 и тоа е обично договорен збир на принципи 58 00:02:32,430 --> 00:02:34,290 од страна на заедницата која е општо прифатена за да биде 59 00:02:34,290 --> 00:02:36,230 добар начин на пишување код. 60 00:02:36,230 --> 00:02:38,260 Тоа го прави вашиот код повеќе одржување, уште употребливи, 61 00:02:38,260 --> 00:02:40,030 така натаму и така натаму. 62 00:02:40,030 --> 00:02:42,740 И, конечно, нешто што сакам да го истакнам за рамки 63 00:02:42,740 --> 00:02:45,980 наспроти библиотеки е ова идеја за инверзија на контрола, и работата е тоа. 64 00:02:45,980 --> 00:02:48,430 Разликата меѓу библиотеката и рамка е дека со библиотека 65 00:02:48,430 --> 00:02:51,990 се уште пишување на главната програма, 66 00:02:51,990 --> 00:02:54,460 а ти си вид на повикувајќи се на библиотека 67 00:02:54,460 --> 00:02:56,810 и повикување на библиотеката да се направи нешто за вас. 68 00:02:56,810 --> 00:02:58,180 Разликата меѓу библиотеката и рамка 69 00:02:58,180 --> 00:03:01,620 е дека рамка почнува со контрола, 70 00:03:01,620 --> 00:03:03,260 и тоа се повикува вашиот код, 71 00:03:03,260 --> 00:03:06,190 па можете да мислам на тоа како - ова е зошто тоа се нарекува рамка - 72 00:03:06,190 --> 00:03:09,700 на рамка обезбедува оваа рамка и структура за вашиот код, 73 00:03:09,700 --> 00:03:11,320 и ви се пополни во дупките, 74 00:03:11,320 --> 00:03:13,990 и ова ќе стане повеќе очигледна во вториот 75 00:03:13,990 --> 00:03:16,670 кога ќе ме види почнете да пишувате код во контекст на рамката. 76 00:03:16,670 --> 00:03:19,130 Ќе видите дека сум пополнување на празнини, 77 00:03:19,130 --> 00:03:22,450 и рамката е вид на контролирање на сите движат парчиња, 78 00:03:22,450 --> 00:03:27,420 и јас треба да се стави на парчиња на вистинските места. 79 00:03:27,420 --> 00:03:29,360 >> Денес ние ќе зборуваме за Kohana, 80 00:03:29,360 --> 00:03:31,610 кој е еден од многу PHP рамки. 81 00:03:31,610 --> 00:03:34,550 Постојат веб рамки, а тука се и оние во речиси секој јазик, 82 00:03:34,550 --> 00:03:38,330 и јас сум подигање Kohana бидејќи Kohana е веројатно 83 00:03:38,330 --> 00:03:43,250 и општо признати како најлесниот PHP рамка да ги собереш. 84 00:03:43,250 --> 00:03:45,940 Тоа е најмногу лесен. 85 00:03:45,940 --> 00:03:48,470 Постојат и други оние таму, кои доаѓаат со многу, многу повеќе функции, 86 00:03:48,470 --> 00:03:51,590 но тие имаат тенденција да биде многу потешко да ги собереш. 87 00:03:51,590 --> 00:03:54,920 И, конечно, Kohana користи MVC архитектура. 88 00:03:54,920 --> 00:03:57,780 Тоа е доволно лесни дека ние буквално може да се изгради на проектот 89 00:03:57,780 --> 00:03:59,620 токму тука, точно пред твоите очи, и можете да доста 90 00:03:59,620 --> 00:04:02,780 следат заедно прилично лесно. 91 00:04:02,780 --> 00:04:04,420 >> Што е MVC архитектура? 92 00:04:04,420 --> 00:04:06,540 Таа се залага за модел-View-Controller, 93 00:04:06,540 --> 00:04:09,560 а можеби ако мислиш за кодот сте биле пишување досега 94 00:04:09,560 --> 00:04:11,280 за некои од вашите веб развој psets 95 00:04:11,280 --> 00:04:14,710 може да биде во можност да видите некои од ова, но обично кога ќе почнете да пишување 96 00:04:14,710 --> 00:04:16,500 посложени веб апликација, 97 00:04:16,500 --> 00:04:21,209 поделбата помеѓу овие 3 сегменти станува се повеќе и повеќе очигледна. 98 00:04:21,209 --> 00:04:26,740 Јас изложени на MVC тука вид на како стек, 99 00:04:26,740 --> 00:04:29,920 и често ќе слушнете луѓе се зборува за Купишта во веб развој, 100 00:04:29,920 --> 00:04:33,760 и ова е за да се илустрира идејата дека 101 00:04:33,760 --> 00:04:37,510 секој слој, секоја компонента навистина се обидува да комуницира само 102 00:04:37,510 --> 00:04:40,750 помеѓу 2 други компоненти. 103 00:04:40,750 --> 00:04:44,550 Некој пристапи вашиот веб-сајт како клиент или прелистувач. 104 00:04:44,550 --> 00:04:48,870 Тие комуницираат со вашата програма преку погледот код. 105 00:04:48,870 --> 00:04:50,500 Погледот код поврзува со контролорот. 106 00:04:50,500 --> 00:04:52,400 Контролорот се поврзува со моделот, 107 00:04:52,400 --> 00:04:55,090 и моделот се поврзува со SQL база на податоци. 108 00:04:55,090 --> 00:04:59,670 И не постои подрипнувајќи помеѓу ако напишете вашиот код правилно. 109 00:04:59,670 --> 00:05:01,670 >> Што овие работи направам? 110 00:05:01,670 --> 00:05:06,020 Моделот суштина е парче од код кој се занимава со вашите податоци. 111 00:05:06,020 --> 00:05:09,100 Нешто што се занимава со вашата база на податоци, со објекти кои ќе ги чувате, 112 00:05:09,100 --> 00:05:11,280 или прибирањето оние објекти во базата на податоци, 113 00:05:11,280 --> 00:05:13,450 Тоа е се постапува од страна на модел. 114 00:05:13,450 --> 00:05:15,290 Можеби имаш предмети во вашата база на податоци. 115 00:05:15,290 --> 00:05:17,700 Ние ќе се создаде модел и имаат врска со мислењата, 116 00:05:17,700 --> 00:05:19,760 па еден пост може да има некои атрибути на тоа. 117 00:05:19,760 --> 00:05:23,900 Може да имаат функции во целиот чување на оние мислења и прибирањето мислења 118 00:05:23,900 --> 00:05:26,270 или филтрирање на мислења и така натаму и така натаму, 119 00:05:26,270 --> 00:05:28,880 и тоа е сите го кодот што е постапува од страна на модел. 120 00:05:28,880 --> 00:05:31,780 Контролорот е вид на апликација логика, 121 00:05:31,780 --> 00:05:37,910 и многу различни нешта може да тргне во примената логика. 122 00:05:37,910 --> 00:05:39,790 Ако зборуваме на различни API-то, 123 00:05:39,790 --> 00:05:42,310 кои можат да бидат, каде што си имаш работа со примена логика. 124 00:05:42,310 --> 00:05:47,990 Ако се обидуваш да мора да се донесе во податоците од повеќе различни модели 125 00:05:47,990 --> 00:05:51,540 и мора да ги комбинирате, на некој начин, што често може да се постапува од страна на контролорот. 126 00:05:51,540 --> 00:05:53,820 На пример, на Фејсбук, ако некој пријател, 127 00:05:53,820 --> 00:05:58,500 тогаш можеби тоа чин на воспоставување на тој однос 128 00:05:58,500 --> 00:06:00,490 може да се направи од страна на контролорот. 129 00:06:00,490 --> 00:06:04,350 >> И, конечно, погледот е код кој е генерирање на она што всушност се види. 130 00:06:04,350 --> 00:06:07,410 А многу пати Мислам дека во CS50 psets 131 00:06:07,410 --> 00:06:10,050 тие навистина не ве охрабруваме момци да се одвојат овие 3 нешта. 132 00:06:10,050 --> 00:06:12,430 Најверојатно ќе ја имаат оваа голема, долга датотеката каде што на врвот 133 00:06:12,430 --> 00:06:15,130 ќе се направи некои SQL пребарување и можеби не некои обработка 134 00:06:15,130 --> 00:06:17,020 на податоците што извадени од базата на податоци, 135 00:06:17,020 --> 00:06:19,370 и тогаш го имате сите ваши HTML на дното. 136 00:06:19,370 --> 00:06:22,840 И може да најдете дека како ќе се создаде повеќе и повеќе страници 137 00:06:22,840 --> 00:06:25,790 дека си оди за да имаат некоја код повторување, а исто така, 138 00:06:25,790 --> 00:06:29,600 она е вашата датотека добива навистина голема и долга 139 00:06:29,600 --> 00:06:32,370 и станува тежок за употреба да се справат. 140 00:06:32,370 --> 00:06:34,500 Причината зошто MVC е толку добро смета 141 00:06:34,500 --> 00:06:36,120 е за голем број на причини. 142 00:06:36,120 --> 00:06:38,110 Првата работа е нешто што се нарекува поделба на загриженост 143 00:06:38,110 --> 00:06:40,370 што е идејата дека кога имаш - 144 00:06:40,370 --> 00:06:43,520 идеално 1 парче код треба да се направи 1 работа и го направи тоа навистина добро, 145 00:06:43,520 --> 00:06:47,210 и не треба да се комбинираат парчиња на код кои го прават различни нешта. 146 00:06:47,210 --> 00:06:49,230 На пример, погледнете кодот и модел кодот, 147 00:06:49,230 --> 00:06:51,040 тие навистина не треба да бидат поврзани. 148 00:06:51,040 --> 00:06:53,290 Тие не мора да бидат во иста датотеки, па кога ќе може, одделете ги надвор 149 00:06:53,290 --> 00:06:55,300 па тоа е лесно да се одржуваат. 150 00:06:55,300 --> 00:06:57,130 >> Од друга работа е кодот повторна употреба. 151 00:06:57,130 --> 00:06:59,770 Може да најдете себеси пишување на истата SQL пребарување или прави 152 00:06:59,770 --> 00:07:03,060 слични прашања кои би можеле да бидат апстрахирани во 1 функција, 153 00:07:03,060 --> 00:07:05,440 и тоа е идејата зад модели и контролори, 154 00:07:05,440 --> 00:07:09,690 имајќи го во посебна функција кои можете да повторна употреба на различни места во вашиот проект. 155 00:07:09,690 --> 00:07:12,420 И, конечно, тоа е врзан за сушење вашиот код, 156 00:07:12,420 --> 00:07:14,700 или не си се повторува, не се повтори. 157 00:07:14,700 --> 00:07:18,090 Ова е многу разбирлива во развој. 158 00:07:18,090 --> 00:07:20,110 Секогаш кога ќе може, да не сакате да се повторува, бидејќи ако се повторува, 159 00:07:20,760 --> 00:07:23,400  тоа е многу повеќе скапи за одржување. 160 00:07:23,400 --> 00:07:26,040 Ако сакате да го смените 1 работа, ќе мора да го промени насекаде, 161 00:07:26,040 --> 00:07:30,230 и дека води до грешки, и тоа е ужасно. 162 00:07:30,230 --> 00:07:32,010 >> Ред. 163 00:07:32,010 --> 00:07:37,270 Било какви прашања досега за Kohana на сите? 164 00:07:37,270 --> 00:07:39,200 Одлично. 165 00:07:39,200 --> 00:07:42,300 Сега ние ќе се нурне во живо кодирање сесија, 166 00:07:42,300 --> 00:07:48,050 и се надевам дека се оди добро. 167 00:07:57,200 --> 00:08:00,050 Одам да се основа да се изгради овој сајт 168 00:08:00,050 --> 00:08:03,910 на еден од моите оддалечени сервери, и на тој начин вие момци можат, исто така, 169 00:08:03,910 --> 00:08:06,310 погледнете ја веб страната и да пристапите до веб-сајт, 170 00:08:06,310 --> 00:08:10,990 а исто така и на животната средина е подобро конфигуриран од мојот далечински машина, 171 00:08:10,990 --> 00:08:14,580 бидејќи тоа е водење Линукс наместо OS X. 172 00:08:14,580 --> 00:08:16,260 Ние сме буквално ќе започне. 173 00:08:16,260 --> 00:08:18,110 KohanaFramework.org. 174 00:08:18,110 --> 00:08:21,350 Одам да го симнете го кодот од веб-сајт. 175 00:08:21,350 --> 00:08:24,610 Одам да го копирате линкот адреса, 176 00:08:24,610 --> 00:08:29,770 одат на мојот сервер, да го преземете, 177 00:08:29,770 --> 00:08:33,000 и јас одам да го извлече. 178 00:08:38,330 --> 00:08:45,710 >> [Студентите] Што е најголемиот можете да направите текстот? 179 00:08:45,710 --> 00:08:47,330 [Брендон Лиу] Дали е тоа подобро? 180 00:08:47,330 --> 00:08:50,070 [Студентите] Дали е тоа остварливо? >> [Брендон Лиу] Да, тоа е во ред. 181 00:08:50,070 --> 00:08:54,500 Јас ја преземале ZIP датотека и отпакува дека во директориумот наречен Kohana, 182 00:08:54,500 --> 00:08:58,820 и ние ќе да се преименува дека CS50-Kohana, 183 00:08:58,820 --> 00:09:01,140 и ајде да одиме внатре 184 00:09:01,140 --> 00:09:03,610 Страшни. 185 00:09:03,610 --> 00:09:06,870 Тука ќе видите еден куп на различни датотеки. 186 00:09:06,870 --> 00:09:10,140 Повеќето од вас може да се игнорира - Не сме случува да поминат низ секоја датотека што е тука 187 00:09:10,140 --> 00:09:13,130 бидејќи на нашето време ограничувања, 188 00:09:13,130 --> 00:09:16,310 но генерално кога ќе го инсталирате Kohana, првото нешто што го правите 189 00:09:16,310 --> 00:09:23,210 е да одите до директориумот, 190 00:09:23,210 --> 00:09:26,050 и вие во основа ќе направи некои тестови и какво ли не животната средина 191 00:09:26,050 --> 00:09:28,640 да бидете сигурни дека вашата околина е правилно поставен да работи Kohana 192 00:09:28,640 --> 00:09:31,450 и бидете сигурни дека сè е во ред. 193 00:09:31,450 --> 00:09:35,510 Можете да видите повеќето работи поминаа, но генерално секогаш работат во овој проблем 1 194 00:09:35,510 --> 00:09:38,180 каде што се жали дека некои директориум не може да се запишува, 195 00:09:38,180 --> 00:09:40,410 и тоа е затоа што на некои дозволи. 196 00:09:40,410 --> 00:09:43,080 Не знам колку сте момци го научиле за пермисии во CS50, 197 00:09:43,080 --> 00:09:47,920 но ако се направи веб развој, си оди за да се кандидира во ова прашање многу. 198 00:09:47,920 --> 00:09:58,340 Одам да се направи тоа запишуваат 199 00:09:58,340 --> 00:10:03,390 и мислам дека, исто така, треба да - постои и да одиме. 200 00:10:03,390 --> 00:10:07,040 >> Океј, па сега може да се види сè помина, 201 00:10:07,040 --> 00:10:10,000 и сега ќе ви кажам да се преименува install.php датотека. 202 00:10:10,000 --> 00:10:15,630 Одам да се преселат на install.php датотека за installed.php, 203 00:10:15,630 --> 00:10:19,610 и сега, ако јас се освежи, 204 00:10:19,610 --> 00:10:22,810 тоа ми дава некои грешки, и ова е местото каде што дебагирање влегува внатре 205 00:10:22,810 --> 00:10:25,610 Ова е местото каде што можете да видите она што е, всушност, ќе се случи. 206 00:10:25,610 --> 00:10:28,460 Работата е, по дифолт, Kohana претпоставува дека 207 00:10:28,460 --> 00:10:31,480 вашиот проект е во root директориумот на вашиот домен, 208 00:10:31,480 --> 00:10:35,920 па тоа се очекува да биде на demo.brandonkliu.com. 209 00:10:35,920 --> 00:10:37,540 Ние мора да го кажат дека тоа е всушност е во подпапка. 210 00:10:37,540 --> 00:10:39,820 Тоа е во подпапка наречена CS50 Kohana. 211 00:10:39,820 --> 00:10:42,640 Работата е, тоа е погрешното толкување CS50-Kohana 212 00:10:42,640 --> 00:10:45,680 како нешто друго, за што јас ќе да ви објаснам во секунда. 213 00:10:45,680 --> 00:10:49,910 Но јас треба да ти кажам дека е нешто што е да се очекува. 214 00:10:49,910 --> 00:10:53,700 Она што ние ќе треба да направите е ние ќе одиме во оваа папка наречена bootstrap.php, 215 00:10:53,700 --> 00:10:59,260 кој е конфигурацијата папката каде што многу различни нешта се поставени. 216 00:10:59,260 --> 00:11:01,570 Ја отворам дека до. 217 00:11:01,570 --> 00:11:09,790 Тогаш можеби една од првите работи што ќе направите е да го промените временската зона. 218 00:11:09,790 --> 00:11:13,910 >> И тогаш ајде да видиме. 219 00:11:13,910 --> 00:11:15,180 Аха! Токму тука. 220 00:11:15,180 --> 00:11:18,690 Постојат еден куп на различни конфигурација изреки овде, 221 00:11:18,690 --> 00:11:21,700 но оној што го барам е ова нешто што се нарекува база рачно, 222 00:11:21,700 --> 00:11:24,570 И по дифолт јас да го постави да Kohana, 223 00:11:24,570 --> 00:11:29,020 но јас ќе одам да го промени тоа да CS50-Kohana, 224 00:11:29,020 --> 00:11:32,880 и мислам дека треба да го поправам. 225 00:11:32,880 --> 00:11:34,150 Да, одлично. 226 00:11:34,150 --> 00:11:39,530 По дифолт, да се види дека тоа е работа, што се вели, "Здраво светот." 227 00:11:39,530 --> 00:11:42,930 Каде што доаѓаат од? Како дојдовме до Здраво светот? 228 00:11:42,930 --> 00:11:47,640 Каде точно е кодот кој всушност го напишал тоа? 229 00:11:47,640 --> 00:11:50,240 Да се ​​разбере дека, јас ќе се воведе овој концепт наречен рутирање. 230 00:11:50,240 --> 00:11:52,590 Доста сите веб рамки имаат концепт наречен рутирање, 231 00:11:52,590 --> 00:11:57,230 која е парче од софтвер кој ќе сајтот одредена рачно 232 00:11:57,230 --> 00:12:01,550 до одреден дел од кодот во рамките на вашиот рамка. 233 00:12:01,550 --> 00:12:07,510 На пример, ако имате некои рачно и одите во некои рачно како foo.com / блог / сите 234 00:12:07,510 --> 00:12:11,170 тогаш што рамката се случува да се направи - или барем она што Kohana се случува да се направи - 235 00:12:11,170 --> 00:12:15,540 е тоа се случува да се најде класа наречена контролер блог, 236 00:12:15,540 --> 00:12:18,720 и тоа се случува да се кандидира на функцијата по име акција сите. 237 00:12:18,720 --> 00:12:20,160 Знам дека зборувам за класа и функции, 238 00:12:20,160 --> 00:12:23,860 и знам дека вие момци не се опфатени класи и функции 239 00:12:23,860 --> 00:12:26,470 во CS50 сеуште, но сега за сега, 240 00:12:26,470 --> 00:12:29,800 може да се мисли на часови како само една група на функции, 241 00:12:29,800 --> 00:12:32,900 начин на групирање функции заедно. 242 00:12:32,900 --> 00:12:37,690 Тоа е навистина сите што треба да знаете. 243 00:12:37,690 --> 00:12:43,120 >> Сега ако гледаме на нашите папка структура, 244 00:12:43,120 --> 00:12:47,110 во внатрешноста на апликација папка не постои друга папка наречена класи, 245 00:12:47,110 --> 00:12:49,200 и други папки се нарекуваат контролор и модел. 246 00:12:49,200 --> 00:12:52,530 Ако се погледне во внатрешноста на контролор папка, 247 00:12:52,530 --> 00:12:56,330 ние се види дека постои датотека наречена Добредојдовте, 248 00:12:56,330 --> 00:13:00,370 и можете да видите тука е класа наречена контролор Добредојдовте, 249 00:13:00,370 --> 00:13:02,340 и таму е функција наречена Акција индекс, 250 00:13:02,340 --> 00:13:06,360 и она што го прави тоа е тоа се поставува на телото на вашиот одговор на Hello World. 251 00:13:06,360 --> 00:13:08,730 Тоа е каде што кодот се пишува. 252 00:13:08,730 --> 00:13:11,610 Од друга прашање е, добро, јас не одат на 253 00:13:11,610 --> 00:13:13,680 бла, бла, бла, / добредојден / индекс. 254 00:13:13,680 --> 00:13:16,250 Како ми завршуваат тука? 255 00:13:16,250 --> 00:13:20,410 Па, тоа е едноставно поради тоа што 256 00:13:20,410 --> 00:13:22,410 тука на дното на нашите подигање датотека 257 00:13:22,410 --> 00:13:24,550 каде што го постави нашиот правци 258 00:13:24,550 --> 00:13:26,570 можете да видите дека тие го поставите на некои стандардно за вас. 259 00:13:26,570 --> 00:13:28,990 Стандардно контролер е добредојдена. Стандардното дејство е индекс. 260 00:13:28,990 --> 00:13:31,600 Тоа е зошто кога ќе стави ништо таму, автоматски отиде во Добредојдовте контролер 261 00:13:31,600 --> 00:13:33,940 а индексот акција. 262 00:13:33,940 --> 00:13:37,460 >> Се направи смисла досега? 263 00:13:37,460 --> 00:13:40,850 Сега, може да сторат повеќе отколку само одат на контролор 264 00:13:40,850 --> 00:13:43,670 и одредена акција. 265 00:13:43,670 --> 00:13:48,480 Можете исто така да се помине во параметри на контролорот. 266 00:13:48,480 --> 00:13:56,390 Само како пример, 267 00:13:56,390 --> 00:14:04,070 Одам да додадете друга акција на оваа контролер за да ви покаже. 268 00:14:04,070 --> 00:14:09,130 Да ја наречеме оваа акција на ехо, бидејќи тоа се случува да ви кажам она што ќе го даде, 269 00:14:09,130 --> 00:14:17,510 и така јас сум во основа ќе го дофати 270 00:14:17,510 --> 00:14:20,960 параметар кој се случува да бидат испратени преку мене на рутирање на програмата, 271 00:14:20,960 --> 00:14:24,440 и како што можете да видите овде, 272 00:14:24,440 --> 00:14:28,440 оваа линија токму тука, можете да видите дека 273 00:14:28,440 --> 00:14:31,270 ова во основа значи дека имате контролер, и имаш /, 274 00:14:31,270 --> 00:14:33,480 и имаш акција, и имаш друг /, 275 00:14:33,480 --> 00:14:39,140 и дека ќе биде параметри, и бидејќи имаме ова име проект 276 00:14:39,140 --> 00:14:42,450 во аглести загради, тоа значи дека ние сме именување овој параметар проект. 277 00:14:42,450 --> 00:14:45,490 Подоцна во моите контролер кодот ако сакам да го дофати со одржи на тоа параметар, 278 00:14:45,490 --> 00:14:51,790 Можам да го користам кодот напишав, најдете параметар име проект. 279 00:14:51,790 --> 00:14:59,290 Тоа е она што го направив тука, а јас ќе одам да се врати и да каже, 280 00:14:59,290 --> 00:15:07,090 "Вие рековте" тоа. 281 00:15:07,090 --> 00:15:10,760 Па сега ако одам на нашата веб-страница, 282 00:15:10,760 --> 00:15:19,550 Одам да cs50-kohana/welcome/echo/Helloooo-- 283 00:15:19,550 --> 00:15:21,420 О, тоа е во право. 284 00:15:21,420 --> 00:15:23,930 Постои 1 чекор заминав надвор. 285 00:15:23,930 --> 00:15:27,020 Ова е дел од живеат кодирање идеја. 286 00:15:27,020 --> 00:15:36,100 >> Еве 1 работа. Ајде да видиме. 287 00:15:36,100 --> 00:15:38,870 Па нормално стандардно со многу од овие веб апликации 288 00:15:38,870 --> 00:15:42,820 мора да се вклучи оваа index.php нешто во вашиот URL-то, 289 00:15:42,820 --> 00:15:46,410 бидејќи идејата е index.php е вид на влезна точка 290 00:15:46,410 --> 00:15:48,250 на вашата апликација, но се разбира, 291 00:15:48,250 --> 00:15:50,110 тоа е вид на досадни да го имаат. 292 00:15:50,110 --> 00:15:53,790 Вие не сакате да имате index.php се појави во вашиот URL-то, 293 00:15:53,790 --> 00:15:56,080 и доста секоја веб рамка надвор од кутијата 294 00:15:56,080 --> 00:15:58,440 има оваа index.php проблем, 295 00:15:58,440 --> 00:16:03,370 и така треба да се преземат некои мерки за да бидат во можност да ја отстрани таа. 296 00:16:03,370 --> 00:16:07,540 И така во овој случај, 297 00:16:07,540 --> 00:16:11,450 она што ние ќе треба да направите е да одиме да се користи датотека се нарекува. htaccess, 298 00:16:11,450 --> 00:16:13,900 и ова е нешто што е специфична за Apache веб сервер, 299 00:16:13,900 --> 00:16:16,290 и тоа може да ги правите нештата како преработи адреси 300 00:16:16,290 --> 00:16:19,350 и пренасочување URL-и така натаму и така натаму, 301 00:16:19,350 --> 00:16:24,280 и Kohana е фино да се обезбеди дефиниција. Htaccess датотека што можеме да го користиме. 302 00:16:24,280 --> 00:16:28,300 >> Како што можете да видите, постои датотека таму се нарекува example.htaccess, 303 00:16:28,300 --> 00:16:33,410 и ние ќе го копирате дека да. htaccess. 304 00:16:33,410 --> 00:16:36,950 Одам да ја отворите оваа и уреди, 305 00:16:36,950 --> 00:16:40,840 и во основа го прави еден куп на различни нешта. 306 00:16:40,840 --> 00:16:45,320 Клучните линија можеби ќе сакате да се погледне е во право тука. 307 00:16:45,320 --> 00:16:49,840 Идејата е дека ова се поставува правило кое вели, 308 00:16:49,840 --> 00:16:56,400 "Океј, она што ќе напишете, prepend index.php на тоа." 309 00:16:56,400 --> 00:16:58,710 Можете да се види тоа. 310 00:16:58,710 --> 00:17:00,370 На. * Се залага за ништо, се поклопува ништо, 311 00:17:00,370 --> 00:17:03,300 и потоа на вториот дел е index.php / $ 0, 312 00:17:03,300 --> 00:17:07,410 и $ 0 однесува на она што беше проследено претходно. 313 00:17:07,410 --> 00:17:09,500 Дали тоа има смисла? 314 00:17:09,500 --> 00:17:12,190 Но навистина клучот нешто што сакате да го промените е промена на овој преработи база, 315 00:17:12,190 --> 00:17:14,300 кое е рачно база. 316 00:17:14,300 --> 00:17:17,780 Тоа вид на претпоставува каде си работат од. 317 00:17:17,780 --> 00:17:22,560 Одам да додадете CS50 Kohana на тоа, 318 00:17:22,560 --> 00:17:26,530 и на тој начин сега ако јас се отстрани index.php, 319 00:17:26,530 --> 00:17:32,110 тоа треба да работат, а јас ќе одам да додадете некои броеви 320 00:17:32,110 --> 00:17:36,380 да ти докажам дека навистина функционира. 321 00:17:36,380 --> 00:17:38,130 Звучи добро. 322 00:17:38,130 --> 00:17:40,260 >> Било какви прашања досега? 323 00:17:40,260 --> 00:17:42,300 [Студентите] Како ја знам да се направи 123? 324 00:17:42,300 --> 00:17:44,120 Е дека аргумент? 325 00:17:44,120 --> 00:17:46,560 Токму така. Можеш да мислиш за тоа како аргумент. 326 00:17:46,560 --> 00:17:52,410 Но чудно нешто, сепак, е дека начинот на кој тоа го прави Kohana 327 00:17:52,410 --> 00:17:54,910 е тие не го прават тоа токму како аргумент. 328 00:17:54,910 --> 00:17:56,930 Што треба да го грабне вака. 329 00:17:56,930 --> 00:18:01,030 Што треба да го дофати барање објектот и да побара на параметар кој е именуван проект, 330 00:18:01,030 --> 00:18:03,240 и тоа име проект доаѓа од тоа подигање датотека 331 00:18:03,240 --> 00:18:06,990 дека јас покажа порано, и името проект беше во овие аглести загради, 332 00:18:06,990 --> 00:18:11,580 и тоа како ве приграбуваат оние параметри. 333 00:18:11,580 --> 00:18:14,010 Страшни. 334 00:18:14,010 --> 00:18:17,550 Било какви други прашања? 335 00:18:17,550 --> 00:18:20,500 Како што реков, контролори, тие се справи со примена логика, 336 00:18:20,500 --> 00:18:22,980 па тоа е 1 пример, каде што може да се види that's - 337 00:18:22,980 --> 00:18:24,830 тоа е многу основни, но тоа е сепак примена логика, 338 00:18:24,830 --> 00:18:27,980 идејата за грабање на параметар и создавање на нова низа 339 00:18:27,980 --> 00:18:31,920 кој вели: "Ти рече бла", а потоа плукање дека назад кон вас. 340 00:18:31,920 --> 00:18:34,030 И, генерално, она што го правите е да се создаде различни контролери. 341 00:18:34,030 --> 00:18:36,450 Ќе се создаде посебна контролори за различни делови на вашиот вебсајт. 342 00:18:36,450 --> 00:18:38,160 >> Денес ние ќе да се направи еден многу едноставен веб-сајт, 343 00:18:38,160 --> 00:18:40,420 и тоа се случува да биде многу основни блог. 344 00:18:40,420 --> 00:18:43,780 Ние ќе се направи нов контролер само за мислења на блог. 345 00:18:43,780 --> 00:18:47,060 Но, тогаш, ако јас да, исто така, да додаваат коментари на блог пост, 346 00:18:47,060 --> 00:18:50,140 тогаш јас најверојатно ќе сакате да се направи нов контролер за овие коментари. 347 00:18:50,140 --> 00:18:53,380 Ако сакав да додавате корисници, јас веројатно ќе додадете нов контролер за оние корисници, 348 00:18:53,380 --> 00:18:57,000 и воопшто, идејата е дека секогаш кога ќе имаат нов модел, 349 00:18:57,000 --> 00:18:59,630 нови податоци објект кој си имаш работа со, 350 00:18:59,630 --> 00:19:02,970 имаш еден контролер за податоците објект. 351 00:19:02,970 --> 00:19:04,370 Денес ние сме само оди на работа со 1 на податоци објект, 352 00:19:04,370 --> 00:19:06,250 и дека ќе биде мислења, 353 00:19:06,250 --> 00:19:08,710 и, исто така, може да се мисли на објекти на податоци, како што одговара маси. 354 00:19:08,710 --> 00:19:12,160 Општо земено секоја маса одговара на 1 тип на податоци објект, 355 00:19:12,160 --> 00:19:15,160 па пост маса ќе има 1 пост модел, 356 00:19:15,160 --> 00:19:18,230 кои ќе имаат 1 пост контролер одговара дека, 357 00:19:18,230 --> 00:19:22,190 и истото за коментари, исти за корисниците, и така натаму и така натаму. 358 00:19:22,190 --> 00:19:24,070 И тоа е општо правило на палецот. 359 00:19:24,070 --> 00:19:27,460 Таму се случува да бидат посебни случаи каде што може да се разликуваат од тоа, 360 00:19:27,460 --> 00:19:29,300 но 90% од времето тоа е она што ви се случува да се прави, 361 00:19:29,300 --> 00:19:32,810 и јас ќе ви покажам тоа е она што ние ќе треба да се прави и денес. 362 00:19:32,810 --> 00:19:35,490 1 повеќе концепт пред да нурне назад во кодот, 363 00:19:35,490 --> 00:19:37,710 оваа идеја на објектно релациона мапирање. 364 00:19:37,710 --> 00:19:41,200 >> Вие момци имаат веќе направено веб развој pset, 365 00:19:41,200 --> 00:19:43,820 и сте виделе дека ќе се направи барање SQL, 366 00:19:43,820 --> 00:19:46,510 и што ви се враќа редови. 367 00:19:46,510 --> 00:19:50,040 Ќе добиете овие редови, а вие индекс на нив од страна на некои име, 368 00:19:50,040 --> 00:19:55,480 името на колоната и маса, 369 00:19:55,480 --> 00:19:57,630 и тоа е начинот на кој можете да работат со него, 370 00:19:57,630 --> 00:19:59,290 и тоа може да биде малку незгодни. 371 00:19:59,290 --> 00:20:01,810 Но освен тоа, ако имате односи во рамките на својата база на податоци, 372 00:20:01,810 --> 00:20:05,280 како на пример ако имам коментари и мислења, 373 00:20:05,280 --> 00:20:11,240 тогаш можеби и јас сакам да го дофати родител пост на коментар. 374 00:20:11,240 --> 00:20:14,350 Ако јас го користам само редови во SQL, тогаш сите може да се добие е проект 375 00:20:14,350 --> 00:20:19,310 на родителот пост а не на реалните самата пост. 376 00:20:19,310 --> 00:20:21,680 Но, кога ние сме кодирање, она што ние всушност сакаат е да се всушност зграби 377 00:20:21,680 --> 00:20:23,550  родителот самата испраќате понекогаш. 378 00:20:23,550 --> 00:20:25,730 Што објектот релациона мапирање го прави е 379 00:20:25,730 --> 00:20:29,480 што е потребно за резултатите на базата на податоци за пребарување 380 00:20:29,480 --> 00:20:32,420 и го става во објекти за вас, кои се многу поубаво да се работи со 381 00:20:32,420 --> 00:20:34,770 од обична низи и редови. 382 00:20:34,770 --> 00:20:37,550 >> На пример, сега кога имам коментар можеби, 383 00:20:37,550 --> 00:20:40,900 и јас сакам да го зграби својот родител пост, 384 00:20:40,900 --> 00:20:43,440 и јас можеби коментира стрелките пост, 385 00:20:43,440 --> 00:20:45,230 тогаш тоа навистина ќе ми даде мислење објект 386 00:20:45,230 --> 00:20:47,940 одговара на вистинските родител пост, не само некои проект, 387 00:20:47,940 --> 00:20:52,210 што јас инаку би требало да се користи и направи уште еден SQL пребарување за да го дофати пост, 388 00:20:52,210 --> 00:20:57,430 кој е тежок и непотребни. 389 00:20:57,430 --> 00:21:01,840 И освен тоа, со мапирање на сите овие податоци редови во објекти, 390 00:21:01,840 --> 00:21:03,760 исто така можете да прикачите повеќе функции предмети, 391 00:21:03,760 --> 00:21:09,700 така на пример, јас разговаравме за тоа како класи се во суштина групации на функции. 392 00:21:09,700 --> 00:21:11,620 Можете да мислам на неа, како што. 393 00:21:11,620 --> 00:21:15,290 На пример, можеби имам овој пост објект, 394 00:21:15,290 --> 00:21:17,830 и можеби и јас би сакал да имаат некој вид на функција прикачени на него 395 00:21:17,830 --> 00:21:20,300 , која во основа ми кажува беше неодамна испратени? 396 00:21:20,300 --> 00:21:23,570 Беше тоа испратени во минатата недела, вистински или лажни? 397 00:21:23,570 --> 00:21:27,320 И тоа е функција што може да се закачите врз тој предмет, 398 00:21:27,320 --> 00:21:31,300 и тоа е навистина лесен да се има во истото место, 399 00:21:31,300 --> 00:21:33,820 и постојат мноштво на различни функции може да се создаде 400 00:21:33,820 --> 00:21:37,990 за овие објекти, и тоа е навистина убаво да се биде во можност да го закачите на класа, 401 00:21:37,990 --> 00:21:41,700 на објектот, а ако само имаше редови доаѓаат од вашата база на податоци, 402 00:21:41,700 --> 00:21:43,790 тогаш навистина не може да се закачите било функционалност за тоа. 403 00:21:43,790 --> 00:21:47,850 Тоа е буквално само податоци. 404 00:21:47,850 --> 00:21:50,550 Било какви прашања во врска со тоа на сите? 405 00:21:50,550 --> 00:21:52,710 ORMS се многу чести веб развој, 406 00:21:52,710 --> 00:21:56,330 и постојат многу различни видови на ORMS, 407 00:21:56,330 --> 00:21:58,450 и Kohana има свој ОРМ. 408 00:21:58,450 --> 00:22:05,050 Тоа е многу основни, но ќе добие вкус на она што изгледа како. 409 00:22:05,050 --> 00:22:08,780 >> Да се ​​создаде модел за нашиот блог постови, 410 00:22:08,780 --> 00:22:12,350 и првото нешто што ние очигледно треба да направите е да се создаде вистински маса 411 00:22:12,350 --> 00:22:16,680 во нашата база на податоци за да всушност складираат нашите податоци за оние мислења. 412 00:22:16,680 --> 00:22:19,260 Првото нешто што ќе одам да направите е да отидете на phpMyAdmin. 413 00:22:19,260 --> 00:22:21,410 Дали сте момци користи phpMyAdmin и пред тоа? 414 00:22:21,410 --> 00:22:23,400 Океј, страшно, па вие момци веќе знаете што е тоа, 415 00:22:23,400 --> 00:22:32,200 и јас одам да се создаде нова табела наречена Kohana мислења, 416 00:22:32,200 --> 00:22:37,820 и тоа ќе биде навистина едноставно. 417 00:22:37,820 --> 00:22:40,190 Ќе морам да се најавите назад внатре 418 00:23:02,620 --> 00:23:04,640 Сите ние ќе треба да се направи денес е да имаат автор и тело, 419 00:23:04,640 --> 00:23:11,930 само Нека биде едноставно. 420 00:23:11,930 --> 00:23:15,620 Одам да се создаде таа табела, 421 00:23:15,620 --> 00:23:19,620 а сега ние само треба маса претставуваше нашата мислења 422 00:23:19,620 --> 00:23:23,370 со 2 области за нашиот автор и нашето тело. 423 00:23:23,370 --> 00:23:26,290 Од друга работа јас идам да се направи сега е 424 00:23:26,290 --> 00:23:29,820 конфигурирате мојот веб апликација, така што знае како да се поврзете со базата на податоци, 425 00:23:29,820 --> 00:23:31,950 и ова, повторно, е нешто што треба да направите со сите веб апликации. 426 00:23:31,950 --> 00:23:34,790 Што треба да го кажам корисничко име и лозинка 427 00:23:34,790 --> 00:23:36,990 и името на базата на податоци и така натаму и така натаму 428 00:23:36,990 --> 00:23:40,000 да дознаам како да се навистина се поврзете со вашата база на податоци. 429 00:23:40,000 --> 00:23:58,710 >> Во Kohana, имаме нешто што се нарекува база на податоци модул, 430 00:23:58,710 --> 00:24:02,690 и во папката конфигурација имаме оваа папка наречена база на податоци, 431 00:24:02,690 --> 00:24:07,330 и како што можете да видите, постојат еден куп на поставувања мора да се постави тука 432 00:24:07,330 --> 00:24:09,860 да го кажам она што е корисничко име и лозинка 433 00:24:09,860 --> 00:24:13,110 за базата на податоци, така што всушност може да се поврзе со него. 434 00:24:13,110 --> 00:24:15,010 И бидејќи не сакам вие момци да всушност знаеме 435 00:24:15,010 --> 00:24:17,190 корисничкото име и лозинката на мојата база на податоци, 436 00:24:17,190 --> 00:24:23,840 Имам датотеката каде што веќе сите го постави, а јас ќе одам да копирате и залепите над неа. 437 00:24:33,080 --> 00:24:36,870 Страшни. 438 00:24:36,870 --> 00:24:39,880 Во ред. Мислам дека тоа е сите конфигурациски треба да сторам, 439 00:24:39,880 --> 00:24:41,070 но ајде да видиме. 440 00:24:41,070 --> 00:24:43,720 Ние ќе продолжиме да работиме во неа, и ако нешто се урна, 441 00:24:43,720 --> 00:24:47,490 тогаш ние ќе го поправам. 442 00:24:47,490 --> 00:24:51,830 Сега што јас ќе одам да направите е да, ќе одам да се создаде нов контролер. 443 00:24:51,830 --> 00:24:53,190 Или, всушност, ми е жал. 444 00:24:53,190 --> 00:24:55,080 Прво морам да се создаде нов модел. 445 00:24:55,080 --> 00:25:01,620 Ќе се создаде нов модел наречен Post.php, 446 00:25:01,620 --> 00:25:12,440 и она што ние ќе треба да направите е да одиме да го наречеме класа Model_Post. 447 00:25:12,440 --> 00:25:15,390 Земете некои синтакса за нагласување на, 448 00:25:15,390 --> 00:25:19,750 и така кога јас велам, "се протега на ОРМ", тоа е во основа 449 00:25:19,750 --> 00:25:21,210 некои повеќе објектно-ориентирано програмирање, 450 00:25:21,210 --> 00:25:23,340 кој за жал вие не го научиле во CS50 сепак, 451 00:25:23,340 --> 00:25:25,290 но тоа е прилично лесно да ги собереш. 452 00:25:25,290 --> 00:25:27,950 Тоа ми дава сето ова дополнителна функционалност која доаѓа во овој ОРМ пакет, 453 00:25:27,950 --> 00:25:31,120 и така да се добие еден куп на екстра функции и какво ли не за слободни, 454 00:25:31,120 --> 00:25:34,810 кој ќе ја видите малку во секунда. 455 00:25:34,810 --> 00:25:37,670 >> Токму сега, всушност, сè што ми треба да направите е да ја креирате оваа класа. 456 00:25:37,670 --> 00:25:39,160 Јас дури и не треба да направите било какви функција или ништо, 457 00:25:39,160 --> 00:25:41,770 но јас сум создаде класата која ја претставува масата, 458 00:25:41,770 --> 00:25:44,140 и бидејќи јас сум се прошири оваа ОРМ класа, 459 00:25:44,140 --> 00:25:51,080 Јас се еден куп работи за слободни, па за сега ќе не мора да се постави ништо повеќе нагоре. 460 00:25:51,080 --> 00:25:53,530 И сега што јас ќе одам да направите е да, ќе одам да се создаде нов контролер, 461 00:25:53,530 --> 00:25:58,480 што јас ќе одам да го именува blog.php, 462 00:25:58,480 --> 00:26:04,350 и јас одам да го копирате во текот на Добредојдовте контролер 463 00:26:04,350 --> 00:26:11,950 па јас не мора да Повторете некои работи, 464 00:26:11,950 --> 00:26:20,720 и сега морам да ја преименувате оваа. 465 00:26:20,720 --> 00:26:24,710 Сега што јас ќе одам да направите за да ги тестира за да бидете сигурни дека сè е работи надвор, 466 00:26:24,710 --> 00:26:27,820 Одам да го зграби првата пост од мојата база на податоци 467 00:26:27,820 --> 00:26:32,680 и печатење на телото на пост на екранот. 468 00:26:32,680 --> 00:26:37,920 Да го стори тоа што јас ќе одам да се направи првата е Одам да се спаси мислења 469 00:26:37,920 --> 00:26:48,770 на променлива, така што ние ќе треба да направите е - 470 00:26:48,770 --> 00:26:52,090 во Kohana она што го правите е да го зграби пост објект 471 00:26:52,090 --> 00:26:55,380 тоа е вид на гломазна, но мора да се направи ова нешто наречено ОРМ :: фабрика, 472 00:26:55,380 --> 00:26:57,750 а потоа ќе помине во името на моделот кој го сакате, 473 00:26:57,750 --> 00:27:00,490 и го враќа ОРМ објект кој претставува тој модел. 474 00:27:00,490 --> 00:27:04,860 А потоа, како што реков, кога ние се прошири ОРМ објект, 475 00:27:04,860 --> 00:27:07,320 ние ги добиете сите овие методи за бесплатно, па на пример, 476 00:27:07,320 --> 00:27:09,200 добиеме оваа нова функција наречена "ги најдете сите" 477 00:27:09,200 --> 00:27:12,160 кој автоматски се враќа секој пост во базата на податоци, 478 00:27:12,160 --> 00:27:14,850 што е прилично лесен. 479 00:27:14,850 --> 00:27:17,480 >> И сега во телото, ќе одам да се вратат 480 00:27:17,480 --> 00:27:24,860 промена на првото мислење и да се врати неговото тело. 481 00:27:24,860 --> 00:27:27,930 И, се разбира, треба да се создаде еден пост, 482 00:27:27,930 --> 00:27:31,880 па ајде вметнете нов пост. 483 00:27:31,880 --> 00:27:37,870 Јас ќе кажам ", Брендон, мојата прва пост." 484 00:27:37,870 --> 00:27:40,010 Страшни. 485 00:27:40,010 --> 00:27:45,910 И сега ние ќе треба да одат на блогови 486 00:27:45,910 --> 00:27:50,960 и ако сите работи добро - Ох, ова е некоја друга неми пермисии работа повторно. 487 00:27:50,960 --> 00:27:56,090 Се одржи на 1 секунда. Тоа е вид на апсурдот. 488 00:28:06,700 --> 00:28:08,490 Таму ќе одиме. Во ред. 489 00:28:08,490 --> 00:28:10,040 Јас фиксна таа дозвола проблем. 490 00:28:10,040 --> 00:28:12,040 Тоа се обидува да создаде некои датотеки и некои најавите, 491 00:28:12,040 --> 00:28:15,400 и дозволи, повторно, не беа правилно поставени, па јас ја направив 492 00:28:15,400 --> 00:28:18,320 па оние датотеки се запишуваат и извршна 493 00:28:18,320 --> 00:28:21,090 па тоа всушност би можеле да се најавите за да работи. 494 00:28:21,090 --> 00:28:24,220 Сега тоа е ми дава уште еден исклучок велејќи: "класа ОРМ не е пронајдена" 495 00:28:24,220 --> 00:28:26,960 и тоа е затоа што сум заборавил уште еден чекор. 496 00:28:26,960 --> 00:28:37,010 Тоа е премногу лошо. 497 00:28:37,010 --> 00:28:40,270 Во подигање папка на датотеката, постојат овие модули тука, 498 00:28:40,270 --> 00:28:42,480 кои можете да изберете да ја вклучите или исклучите. 499 00:28:42,480 --> 00:28:44,340 Овие се еден куп на различни опции кои можете да одберете да го користите 500 00:28:44,340 --> 00:28:46,180 во рамките Kohana, кој е вид на убаво. 501 00:28:46,180 --> 00:28:49,090 >> На пример, тие имаат проверка модул 502 00:28:49,090 --> 00:28:51,170 кој можете да го користите за автентикација на корисниците. 503 00:28:51,170 --> 00:28:53,390 Тие имаат кеширање модул ако сакате да се имплементираат 504 00:28:53,390 --> 00:28:57,870 некој вид на кеширање задниот крај да се направи апликација работа побрзо и какво ли не. 505 00:28:57,870 --> 00:29:02,140 Ние треба да им овозможат на база на податоци и ОРМ модул, 506 00:29:02,140 --> 00:29:04,280 бидејќи како што реков, ние сме со користење на базата на податоци, очигледно, 507 00:29:04,280 --> 00:29:08,200 и ние исто така треба да им се овозможи на ОРМ модул, 508 00:29:08,200 --> 00:29:12,220 затоа што ние би сакале да имаат дополнителна функционалност, што е убаво да се имаат. 509 00:29:12,220 --> 00:29:14,240 Се што треба да направите е да откоментирај оние 2 линии, 510 00:29:14,240 --> 00:29:18,760 и сега, ако јас се освежи, тоа ми даде уште една грешка. 511 00:29:18,760 --> 00:29:22,100 Таа вели: "Класа Model_Post не е пронајден." 512 00:29:22,100 --> 00:29:30,210 Сега ова е добра проблем да се има. 513 00:29:30,210 --> 00:29:37,660 Ајде да видиме. 514 00:29:37,660 --> 00:29:42,200 Направете го тоа на јавноста. 515 00:29:42,200 --> 00:29:46,450 Не Чекај. 516 00:30:11,610 --> 00:30:13,160 Ох, драга. 517 00:30:13,160 --> 00:30:18,590 Не знам зошто тоа не е во можност да се најде тоа. 518 00:30:18,590 --> 00:30:21,030 Тоа е навистина чудно. 519 00:30:21,030 --> 00:30:23,820 Имам оваа класа во право тука. 520 00:30:23,820 --> 00:30:28,650 Претпоставувам дека можеби ќе мора да - ох. 521 00:30:28,650 --> 00:30:32,010 Јас сум толку глупава. Јас заборавив да додадете PHP таг. 522 00:30:32,010 --> 00:30:34,670 Тоа е зошто. 523 00:30:34,670 --> 00:30:41,260 Сега морам да го вратите дека 1 промена јас само направив. 524 00:30:41,260 --> 00:30:44,270 >> Океј. Таму ќе одиме. 525 00:30:44,270 --> 00:30:47,500 Тоа беше навистина глупаво. Јас не имаат отвор PHP таг. 526 00:30:47,500 --> 00:30:49,900 Но како што можете да видите, сега тоа е работи правилно, нели? 527 00:30:49,900 --> 00:30:51,240 Имаме 1 порака. 528 00:30:51,240 --> 00:30:54,730 Ние зграпчи првата пост, и сега ние отпечатени неговото тело. 529 00:30:54,730 --> 00:30:58,010 Одлично. Фантастично. 530 00:30:58,010 --> 00:31:01,470 Било какви прашања досега? 531 00:31:01,470 --> 00:31:04,100 Не бе? Било какви прашања? 532 00:31:04,100 --> 00:31:08,340 Океј, па ние само замислен пост модел, многу основни, 533 00:31:08,340 --> 00:31:10,930 и ние ќе го додадете некои функции подоцна. 534 00:31:10,930 --> 00:31:13,600 Ние можеме да додадете validations и филтрирање. 535 00:31:13,600 --> 00:31:15,650 Validations се една од работите 536 00:31:15,650 --> 00:31:18,150 дека рамки реши за вас, навистина, навистина добро, 537 00:31:18,150 --> 00:31:21,310 и јас не мислам дека вие момци мораше да го направи тоа за вашиот CS50 pset, 538 00:31:21,310 --> 00:31:24,000 но ако се направи веб развој на вашиот финалниот проект, 539 00:31:24,000 --> 00:31:26,280 ти си најверојатно ќе сакате да направите некои вид на валидација, 540 00:31:26,280 --> 00:31:28,290 како што не има празно кориснички имиња, 541 00:31:28,290 --> 00:31:31,950 можеби има лозинка со барем некои должина, такви работи. 542 00:31:31,950 --> 00:31:34,750 И тоа е навистина тежок за спроведување на овие работи од нас самите, 543 00:31:34,750 --> 00:31:37,390 и доста секоја веб рамка го прави за вас 544 00:31:37,390 --> 00:31:41,140 и ви овозможува да го направи тоа во многу чиста начин. 545 00:31:41,140 --> 00:31:44,340 И моделот е местото каде што генерално изразуваат тие правила валидација, 546 00:31:44,340 --> 00:31:48,790 затоа што тоа е оценување дали моделот е валиден или не. 547 00:31:48,790 --> 00:31:51,350 >> Но, за сега, ние ќе треба да се стави дека до подоцна, 548 00:31:51,350 --> 00:31:53,520 и сега за сега ние ќе треба да работат на друг дел, 549 00:31:53,520 --> 00:31:55,400 и ние ќе се обидеме и да се направи нов поглед 550 00:31:55,400 --> 00:31:59,580 кој ги прикажува сите постови. 551 00:31:59,580 --> 00:32:02,490 Чекори кои се вклучени во изработка на нова акција за котација сите мислења 552 00:32:02,490 --> 00:32:04,810 е да се дофати со листа на сите мислења 553 00:32:04,810 --> 00:32:11,990 а потоа ја даде на листа на сите мислења преку гледање. 554 00:32:11,990 --> 00:32:16,420 Токму тука, за среќа доволно, ние веќе ја зграпчи сите мислења 555 00:32:16,420 --> 00:32:20,310 со користење на овој првата линија, на најдете сите функција, 556 00:32:20,310 --> 00:32:22,520 и сега што ние ќе треба да направите е досега 557 00:32:22,520 --> 00:32:25,350 Сум бил директно поставување на телото на одговор 558 00:32:25,350 --> 00:32:29,090 со полагање на стринг, но сега сакам да го користите поглед, 559 00:32:29,090 --> 00:32:31,870 и разликата помеѓу погледот и само го прават тоа 560 00:32:31,870 --> 00:32:35,330 е со цел можам да имам убав, голем HTML дефиниција, 561 00:32:35,330 --> 00:32:37,710 и она што можам да направам е тоа одредени варијабли помине 562 00:32:37,710 --> 00:32:42,200 а потоа имаат поглед автоматски се доверат својата дефиниција 563 00:32:42,200 --> 00:32:44,690 користење на овие променливи. 564 00:32:44,690 --> 00:32:50,780 Она што јас ќе правам е ќе се создаде нов преглед, 565 00:32:50,780 --> 00:32:55,940 и јас ќе го именува погледот нешто како "блог / индекс" 566 00:32:55,940 --> 00:33:08,480 и јас одам да се во основа се поврзе ова - О, што сум пишувал? 567 00:33:08,480 --> 00:33:12,910 Мојот мозок е некаде на друго место. 568 00:33:12,910 --> 00:33:16,600 Одам да се поврзе на мислења променлива погледот, 569 00:33:16,600 --> 00:33:19,950 па на тој начин на гледање има пристап до овој пост променлива. 570 00:33:19,950 --> 00:33:26,140 >> И така сега јас треба да се создаде овој поглед, 571 00:33:26,140 --> 00:33:28,500 па тука имаме оваа папка наречена "Погледи" 572 00:33:28,500 --> 00:33:32,150 и прв, јас ќе одам да создадете нова папка под она што е наречено "Блог". 573 00:33:32,150 --> 00:33:35,810 Ова е убаво. На тој начин можеме да имаме убав хиерархија за нашите ставови. 574 00:33:35,810 --> 00:33:43,910 А потоа јас ќе одам да се создаде друга датотека таму се нарекува "index.php". 575 00:33:43,910 --> 00:33:45,780 Страшни. 576 00:33:45,780 --> 00:33:52,930 Всушност, ајде да ги и двете имаат тука. 577 00:33:52,930 --> 00:33:56,760 Изработка на изглед датотека е веројатно најпростиот дел од сето ова, 578 00:33:56,760 --> 00:33:59,090 и овие се веројатно работите веќе сте запознаени со. 579 00:33:59,090 --> 00:34:01,240 Ние ќе се направи нешто навистина едноставно, 580 00:34:01,240 --> 00:34:05,360 започне велејќи: "Мојата листа на блог постови." 581 00:34:05,360 --> 00:34:14,860 Тогаш можеме да одиме преку, 582 00:34:14,860 --> 00:34:17,920 и можеме да iterate преку постовите низа, 583 00:34:17,920 --> 00:34:21,760 зграби секој пост и да каже нешто како - 584 00:34:21,760 --> 00:34:25,290 можеби додадете линија 585 00:34:25,290 --> 00:34:42,460 а потоа печати од авторот и на телото. 586 00:34:42,460 --> 00:34:44,480 Кои го прават смисла досега? 587 00:34:44,480 --> 00:34:50,870 И да видиме дали тоа функционира. 588 00:34:50,870 --> 00:34:53,489 Ништо не се случи. 589 00:34:53,489 --> 00:34:55,090 Се прашувам зошто. 590 00:34:55,090 --> 00:34:58,760 О, јас гостите од 1 чекор. Многу глупо од мене. 591 00:34:58,760 --> 00:35:01,640 Јас создаде мислење, но јас не ги поставив видите како одговор, 592 00:35:01,640 --> 00:35:03,190 така што треба да направите 1 уште нешто. 593 00:35:03,190 --> 00:35:12,610 Што треба да направите "овој одговор тело" и да го поставите тоа да биде погледот. 594 00:35:12,610 --> 00:35:14,760 Таму ќе одиме. 595 00:35:14,760 --> 00:35:17,200 Ние имаме насловот, а потоа имаме еден пост, 596 00:35:17,200 --> 00:35:20,500 и само за клоци, ајде да се вметне уште еден пост 597 00:35:20,500 --> 00:35:23,390 па може да се види листа. 598 00:35:31,800 --> 00:35:36,650 И вметнете овие 2 мислења, 599 00:35:36,650 --> 00:35:39,500 и сега, ако јас обновите страницата, 600 00:35:39,500 --> 00:35:42,060 гледаме сите овие места тука. 601 00:35:42,060 --> 00:35:44,250 >> Дали тоа има смисла досега? 602 00:35:44,250 --> 00:35:46,400 Да, едно прашање? Ох, во ред. 603 00:35:46,400 --> 00:35:51,440 Како што можете да видите, ние сме во можност да ги раздели на сите овие кодови од 604 00:35:51,440 --> 00:35:53,920 во различни делови, а потоа можете да видите дека е најмногу јасно со поглед код. 605 00:35:53,920 --> 00:35:57,810 Оваа датотека тука, што претставува поглед, 606 00:35:57,810 --> 00:36:01,220 тоа само се грижи за претставување на податоци, прикажување на податоците. 607 00:36:01,220 --> 00:36:04,310 Станува помина некој вид на податоци, и сето тоа само е тоа покажам. 608 00:36:04,310 --> 00:36:07,660 Во сите други делови на вашиот код, вие не ќе мора да се грижите за некој од тоа, 609 00:36:07,660 --> 00:36:10,480 и слично, вашето мислење кодот не мора да се грижите за ништо 610 00:36:10,480 --> 00:36:13,390 како да пристапите на база на податоци и така натаму и така натаму, 611 00:36:13,390 --> 00:36:19,950 што е навистина добро и го прави вашиот код многу повеќе одржување. 612 00:36:19,950 --> 00:36:23,390 Како што реков, ставови, тие се динамични во таа 613 00:36:23,390 --> 00:36:27,080 тоа е 1 датотека, но тоа ќе генерира различни ставови 614 00:36:27,080 --> 00:36:29,940 врз основа на променливи што всушност помине во, 615 00:36:29,940 --> 00:36:32,370 и освен тоа, постојат голем број на различни помошник функции 616 00:36:32,370 --> 00:36:34,230 дека можете да го користите да ви помогне да го напишете вашиот код побрзо, 617 00:36:34,230 --> 00:36:36,320 кој ќе ви покажам само една секунда. 618 00:36:36,320 --> 00:36:38,050 Да. 619 00:36:38,050 --> 00:36:42,490 >> [Студентите] Значи $ 0 е контролор, нели? 620 00:36:42,490 --> 00:36:44,000 Дека втората работа. 621 00:36:44,000 --> 00:36:46,090 Прашањето е е $ 0 контролор? 622 00:36:46,090 --> 00:36:48,610 $ 0 е променлива Јас создаде токму тука. 623 00:36:48,610 --> 00:36:51,320 Јас создаде цел во прв план. Јас го доделен на некои променлива. 624 00:36:51,320 --> 00:36:54,960 Тогаш јас го помина во оваа функција, ја поставите како телото на одговор. 625 00:36:54,960 --> 00:36:57,260 Дали тоа има смисла? 626 00:36:57,260 --> 00:37:02,200 [Студентите] Така е поглед :: фабрика, е поглед како класа 627 00:37:02,200 --> 00:37:06,610 или библиотека [нечујни] фабрика функција? 628 00:37:06,610 --> 00:37:10,640 Прашањето е за гледање :: фабрика функција, 629 00:37:10,640 --> 00:37:14,020 и во основа тоа е малку повеќе објектно-ориентираното програмирање суштина. 630 00:37:14,020 --> 00:37:18,000 Глетката е погледот класа, и има метод наречен "Фабрика" 631 00:37:18,000 --> 00:37:24,170 и тоа е начин за да го дофати објект кој е наречен "блог / индекс." 632 00:37:24,170 --> 00:37:27,140 И тоа е малку повеќе објектно-ориентираното програмирање работи 633 00:37:27,140 --> 00:37:33,010 дека јас не одам да си во тука премногу. 634 00:37:33,010 --> 00:37:36,400 Сега очигледно, ние сакаме да се создаде нови мислења, 635 00:37:36,400 --> 00:37:38,790 но ние не сакаме да мора да го направи тоа преку базата на податоци, 636 00:37:38,790 --> 00:37:41,280 па ние ќе да се создаде нова акција за создавање на нов пост, 637 00:37:41,280 --> 00:37:43,050 и таму е многу нешта што треба да направите. 638 00:37:43,050 --> 00:37:45,910 >> Првото нешто што ние се случува да се направи - да се справи со овие работи еден по еден. 639 00:37:45,910 --> 00:37:48,320 Првото нешто што ние ќе направиме е ние мора да се создаде еден вид 640 00:37:48,320 --> 00:37:54,460 за вметнување на нов пост, 641 00:37:54,460 --> 00:37:57,360 но јас сум исто така, ќе додадете нова акција прво, 642 00:37:57,360 --> 00:38:01,050 па додавање на нова акција е само лесно како 643 00:38:01,050 --> 00:38:03,490 додавање на нова функција со вашиот контролер, 644 00:38:03,490 --> 00:38:13,710 и сега за сега јас ќе одам да направите нешто многу основни, 645 00:38:13,710 --> 00:38:20,850 само го имате овој поглед и по тоа, само да го прикаже за вас. 646 00:38:20,850 --> 00:38:26,220 И тогаш сега ќе одам да се создаде нов изглед датотека, 647 00:38:26,220 --> 00:38:33,690 и јас одам да почнете да пишувате некои работи. 648 00:38:33,690 --> 00:38:36,540 Што е убаво за Kohana е тоа што тие обезбедуваат многу различни помошник функции 649 00:38:36,540 --> 00:38:38,790 за да се напише поглед кодот полесно, 650 00:38:38,790 --> 00:38:41,970 и 1 на оние помошник функции или помошник модули 651 00:38:41,970 --> 00:38:45,860 е околу пишување форми. 652 00:38:45,860 --> 00:38:49,460 За пишување форми, јас навистина не треба директно да се напише себе сите HTML. 653 00:38:49,460 --> 00:38:51,100 Вие момци имаат напишано HTML форми. 654 00:38:51,100 --> 00:38:54,850 Знаете како тоа може да биде навистина, навистина болно и тежок да се напише форми. 655 00:38:54,850 --> 00:38:59,970 Тоа не е забавно, па за среќа, 656 00:38:59,970 --> 00:39:04,860 ние во основа може да напише форма со користење Kohana е 657 00:39:04,860 --> 00:39:11,190 формираат помошник функции да го направи тоа за нас. 658 00:39:11,190 --> 00:39:17,340 Ние ќе основа имаат полиња за секоја работа што го имаме, 659 00:39:17,340 --> 00:39:23,160 па една за автори и еден за тела. 660 00:39:23,160 --> 00:39:27,090 Ние ќе имаат етикета, и ние ќе треба да имаат влез. 661 00:39:37,450 --> 00:39:41,360 >> И тогаш, конечно, ние ќе треба да имаат поднесување. 662 00:39:49,350 --> 00:39:52,230 И како што можете да видите, ова е многу почиста да се напише 663 00:39:52,230 --> 00:39:58,150 од сите што неуредна HTML, која е вид на убаво. 664 00:39:58,150 --> 00:40:00,930 Готово, постојат и други веб рамки кои имаат дури и почиста од тоа, 665 00:40:00,930 --> 00:40:04,440 но барем тоа е подобро отколку пишување на HTML себе. 666 00:40:09,400 --> 00:40:11,130 Прекрасно, така што ова е она што го гледате. 667 00:40:11,130 --> 00:40:13,530 Тоа е вид на неуредна, 668 00:40:13,530 --> 00:40:19,720 па ќе одам да додадете линија пауза таму 669 00:40:19,720 --> 00:40:21,180 да се направи кои изгледаат малку поубаво. 670 00:40:21,180 --> 00:40:23,330 Па, се разбира, се уште изгледа навистина, навистина лошо, но ние сме само фокусирана 671 00:40:23,330 --> 00:40:26,050 на функционалност за сега, а не на естетиката. 672 00:40:26,050 --> 00:40:28,010 Нема време да се направи сè. 673 00:40:28,010 --> 00:40:30,600 И како што можете да видите, сега имаме супер основна форма, 674 00:40:30,600 --> 00:40:32,080 кој е вид на убаво. 675 00:40:32,080 --> 00:40:36,730 Овој код би рекол е почист отколку што се обидува да напише HTML форма себе, 676 00:40:36,730 --> 00:40:40,290 па тоа е убаво. 677 00:40:40,290 --> 00:40:42,030 Што е следно? 678 00:40:42,030 --> 00:40:49,260 Сега ние треба да се прават работите со акција. 679 00:40:49,260 --> 00:40:51,240 Нормално, кога ќе пишувате HTML форми, 680 00:40:51,240 --> 00:40:54,070 што треба да го каже каде тоа се случува да ги достават форма да. 681 00:40:54,070 --> 00:40:56,050 Стандардно во повеќето веб рамки, 682 00:40:56,050 --> 00:40:58,200 го доставува до иста рачно, така што нешто е, 683 00:40:58,200 --> 00:41:01,310 ако ви испрати добијам барање да / блог / нови, 684 00:41:01,310 --> 00:41:03,240 тоа треба да ви се прикаже форма, 685 00:41:03,240 --> 00:41:06,810 но ако пратите пост барање до / блог / нови со податоци, 686 00:41:06,810 --> 00:41:10,000 тоа всушност треба да се обиде да го спаси пост 687 00:41:10,000 --> 00:41:13,300 и направи нешто со неа. 688 00:41:20,630 --> 00:41:22,180 >> Она што ние ќе треба да направите е 689 00:41:22,180 --> 00:41:25,320 во основа сите ние треба да направите за да се провери дали тоа е пост барање или GET барањето 690 00:41:25,320 --> 00:41:29,350 е да се провери што се пост променливи можете да го поставите. 691 00:41:29,350 --> 00:41:34,560 И ако пост променлива е поставено, тогаш ние ќе треба да се обиде да креира нов пост. 692 00:41:34,560 --> 00:41:38,440 Повторно, ние само го направите ова, 693 00:41:38,440 --> 00:41:41,090 и дека создава нов пост, и ние сме буквално ќе 694 00:41:41,090 --> 00:41:51,150 постави полиња вака, 695 00:41:51,150 --> 00:41:55,640 а потоа ние ќе го спаси. 696 00:41:55,640 --> 00:41:59,200 А потоа јас ќе одам да ги пренасочи 697 00:41:59,200 --> 00:42:07,660 на почетната страница, па тие може да се види нашата листа на мислења повторно. 698 00:42:07,660 --> 00:42:09,620 Ајде да се обидеме тоа. 699 00:42:09,620 --> 00:42:15,160 Јас ќе кажам ", Брендон," 700 00:42:15,160 --> 00:42:18,140 а потоа достави мислење, и ако се оди добро, 701 00:42:18,140 --> 00:42:21,390 како што можете да видите, тоа ме пренасочени на почетната страница, 702 00:42:21,390 --> 00:42:24,140 и ако јас дојдете до дното, имаме ново вметнува пост. 703 00:42:24,140 --> 00:42:26,430 Yay! 704 00:42:26,430 --> 00:42:28,430 Да, прашање. 705 00:42:28,430 --> 00:42:31,760 >> [Студентите] Што ако влегле иста работа 706 00:42:31,760 --> 00:42:33,380 ќе влезе и пред тоа? 707 00:42:33,380 --> 00:42:36,950 Дали тоа да се провери да бидете сигурни дека не сте го удвои 708 00:42:36,950 --> 00:42:38,810 исто поднесување? 709 00:42:38,810 --> 00:42:41,660 Биде стандардно, не, затоа што по дифолт - 710 00:42:41,660 --> 00:42:46,470 Жал ми е, прашање е дали ќе влезат во иста податоци во форма 711 00:42:46,470 --> 00:42:50,180 и да поднесе тоа, таа ќе ви овозможи да се вметне дупликат објект, 712 00:42:50,180 --> 00:42:52,550 дупликат влез, во суштина? 713 00:42:52,550 --> 00:42:54,070 Токму сега, да, тоа ќе ви овозможи да го сторат тоа, 714 00:42:54,070 --> 00:42:58,860 бидејќи во базите на податоци тоа е совршено валидни да имаат сосема дупликат редови, 715 00:42:58,860 --> 00:43:02,260 но ако тоа не е проблем, тогаш можете да го додадете validations, на пример, 716 00:43:02,260 --> 00:43:06,430 да бидете сигурни дека ако ова е иста како нешто што веќе постои, 717 00:43:06,430 --> 00:43:08,720 тогаш велат дека тоа е невалиден објект, 718 00:43:08,720 --> 00:43:11,200 а потоа можете дури и да го одредите вашиот порака за грешка 719 00:43:11,200 --> 00:43:14,390 и да каже, "Невалиден бидејќи веќе постои" или нешто слично. 720 00:43:14,390 --> 00:43:22,420 Но, во овој случај, јас само може да се создаде нешто дупликат. 721 00:43:22,420 --> 00:43:26,010 Сега, ајде да се обидеме и да додадете некои validations. 722 00:43:26,010 --> 00:43:30,400 Проблемот со ова право сега е дека 723 00:43:30,400 --> 00:43:34,220 Јас буквално може да поднесе целосно празно место. 724 00:43:34,220 --> 00:43:37,500 Можам да кликнете на ова копче токму сега, и таму ќе одиме. 725 00:43:37,500 --> 00:43:40,290 Вие навистина не може да се види, но ова дополнителна линија тука 726 00:43:40,290 --> 00:43:43,830 укажува на тоа дека јас буквално имаат нов пост. 727 00:43:43,830 --> 00:43:46,050 Тоа само има празни автор и празно тело, 728 00:43:46,050 --> 00:43:48,630 и ние не сакаме да им овозможи на луѓето да го направат тоа. 729 00:43:48,630 --> 00:43:52,550 Ова е местото каде валидација влегува внатре 730 00:43:52,550 --> 00:43:57,540 >> Можам да одам на мојот модел објект, 731 00:43:57,540 --> 00:43:59,530 и сега можам да додадете нова функција која го одредува 732 00:43:59,530 --> 00:44:02,000 што валидација правила треба да додадете во овој модел 733 00:44:02,000 --> 00:44:06,840 да бидете сигурни дека тоа е валидна или да се определи што значи да се биде валидна мислење? 734 00:44:06,840 --> 00:44:10,210 И јас сакам да кажам тоа е само валиден пост ако двете авторот и тело 735 00:44:10,210 --> 00:44:15,150 не се празни, и ова е како да го направи тоа во Kohana. 736 00:44:15,150 --> 00:44:18,750 Ќе креираш нова функција наречена "Правила" 737 00:44:18,750 --> 00:44:20,210 а потоа ќе се врати во основа асоцијативна низа 738 00:44:20,210 --> 00:44:24,230 што ги дефинира правилата за валидација за овој објект. 739 00:44:24,230 --> 00:44:27,530 Ние ќе се врати низа, а потоа она што ние ќе треба да направите е да 740 00:44:27,530 --> 00:44:32,820 каже "авторот", таа оди на низа, 741 00:44:32,820 --> 00:44:37,720 кој оди во друга низа наречен "не е празен." 742 00:44:37,720 --> 00:44:41,480 А потоа јас ќе одам да се каже "тело". 743 00:44:50,980 --> 00:44:54,120 Океј, и синтакса за овој и структура за ова 744 00:44:54,120 --> 00:44:56,530 може да изгледа малку тежок и малку комплицирано. 745 00:44:56,530 --> 00:44:59,330 Ако го прочитате документацијата, тоа е прилично јасна да дознаам, 746 00:44:59,330 --> 00:45:02,500 Но во суштина тоа е она што треба да направите за да се определи 747 00:45:02,500 --> 00:45:04,130 некои валидација правила, и постојат многу различни правила 748 00:45:04,130 --> 00:45:06,810 дека Kohana ќе ви даде бесплатно, како можете да додадете правила за да се каже 749 00:45:06,810 --> 00:45:08,410 тоа мора да биде барем на оваа должина. 750 00:45:08,410 --> 00:45:11,800 Можеби тоа треба да биде нумерички. Можеби тоа треба да биде алфа нумерички. 751 00:45:11,800 --> 00:45:14,410 Можеби тоа треба да биде најмногу оваа должина, па натаму и така натаму. 752 00:45:14,410 --> 00:45:17,730 Постојат голем број на различни правила што Kohana обезбедува за вас, 753 00:45:17,730 --> 00:45:19,610 и можете да одите на нивниот веб-сајт, погледнете во документацијата, 754 00:45:19,610 --> 00:45:23,150 и можете да ги видите сите различни работи што можете да направите. 755 00:45:23,150 --> 00:45:25,650 >> Но, ова е сè што ми треба да се направи, 756 00:45:25,650 --> 00:45:30,490 и сега да видиме што ќе се случи 757 00:45:30,490 --> 00:45:34,060 ако поднесам празно место. 758 00:45:34,060 --> 00:45:36,960 Што ќе се случи? О, не, јас добиеш грешка. 759 00:45:36,960 --> 00:45:39,440 Јас добие валидација исклучок. 760 00:45:39,440 --> 00:45:41,070 Па, тоа е добро. 761 00:45:41,070 --> 00:45:43,200 Таа ми кажа дека мојот модел е невалиден, 762 00:45:43,200 --> 00:45:45,780 но не сакам да се прикаже исклучок 763 00:45:45,780 --> 00:45:48,720 на мојот корисници, кога тие се обидуваат да ја поднесете нешто не е валиден, нели? 764 00:45:48,720 --> 00:45:51,560 Сакам да им даде некој вид на поповолна порака за грешка 765 00:45:51,560 --> 00:45:53,610 кога нешто ќе тргне наопаку. 766 00:45:53,610 --> 00:46:01,830 Она што ние ќе треба да направите е ние ќе 767 00:46:01,830 --> 00:46:04,490 заврши што е во обид фати јамка. 768 00:46:04,490 --> 00:46:06,750 Всушност, мислам дека ова е исто така нешто што се уште не научил 769 00:46:06,750 --> 00:46:10,820 во CS50, бидејќи C, програмски јазик C, 770 00:46:10,820 --> 00:46:14,000 нема исклучоци, но речиси секој друг јазик 771 00:46:14,000 --> 00:46:16,700 има исклучоци, па навистина, навистина кратко, 772 00:46:16,700 --> 00:46:19,430 По исклучок е нешто што дел од кодот да 773 00:46:19,430 --> 00:46:21,430 фрли исклучок кога нешто ќе тргне наопаку, 774 00:46:21,430 --> 00:46:23,410 но потоа можеби и некои други парче од код повисоко 775 00:46:23,410 --> 00:46:25,810 може да се фати тој исклучок и направи нешто со неа. 776 00:46:25,810 --> 00:46:27,710 >> На пример, во овој случај, 777 00:46:27,710 --> 00:46:29,940 на дел од кодот кој се обидува да го спаси модел, 778 00:46:29,940 --> 00:46:33,170 тоа потврдува модел, и ако тоа вели: "Океј, овој модел не е валиден" 779 00:46:33,170 --> 00:46:36,150 тоа се случува да се фрли исклучок, и ова е вид на еквивалентни на 780 00:46:36,150 --> 00:46:39,870 во C може да се врати -1 или нешто слично. 781 00:46:39,870 --> 00:46:42,320 А потоа за мене, на оваа функција, мојот код 782 00:46:42,320 --> 00:46:46,310 на повисоко ниво, можам да се обиде и да се фати тој исклучок 783 00:46:46,310 --> 00:46:49,330 и во основа се каже, "Океј, ако јас се фати исклучок, што сум јас ќе правам?" 784 00:46:49,330 --> 00:46:51,570 Или би можел да избере да не се фати дека исклучок и нека некој повисоко 785 00:46:51,570 --> 00:46:54,400 фати исклучок, или, ако никој не го фаќа, 786 00:46:54,400 --> 00:46:56,820 тогаш целата програма се урна и вели: 787 00:46:56,820 --> 00:46:59,170 "Нешто не беше во ред, и не можев да се справи со неа." 788 00:46:59,170 --> 00:47:04,490 >> Но, она што го правиме е ќе заврши дел од кодот во обид блок, 789 00:47:04,490 --> 00:47:09,030 а потоа можете исто така да додадете нешто што се нарекува фати блок, 790 00:47:09,030 --> 00:47:17,300 кој е вид на кодот кој ќе се обиде да фати исклучоци кои може да се случи. 791 00:47:17,300 --> 00:47:20,430 И така, ако јас го фати овој особено исклучок 792 00:47:20,430 --> 00:47:23,110 или невалидност исклучок, тогаш она што јас ќе одам да направите е да 793 00:47:23,110 --> 00:47:31,210 Одам да го поставите на грешки - Мислам дека тоа е како да го сторам - 794 00:47:31,210 --> 00:47:35,370 и јас одам да го поставите на грешки на некои објект. 795 00:47:35,370 --> 00:47:40,920 А потоа она што јас ќе одам да направите е ако тоа хитови овој исклучок, 796 00:47:40,920 --> 00:47:43,090 тоа не се случува да се пренасочи, и ако тоа не се пренасочи, 797 00:47:43,090 --> 00:47:46,160 тоа се случува да излезе од ако блог 798 00:47:46,160 --> 00:47:49,920 и го погоди овој блог / нови, кои се сакаат Сакам да се направи. 799 00:47:49,920 --> 00:47:53,190 Ако има грешка, тогаш сакам да се вратам во форма 800 00:47:53,190 --> 00:47:55,100 и прикажување на оние грешки. 801 00:47:55,100 --> 00:48:00,780 Сега што сакам да направите е да сакам да се помине во оние грешки 802 00:48:00,780 --> 00:48:07,010 на гледање. 803 00:48:07,010 --> 00:48:10,360 Океј, мислам дека имаат поглед токму тука, 804 00:48:10,360 --> 00:48:14,660 и во основа сакам да прикаже оние грешки, ако тие постојат. 805 00:48:14,660 --> 00:48:19,740 Пред да го напишете HTML за тоа, јас ќе одам да се навистина брзо 806 00:48:19,740 --> 00:48:21,720 ви покаже што е структурата на ова Грешки променлива изгледа, 807 00:48:21,720 --> 00:48:23,080 и ова е добра практика во целина. 808 00:48:23,080 --> 00:48:25,070 А многу пати ќе добиете нешто назад од некои метод, 809 00:48:25,070 --> 00:48:27,250 некоја функција во веб рамка, 810 00:48:27,250 --> 00:48:29,410 а вие не знаете што променлива изгледа, 811 00:48:29,410 --> 00:48:31,210 така да не знаат како да се работи со него. 812 00:48:31,210 --> 00:48:37,790 Одам да се користи за печатење R метод за да во основа го испечатите. 813 00:48:37,790 --> 00:48:41,100 >> И како што можете да видите, тоа ми кажува дека е соработник низа, 814 00:48:41,100 --> 00:48:44,880 и имаш клучот, автор, поени на оваа низа, 815 00:48:44,880 --> 00:48:47,050 Авторот не мора да биде празна, а друг клуч, тело, 816 00:48:47,050 --> 00:48:49,680 поени на друг стринг, телото не смее да биде празна. 817 00:48:49,680 --> 00:48:52,130 Јас сум како, во ред, кул. 818 00:48:52,130 --> 00:48:56,230 Тогаш можам да iterate преку низа и печати од секоја порака. 819 00:48:56,230 --> 00:49:02,150 Тоа е во основа како асоцијативна низа со еден куп пораки. 820 00:49:02,150 --> 00:49:13,500 Она што јас ќе одам да направите е "ако грешки" 821 00:49:13,500 --> 00:49:17,140 и јас ќе одам да креирате неподреден список, 822 00:49:17,140 --> 00:49:20,860 и јас одам да iterate преку сите грешки. 823 00:49:33,730 --> 00:49:38,710 И ова, и сега ќе одам да се обиде поднесување на оваа, повторно, 824 00:49:38,710 --> 00:49:41,200 и ајде да видиме што можеме да се добие. 825 00:49:41,200 --> 00:49:45,370 Сега ние се добие оваа убава листа на грешки, 826 00:49:45,370 --> 00:49:48,630 и ова е сè уште прилично грда, но ова очигледно може да биде форматирана за да изгледаат убаво, 827 00:49:48,630 --> 00:49:51,620 но основната идеја е само во неколку линии на код, 828 00:49:51,620 --> 00:49:53,720 бевме во можност да се провери со нашиот модел, 829 00:49:53,720 --> 00:49:56,510 бидете сигурни дека одредени области не беа празни, 830 00:49:56,510 --> 00:49:59,740 и ако нешто не беше во ред, а потоа се врати некој вид на порака за грешка 831 00:49:59,740 --> 00:50:01,760 Тогаш би можел да го претстави назад до корисникот. 832 00:50:01,760 --> 00:50:03,910 Исто така можете да го прилагодите вашиот валидација 833 00:50:03,910 --> 00:50:07,590 така што ќе всушност може да има порака за грешка 834 00:50:07,590 --> 00:50:09,620 што е повеќе специфични за вашата апликација или нешто слично. 835 00:50:09,620 --> 00:50:14,600 Сето она што е генерално се индивидуализира. 836 00:50:14,600 --> 00:50:17,150 >> За жал, ние сме работи надвор од времето, 837 00:50:17,150 --> 00:50:20,040 па јас сум ќе мора да им ја исклучи живо кодирање сесија тука. 838 00:50:20,040 --> 00:50:22,980 Постојат еден куп на други функции кои сакам да покажат за вас 839 00:50:22,980 --> 00:50:25,650 во овој пример. 840 00:50:25,650 --> 00:50:27,620 На пример, можете да додадете шаблони на вашиот сајт, 841 00:50:27,620 --> 00:50:31,110 па можеби постои некој вид на HTML код кој сакате да аплицирате 842 00:50:31,110 --> 00:50:35,190 до секоја страница на вашиот сајт, и наместо вметнување дека 843 00:50:35,190 --> 00:50:40,630 во секој поглед фајл имаш, која очигледно ќе биде лоша пракса, 844 00:50:40,630 --> 00:50:43,020 вие во основа може да се дефинира овие шаблони, 845 00:50:43,020 --> 00:50:46,660 а потоа во вашиот контролер се каже, "Океј, јас сум со користење на овој шаблон." 846 00:50:46,660 --> 00:50:50,130 "Дали сите моите ставови користете го овој шаблон." 847 00:50:50,130 --> 00:50:52,470 И едно последно нешто што сакам да покажат да ви како и 848 00:50:52,470 --> 00:50:57,800 дека ние немаме време за е крос-сајт скриптирање, 849 00:50:57,800 --> 00:51:01,430 и во основа мислам дека вие момци имаат веројатно се гледа во CS50 - 850 00:51:01,430 --> 00:51:03,770 Мислам дека Дејвид Malan веројатно зборуваше за тоа како обично може да се инјектираат 851 00:51:03,770 --> 00:51:08,040 JavaScript код во - сте разговаравме за тоа? 852 00:51:08,040 --> 00:51:10,220 Можеби? Можеби не? 853 00:51:10,220 --> 00:51:12,670 >> Но, многу пати може да се инјектираат малициозни JavaScript код 854 00:51:12,670 --> 00:51:15,630 во нечиј база на податоци, и ако тие не избега кои правилно, 855 00:51:15,630 --> 00:51:18,280 тогаш кога тие се присутни тие податоци до корисникот, 856 00:51:18,280 --> 00:51:21,310 тогаш тоа може да се кандидира на некои вид на случаен JavaScript код да не сакате да се случи, 857 00:51:21,310 --> 00:51:23,050 и јас требаше да се покаже како ти би го сторила дека во рамките Kohana. 858 00:51:23,050 --> 00:51:25,380 Тоа е, всушност, навистина, навистина лесно. 859 00:51:25,380 --> 00:51:31,920 Јас би можеле да го направите токму сега во 2 секунди буквално. 860 00:51:31,920 --> 00:51:34,560 Сите што треба да направите е во основа заврши овие работи 861 00:51:34,560 --> 00:51:46,920 во оваа работа наречена HTML субјекти. 862 00:51:46,920 --> 00:51:51,180 И дека автоматски ќе избега сите ликови правилно 863 00:51:51,180 --> 00:51:54,730 и бидете сигурни дека не се на овој проблем. 864 00:51:54,730 --> 00:51:57,220 [Студентите] Вие напишани првиот тест погрешно. 865 00:51:57,220 --> 00:52:01,030 [Брендон Лиу] О, Упс. 866 00:52:01,030 --> 00:52:06,420 >> Океј, тоа е сè што морав да го споделам со вас за денес. 867 00:52:06,420 --> 00:52:09,930 Овие слајдови се случува да бидат испратени, но тие се генерално 868 00:52:09,930 --> 00:52:13,900 само ресурси што навистина му треба за да започнете со Kohana. 869 00:52:13,900 --> 00:52:16,770 Можете да одат на веб-сајтот. Тие имаат упатство за корисникот, и тие исто така имаат API Explorer. 870 00:52:16,770 --> 00:52:20,630 Ние може да се истражуваат сите различни функции и помошник функции тие имаат за вас. 871 00:52:20,630 --> 00:52:22,070 Тие обично имаат доволно информации на веб страната 872 00:52:22,070 --> 00:52:25,310 дека можете да го користите за да започнете и да се случува со Kohana. 873 00:52:25,310 --> 00:52:30,840 Таму не се толку многу вежби, мислам, за Kohana, надвор од 874 00:52:30,840 --> 00:52:33,880 она што тие го имаат на веб тука, па ова е веројатно најдобар залог. 875 00:52:33,880 --> 00:52:35,600 Но, ако сакате да одите со веб рамка 876 00:52:35,600 --> 00:52:37,120 а вие не сакате да мора да ги собереш на странски јазик, 877 00:52:37,120 --> 00:52:39,780 и сакате нешто што е релативно лесен и има лесен за учење крива, 878 00:52:39,780 --> 00:52:41,570 Јас дефинитивно би препорачуваме Kohana. 879 00:52:41,570 --> 00:52:44,040 Тоа е веројатно најдобрата понуда за тоа. 880 00:52:44,040 --> 00:52:46,830 На смешно нешто, сепак, е ако бевме користење на Ruby on Rails, 881 00:52:46,830 --> 00:52:48,550 би можеле да се повтори она што го направија 882 00:52:48,550 --> 00:52:51,430 и веројатно повеќе во под 3 минути. 883 00:52:51,430 --> 00:52:54,710 Не е шега, но за учење Ruby on Rails трае многу подолго 884 00:52:54,710 --> 00:52:56,780 отколку што ќе биде потребно да се учи Kohana. 885 00:52:56,780 --> 00:52:58,840 Тоа е во основа вашиот избор на она што сакате да изберат да учат, 886 00:52:58,840 --> 00:53:01,260 но ако сакате да се нагоре и трчање брзо, 887 00:53:01,260 --> 00:53:03,870 Kohana е дефинитивно многу добар избор. 888 00:53:03,870 --> 00:53:06,730 >> Секое последните прашања пред да заврши? Да. 889 00:53:06,730 --> 00:53:08,020 [Студентите] Како би се интегрираат дека 890 00:53:08,020 --> 00:53:13,120 во CSS рамка како сте ја користеле кога сте биле инструкции? 891 00:53:13,120 --> 00:53:16,700 Прашањето е како ќе се интегрираме дека со CSS рамка? 892 00:53:16,700 --> 00:53:18,740 Она што ние веројатно би направите е да ние најверојатно ќе ги вклучи 893 00:53:18,740 --> 00:53:21,090 нова папка каде што ќе шутнат сите наши CSS фајлови, 894 00:53:21,090 --> 00:53:23,010 а потоа ние, исто така, би додадете нова дефиниција. 895 00:53:23,010 --> 00:53:26,090 Во дефиниција би вклучуваат оние CSS фајлови 896 00:53:26,090 --> 00:53:28,410 да бидете сигурни дека тие се референцира на секоја страница, 897 00:53:28,410 --> 00:53:32,220 а потоа кога ќе всушност се пишува HTML, 898 00:53:32,220 --> 00:53:34,010 само додадете соодветни класи и какво ли не, 899 00:53:34,010 --> 00:53:36,100 и на пример, кога користите нешто како форма 900 00:53:36,100 --> 00:53:40,710 помошна функција, можете да додадете повеќе параметри потоа 901 00:53:40,710 --> 00:53:42,830 да се определи што класи сакате да биде прикачен на различни нешта 902 00:53:42,830 --> 00:53:47,820 па тие би можеле да го стил правилно, и тоа е во основа како ќе одат. 903 00:53:47,820 --> 00:53:50,100 >> Други прашања? 904 00:53:50,100 --> 00:53:52,090 Страшни. 905 00:53:52,090 --> 00:53:58,540 Ви благодариме за вашето време, и ви благодарам што дојдовте. 906 00:53:58,540 --> 00:54:05,170 Јас не одам за да додадете многу друго, 907 00:54:05,170 --> 00:54:08,560 но 1 навистина брзо работа е ние немаме врска 908 00:54:08,560 --> 00:54:12,590 на форма. 909 00:54:12,590 --> 00:54:14,310 Навистина неми. 910 00:54:14,310 --> 00:54:20,110 Ајде да додадете - всушност во поглед, блог индекс, 911 00:54:20,110 --> 00:54:23,890 ајде навистина брзо додадете линк што оди на нова страница, 912 00:54:23,890 --> 00:54:26,770 страница каде што може да се вметне нов пост. 913 00:54:26,770 --> 00:54:29,950 Ние ќе го направите тоа. 914 00:54:29,950 --> 00:54:34,020 Што е убаво е таму е целата оваа група на HTML помошник функции 915 00:54:34,020 --> 00:54:37,090 кои прават различни нешта за вас, така што веќе видовме лица 916 00:54:37,090 --> 00:54:41,980 функционира тука, но тие исто така имаат функција наречена "сидро" 917 00:54:41,980 --> 00:54:45,400 кои можете да напишете во блог / нови 918 00:54:45,400 --> 00:54:49,550 и да каже, "Објави нов блог." 919 00:54:49,550 --> 00:54:51,850 И тоа ќе се создаде дека врската за вас, 920 00:54:51,850 --> 00:54:54,120 и се чини дека ова навистина тривијални да се направи, но тоа е убаво, 921 00:54:54,120 --> 00:54:58,720 бидејќи претпоставувам дека ќе се движат вашиот сајт од 1 домен на друг. 922 00:54:58,720 --> 00:55:01,390 И ако само напишав од на адресите себе, 923 00:55:01,390 --> 00:55:04,350 тогаш ќе мора да се променат сите URL адреси. 924 00:55:04,350 --> 00:55:06,850 Или можеби се пресели од 1 подпапка на друг подпапка. 925 00:55:06,850 --> 00:55:08,790 Ќе треба да се променат сите оние адреси себе, 926 00:55:08,790 --> 00:55:12,180 и тоа не е забавно. 927 00:55:12,180 --> 00:55:14,510 Можете да го користите ова сидро токму тука, 928 00:55:14,510 --> 00:55:18,950 и можете да го промените домен или подпапка префикс 929 00:55:18,950 --> 00:55:20,640 во конфигурациската датотека еднаш, 930 00:55:20,640 --> 00:55:22,980 а потоа тој ќе се однесува дека насекаде, а тоа е, повторно, 931 00:55:22,980 --> 00:55:26,930 одличен пример за не се повторува, сушење вашиот код надвор. 932 00:55:26,930 --> 00:55:30,370 Каде и да сте сами повторува, се обиде да се извлече во некој вид на конфигурациската датотека 933 00:55:30,370 --> 00:55:34,160 или да различна функција и да го имаат се справи со тоа за вас. 934 00:55:34,160 --> 00:55:42,930 >> И многу последното нешто што сакав да ти го покажам беше 935 00:55:42,930 --> 00:55:50,250 Претпоставувам дека ние сме назад во овој пост, а јас составен некои навистина долг есеј, 936 00:55:50,250 --> 00:55:52,670 но јас заборавив да го вклучите мојот авторот. 937 00:55:52,670 --> 00:55:55,210 Сега кога ќе кликнете "Submit пост" 938 00:55:55,210 --> 00:55:57,270 Јас само изгубил сè. 939 00:55:57,270 --> 00:56:00,000 Не! Навистина тажно. 940 00:56:00,000 --> 00:56:03,870 Па, како да се справи со тоа? 941 00:56:03,870 --> 00:56:06,070 Ова е она што го правиме. 942 00:56:06,070 --> 00:56:09,340 Она што го правиме е тука за овие влезни и текст област функции, 943 00:56:09,340 --> 00:56:12,700 ако ги вклучиме втор параметар, тогаш вредноста на таа вториот параметар 944 00:56:12,700 --> 00:56:16,620 се случува да биде она што на полето се случува да биде на почетокот населени со. 945 00:56:16,620 --> 00:56:23,570 Што можеме да направиме е во нашиот блог контролор, 946 00:56:23,570 --> 00:56:25,360 ние би можеле да се поврзе друга променлива. 947 00:56:25,360 --> 00:56:27,050 Наречи го тоа "вредности" можеби. 948 00:56:27,050 --> 00:56:30,620 И да го положат во пост низа, буквално. 949 00:56:30,620 --> 00:56:32,620 Тоа значи дека ако неуспешна проверка, 950 00:56:32,620 --> 00:56:36,570 помине да ме пост низа што јас поднесени од последната барање, 951 00:56:36,570 --> 00:56:38,420 и на тој начин јас да го користите вредностите од мојот последен поднесување 952 00:56:38,420 --> 00:56:44,540 да repopulate полиња. 953 00:56:44,540 --> 00:56:49,600 Сега можам да направам нешто слично вредности автор 954 00:56:49,600 --> 00:56:55,180 и вредности телото, и на тој начин сега ако јас не некои случајни нешта 955 00:56:55,180 --> 00:57:01,490 и кликнете "Submit пост", тогаш тоа останува таму. 956 00:57:01,490 --> 00:57:03,830 Но ние ќе да се кандидира во еден друг проблем. 957 00:57:03,830 --> 00:57:07,670 Која работи, но ако одам на страната прв пат, 958 00:57:07,670 --> 00:57:09,720 тоа се случува да се сруши, а тоа е затоа што прв пат 959 00:57:09,720 --> 00:57:13,730 ние одиме на страница, овој пост променлива сè уште не е дефинирана. 960 00:57:13,730 --> 00:57:18,170 Тоа е нула. Тоа не постои. 961 00:57:18,170 --> 00:57:21,630 >> И она што сакам да кажам е, ако ова копче постои, 962 00:57:21,630 --> 00:57:27,750 потоа се врати вредноста на оваа низа, 963 00:57:27,750 --> 00:57:30,450 но ако клучот не постои, потоа се врати празен стринг. 964 00:57:30,450 --> 00:57:32,150 Тоа е функционалноста сакаме овде. 965 00:57:32,150 --> 00:57:34,690 Ние сакаме да се провери ако клучот постои пред да се обиде да пристапи на низата, 966 00:57:34,690 --> 00:57:36,580 и за среќа доволно, 967 00:57:36,580 --> 00:57:38,570 Kohana, исто така, ни дава помошна функција за тоа. 968 00:57:38,570 --> 00:57:41,040 Тие имаат целата оваа пакет на функции 969 00:57:41,040 --> 00:57:43,660 под името ARR, кратки за низа, 970 00:57:43,660 --> 00:57:45,800 и тие имаат 1 функција наречена "добие" 971 00:57:45,800 --> 00:57:48,690 и можете да помине во низа, 972 00:57:48,690 --> 00:57:50,740 и може да го положат во името на клучот. 973 00:57:50,740 --> 00:57:54,330 Тогаш во основа она што ќе го направите е дека ќе се обиде да добие што клучот, 974 00:57:54,330 --> 00:57:56,470 но ако тоа клучот не постои во низа, 975 00:57:56,470 --> 00:58:00,900 тогаш ќе се вратат празно, или ние, исто така, може да одредите стандардно, верувам, 976 00:58:00,900 --> 00:58:03,500 што е убаво. 977 00:58:09,740 --> 00:58:13,150 Сега ако ние го прават истото повторно, 978 00:58:13,150 --> 00:58:15,970 тогаш ќе види сега тоа функционира прв пат околу, 979 00:58:15,970 --> 00:58:18,080 и повторно, ако ние тип во некои случајни нешта 980 00:58:18,080 --> 00:58:23,210 и да се обидат и да го достави, тогаш тоа останува таму. 981 00:58:23,210 --> 00:58:31,640 >> И претпоставувам дека, исто така, може да ви покаже како да додадете образец навистина брзо. 982 00:58:31,640 --> 00:58:36,140 Што можеме да се направи првата е дека ние може да додадете нов преглед наречен "template.php" 983 00:58:36,140 --> 00:58:38,890 во рамките на погледи папка, 984 00:58:38,890 --> 00:58:44,730 и она што јас ќе одам да направите е да одам да се печати нешто што се нарекува "содржина" 985 00:58:44,730 --> 00:58:49,130 која се случува да ми биде главната содржина. 986 00:58:49,130 --> 00:58:51,380 А можеби и во самото дно Одам да додадете, да речеме, 987 00:58:51,380 --> 00:58:53,340 авторски права. 988 00:58:53,340 --> 00:58:56,150 [Нечујни студент прашање] 989 00:58:56,150 --> 00:58:58,050 [Брендон Лиу] Можеби ова е супер основните дефиниција Сакам да го користите. 990 00:58:58,050 --> 00:59:02,840 Сакам да имам една папка со мојот авторските права на секоја страница, 991 00:59:02,840 --> 00:59:05,560 и сега што јас ќе одам да направите во рамките на мојот контролер 992 00:59:05,560 --> 00:59:07,740 сега наместо да се каже ", се протега контролор" 993 00:59:07,740 --> 00:59:11,870 Одам да се каже, "се протега Controller_Template" 994 00:59:11,870 --> 00:59:15,890 и сега наместо да се каже, "одговор тело е еднаква на ова гледиште," 995 00:59:15,890 --> 00:59:24,110 Одам да се каже, "овој шаблон содржина е -" 996 00:59:24,110 --> 00:59:27,690 и мислам - да го ставам знак за еднаквост? 997 00:59:27,690 --> 00:59:32,710 Заборавам. Да, јас мислев така. 998 00:59:32,710 --> 00:59:37,710 И сега јас во собата дека содржината променлива да се изедначи со поглед. 999 00:59:37,710 --> 00:59:40,960 Можам да го стори истото тука. 1000 00:59:49,620 --> 00:59:57,170 И сега, ако јас се освежи, можете да видите сега овој авторските права е додадена таму, 1001 00:59:57,170 --> 01:00:00,350 и само направи некои случајни пост, 1002 01:00:00,350 --> 01:00:06,760 а потоа, повторно, треба да се види дека на авторските права е на самото дно на страната. 1003 01:00:06,760 --> 01:00:10,730 >> Велики. Тоа е се што сакав да ти покажам момци. 1004 01:00:10,730 --> 01:00:14,970 [Аплауз] 1005 01:00:14,970 --> 01:00:18,950 Било какви прашања? 1006 01:00:18,950 --> 01:00:21,000 [CS50.TV]