1 00:00:00,000 --> 00:00:02,150 >> [Семінар] [Кохана: Лёгкі PHP Framework] 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 Кохана, які з'яўляецца асновай вэб-распрацоўкі PHP. 7 00:00:14,460 --> 00:00:17,260 Сёння будзе жывы семінар кадавання, 8 00:00:17,260 --> 00:00:21,000 так што я ў асноўным збіраюцца выдаткаваць 5-10 хвілін тлумачачы, што Кохана з'яўляецца, 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 Ён ліквідуе шмат шаблоннага кода. 50 00:02:14,790 --> 00:02:16,640 Гэта архітэктура, для вашага праекта. 51 00:02:16,640 --> 00:02:18,680 >> Самы папулярны з іх будзе мадэль-паказ-кантролер, 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 >> Сёння мы будзем казаць пра Кохана, 80 00:03:29,360 --> 00:03:31,610 які з'яўляецца адным з многіх фреймворков. 81 00:03:31,610 --> 00:03:34,550 Ёсць вэб-рамкі, і ёсць тыя, практычна ў кожнай мове, 82 00:03:34,550 --> 00:03:38,330 і я выбіраю Кохана таму Кохана, магчыма 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 І, нарэшце, Кохана выкарыстоўвае архітэктуру 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 Яна выступае за Model-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 Мы збіраемся стварыць мадэль, якая мае адносiны да пасады, 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 Напрыклад, на Facebook, калі вы адзін хтосьці, 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 Любыя пытанні да гэтага часу каля Кохана наогул? 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 таму што гэта працуе Linux замест 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 файл і расшпіліла, што ў каталог пад імем Кохана, 182 00:08:54,500 --> 00:08:58,820 і мы збіраемся перайменаваць гэтую CS50-Кохана, 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 Большасць з вас можа ігнараваць - we're не збіраюся ісці праз кожны файла, які тут 187 00:09:10,140 --> 00:09:13,130 з-за нашых часовых абмежаванняў, 188 00:09:13,130 --> 00:09:16,310 але ў цэлым пры ўсталёўцы Кохана, першае, што вы робіце 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 каб пераканацца, што ваша сераду правільна наладжаны для запуску Кохана 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 Справа ў тым, па змаўчанні, Кохана мяркуе, што 207 00:10:28,460 --> 00:10:31,480 ваш праект у каранёвым каталогу вашага дамена, 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 Кохана. 211 00:10:39,820 --> 00:10:42,640 Справа ў тым, што гэта памылкова растлумачыла CS50-Кохана 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 але той, які я гляджу на гэта, што называецца база URL, 222 00:11:21,700 --> 00:11:24,570 і па змаўчанні я атрымаць яго ў Кохана, 223 00:11:24,570 --> 00:11:29,020 але я збіраюся змяніць, што CS50-Кохана, 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 Па змаўчанні, каб убачыць, што ён працуе, ён кажа: "Hello World". 227 00:11:39,530 --> 00:11:42,930 Адкуль гэта ўзялося? Як мы дайшлі да Hello World? 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 які з'яўляецца часткай праграмнага забеспячэння, якое будзе адлюстроўваць пэўную URL 232 00:11:57,230 --> 00:12:01,550 у пэўнай часткі кода ў межах вашага рамках. 233 00:12:01,550 --> 00:12:07,510 Напрыклад, калі ў вас ёсць URL, і вы пайсці на некаторыя URL, як foo.com / блог / усе 234 00:12:07,510 --> 00:12:11,170 тое, што каркас збіраецца рабіць - ці, прынамсі, тое, што Кохана збіраецца рабіць - 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 Калі вы паглядзіце ў тэчцы Controller, 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 і што будзе параметры, і таму што ў нас гэта назва ID 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 Я магу выкарыстоўваць код, які я напісаў, знайсці параметр з імем ID. 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 і ён можа рабіць рэчы, як перапісванне URL-адрасоў 300 00:16:16,290 --> 00:16:19,350 і перанакіраваць URL-адрасы і гэтак далей і гэтак далей, 301 00:16:19,350 --> 00:16:24,280 і Кохана дастаткова добры, каб забяспечыць шаблону. файл 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 "Добра, што вы ўводзіце ў, дадайце перад 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 якая з'яўляецца URL базы. 316 00:17:14,300 --> 00:17:17,780 Гэта свайго роду мяркуе, дзе вы працуеце з. 317 00:17:17,780 --> 00:17:22,560 Я збіраюся дадаць CS50 Кохана да таго, што, 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 Але дзіўная рэч, хоць, з'яўляецца тое, што спосаб Кохана робіць гэта 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 Вы павінны захапіць аб'ект запыту і задаць для параметру, які па імені ID, 330 00:18:01,030 --> 00:18:03,240 і што імя ID зыходзіць ад гэтага загрузнага файла 331 00:18:03,240 --> 00:18:06,990 што я паказаў раней, і імя ID ў тыя вуглавыя дужкі, 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 што адпавядае фактычнай мацярынскай паведамлення, а не толькі некаторыя ID, 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 і Кохана мае свой уласны ORM. 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 >> У Кохана, у нас ёсць тое, што называецца модуль базы дадзеных, 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 Гэта дае мне ўсю гэтую дадатковую функцыянальнасць, якая пастаўляецца ў гэтай ORM пакета, 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 і таму, што я падоўжыў гэты клас ORM, 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 у Кохана, што вы робіце, каб захапіць аб'ект паведамленні 471 00:26:52,090 --> 00:26:55,380 гэта накшталт грувасткай, але вы павінны зрабіць тое, што называецца ORM :: завода, 472 00:26:55,380 --> 00:26:57,750 а затым вы праходзіце ў назве мадэлі вы хочаце, 473 00:26:57,750 --> 00:27:00,490 і гэта вяртае аб'ект ORM, які прадстаўляе гэтую мадэль. 474 00:27:00,490 --> 00:27:04,860 А потым, як я ўжо сказаў, калі мы пашыраем аб'ект ORM, 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 Зараз гэта дае мне яшчэ адзін выключэнняў прымаўку: "Клас ORM ня знойдзены," 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 у Кохана, які з'яўляецца свайго роду добрым. 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 Мы павінны даць базу дадзеных і модуль ORM, 506 00:29:02,140 --> 00:29:04,280 таму што, як я ўжо сказаў, мы выкарыстоўваем базу дадзеных, відавочна, 507 00:29:04,280 --> 00:29:08,200 і мы таксама павінны ўключыць модуль ORM, 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 Мы можам дадаць праверак і фільтрацыя. 535 00:31:13,600 --> 00:31:15,650 Праверкі з'яўляюцца адной з рэчаў, 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 і мы можам ітэрацыю масіва паведамленняў, 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 О, я прапусціў адзін крок. Вельмі па-дурному з майго боку. 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 Што прыемна аб Кохана, што яны даюць шмат розных дапаможных функцый 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'S 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 ён прадстаўляе ў тую ж самую URL, так што ўся справа ў тым, 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 Ура! 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 але калі гэта мае значэнне, то вы можаце дадаць праверак, напрыклад, 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 Зараз давайце паспрабуем і дадаць некаторыя праверак. 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 не пусты, і гэта, як вы робіце гэта ў Кохана. 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 што Кохана дасць вам бясплатна, як вы можаце дадаць правілы сказаць 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 Ёсць шмат розных правілаў, якія дае Кохана для вас, 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, 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 у З вы можаце вярнуцца -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 Я збіраюся выкарыстоўваць метад друку г у асноўным раздрукаваць яго. 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 Тады я магу перабору масіва і раздрукаваць кожную паведамленне. 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 і я збіраюся для перабору ўсіх памылак. 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 Я думаю, што Дэвід Малан, верагодна, казалі пра тое, як можна, як правіла, ўводзяць 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 і я збіраўся прадэманстраваць, як вы маглі б зрабіць, што ў Кохана. 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 адзіныя рэсурсы, якія вы павінны сапраўды трэба, каб пачаць з Кохана. 869 00:52:13,900 --> 00:52:16,770 Вы можаце перайсці на сайт. У іх ёсць кіраўніцтва карыстальніка, і яны таксама маюць API даследчык. 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 што вы можаце выкарыстоўваць, каб пачаць працу і пачаць працаваць з Кохана. 873 00:52:25,310 --> 00:52:30,840 Ёсць не так шмат падручнікаў, я думаю, для Кохана, за межамі 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 Я вызначана прапанаваў бы Кохана. 879 00:52:41,570 --> 00:52:44,040 Гэта, верагодна, лепшы прапаноўваючы за гэта. 880 00:52:44,040 --> 00:52:46,830 Самае смешнае, аднак, з'яўляецца калі б мы выкарыстоўвалі Рубін на рэйкі, 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 Ці жарт, але, даведаўшыся, Рубін на рэйкі не займае значна больш 884 00:52:54,710 --> 00:52:56,780 чым гэта было б зрабіць, каб даведацца Кохана. 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 Кохана, безумоўна, вельмі добры выбар. 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 І калі вы проста выпісаў URL-адрасы сябе, 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 Вы павінны былі б змяніць усе тыя, URL-адрасы сябе, 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 Цяпер, калі я націскаю "Адправіць паведамленне" 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 для паўторнага запаўнення палі. 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 і націсніце кнопку "Адправіць паведамленне", то ён застаецца там. 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 Кохана таксама дае нам дапаможную функцыю для гэтага. 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 у тэчцы Views, 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]