1 00:00:00,000 --> 00:00:02,150 >> [Seminar] [Kohana: Një Korniza Lightweight PHP] 2 00:00:02,150 --> 00:00:04,000 [Brandon Liu] [Harvard University] 3 00:00:04,000 --> 00:00:07,270 [Kjo është CS50.] [CS50.TV] 4 00:00:07,270 --> 00:00:09,130 >> Hi everyone. Emri im është Brandon. 5 00:00:09,130 --> 00:00:11,000 Unë jam një i ri këtu në duke bërë kolegj kompjuter shkencës, dhe sot ne do të flasim për 6 00:00:11,000 --> 00:00:14,460 Kohana, e cila është një kornizë web zhvillim PHP. 7 00:00:14,460 --> 00:00:17,260 Sot do të jetë një seminar jetojnë kodim, 8 00:00:17,260 --> 00:00:21,000 kështu që unë jam në thelb do të kalojnë 5-10 minuta duke shpjeguar se çfarë Kohana është, 9 00:00:21,000 --> 00:00:25,000 dhe atëherë unë jam fjalë për fjalë do të ndërtojë një blog super të thjeshtë 10 00:00:25,000 --> 00:00:28,570 për ju të drejtë këtu fjalë për fjalë nga e para. 11 00:00:28,570 --> 00:00:32,229 Ne jemi duke shkuar për të shkarkuar kodin nga faqja e internetit Kohana, 12 00:00:32,229 --> 00:00:35,000 dhe ne jemi duke shkuar për të filluar ndërtimin e një blog, dhe shpresojmë se ajo do të jetë shumë e dobishme, 13 00:00:35,000 --> 00:00:37,000 sepse ju do të shihni ndoshta ndoshta unë do të bëj disa gabime, 14 00:00:37,000 --> 00:00:39,000 dhe ju do të shihni mua shërohen prej tyre, 15 00:00:39,000 --> 00:00:42,040 ose ju do të shihni procesin e mendimit tim si unë të ndërtuar nëpër këtë blog, 16 00:00:42,040 --> 00:00:44,000 dhe ndërkohë, ju do të merrni të njohur me kuadrin vetë. 17 00:00:44,000 --> 00:00:48,000 Shpresojmë se kjo do të jetë një ushtrim shumë udhëzuese. 18 00:00:48,000 --> 00:00:51,370 >> Së pari, çfarë është saktësisht një kornizë? 19 00:00:51,370 --> 00:00:54,000 Nëse ju keni qenë duke marrë CS50 deri më tani, ju nuk keni punuar me të vërtetë me ndonjë 20 00:00:54,000 --> 00:00:56,000 kornizat ende, dhe kjo gjë është. 21 00:00:56,000 --> 00:01:00,000 Ju keni bërë ndoshta 1 zhvillimit web pset tashmë, 22 00:01:00,000 --> 00:01:03,000 dhe le të thonë se ju vazhdoni për të ndërtuar faqet e internetit dhe për të mbajtur faqet e internetit të ndërtimit. 23 00:01:03,000 --> 00:01:05,000 Ju do të filloni të vini re disa gjëra. 24 00:01:05,000 --> 00:01:07,000 Gjëja e parë që ju do të njoftim është se ju jeni me siguri duke bërë të njëjtat gjëra 25 00:01:07,000 --> 00:01:09,150 pa pushim gjatë gjithë kohës, 26 00:01:09,150 --> 00:01:13,000 gjëra të tilla si pastrimi dhënave të dhëna të përdoruesit, 27 00:01:13,000 --> 00:01:17,250 gjëra të tilla si organizimin fotografi tuaj në një mënyrë të caktuar. 28 00:01:17,250 --> 00:01:19,000 Gjë tjetër që ju do të ndoshta të njoftim është se kodi juaj 29 00:01:19,000 --> 00:01:21,000 mund të fillojë të bëhet shumë, shumë i çrregullt, 30 00:01:21,000 --> 00:01:24,000 dhe ju mund të lënë atë çrregullt dhe vetëm kanë një kohë shumë të vështirë ruajtjen atë, 31 00:01:24,000 --> 00:01:26,000 ose ju mund të filloni të strukturës kodin tuaj dhe duke e bërë atë modulare 32 00:01:26,000 --> 00:01:28,510 në mënyra të caktuara për ta bërë atë më të maintainable. 33 00:01:28,510 --> 00:01:31,020 >> Kjo është ajo ku kornizat web thelb erdhi in 34 00:01:31,020 --> 00:01:33,680 Këta njerëz të cilët kishin ndërtuar një shumë faqet e internetit, ata thanë, 35 00:01:33,680 --> 00:01:35,820 "Ne nuk kemi nevojë të bëj sërish këtë çdo herë të vetme që ne të ndërtuar një website." 36 00:01:35,820 --> 00:01:39,050 "Pse nuk kemi vetëm të bëjë një paketë që e bën të gjitha këto gjëra për ju 37 00:01:39,050 --> 00:01:41,250 çdo herë të vetme që ju doni të ndërtuar një website? " 38 00:01:41,250 --> 00:01:43,030 Dhe kështu që kur ju bëni një website të ri, 39 00:01:43,030 --> 00:01:45,880 ju vetëm të përqëndrohet në atë që pikërisht ky website veçantë është rreth. 40 00:01:45,880 --> 00:01:48,630 Ju nuk keni nevojë për të përsëritur të gjitha konfigurimet e ndryshme 41 00:01:48,630 --> 00:01:53,070 dhe ndarja e kodeve dhe kodi rishkrimin 42 00:01:53,070 --> 00:01:56,180 se ju shpesh duhet të bëni kur ju jeni duke e bërë faqet e internetit. 43 00:01:56,180 --> 00:01:59,410 Ideja është që një kuadër ju lejon të shkruar një kod të nivelit më të lartë 44 00:01:59,410 --> 00:02:01,030 pa pasur nevojë të shqetësohen për detaje të nivelit më të ulët. 45 00:02:01,030 --> 00:02:03,670 Një detaj i nivelit më të ulët mund të jetë diçka si 46 00:02:03,670 --> 00:02:07,250 që kanë të bëjnë me pastrimin e të dhënave të dhëna të përdoruesit. 47 00:02:07,250 --> 00:02:09,320 Kjo është diçka që ju nuk duhet të duhet të vërtetë për t'u shqetësuar rreth. 48 00:02:09,320 --> 00:02:12,370 Ju duhet të përqëndrohet në atë që alokimi tuaj web është në të vërtetë në lidhje. 49 00:02:12,370 --> 00:02:14,790 Ajo eliminon një shumë të kodit Boilerplate. 50 00:02:14,790 --> 00:02:16,640 Kjo është një arkitekturë për projektin tuaj. 51 00:02:16,640 --> 00:02:18,680 >> E më popullore do të jetë Model-View-Controller, 52 00:02:18,680 --> 00:02:20,380 që unë jam do të flasim për në një të dytë. 53 00:02:20,380 --> 00:02:22,790 Dhe shumë herë këto regjime mishërojnë një grup procedurash, 54 00:02:22,790 --> 00:02:25,750 rregullat dhe praktikat më të mira për ju për të përdorur 55 00:02:25,750 --> 00:02:28,190 kështu që kur ju të miratojë kornizën web 56 00:02:28,190 --> 00:02:30,050 ju duhet të shkruani kodin tuaj në një mënyrë të caktuar, 57 00:02:30,050 --> 00:02:32,430 dhe kjo është në përgjithësi një të rënë dakord grup parimesh 58 00:02:32,430 --> 00:02:34,290 nga komuniteti që është pranuar në përgjithësi të jetë 59 00:02:34,290 --> 00:02:36,230 një mënyrë e mirë e kodit shkrim. 60 00:02:36,230 --> 00:02:38,260 Kjo e bën Kodi tuaj më maintainable, më të përdorshme, 61 00:02:38,260 --> 00:02:40,030 kështu me radhë e kështu me radhë. 62 00:02:40,030 --> 00:02:42,740 Dhe së fundi, gjë që unë dua të theksoj në lidhje me kuadrin 63 00:02:42,740 --> 00:02:45,980 kundrejt biblioteka është kjo ide rreth përmbysja e kontrollit, dhe kjo gjë është. 64 00:02:45,980 --> 00:02:48,430 Dallimi në mes të një biblioteke dhe një kornizë është se me një bibliotekë 65 00:02:48,430 --> 00:02:51,990 ju jeni ende të shkruar programin kryesor, 66 00:02:51,990 --> 00:02:54,460 dhe ju jeni lloj i thirrur bibliotekën 67 00:02:54,460 --> 00:02:56,810 dhe duke e quajtur me bibliotekë për të bërë diçka për ju. 68 00:02:56,810 --> 00:02:58,180 Dallimi në mes të një biblioteke dhe një kornizë 69 00:02:58,180 --> 00:03:01,620 është që korniza fillon me kontrollin, 70 00:03:01,620 --> 00:03:03,260 dhe ajo thirret kodin tuaj, 71 00:03:03,260 --> 00:03:06,190 kështu që ju mund të mendoni për atë si - kjo është arsyeja pse ajo që quhet një kuadër - 72 00:03:06,190 --> 00:03:09,700 kuadri ofron këtë kornizë dhe strukturë për kodin tuaj, 73 00:03:09,700 --> 00:03:11,320 dhe të keni plotësuar në gropat, 74 00:03:11,320 --> 00:03:13,990 dhe kjo do të bëhet më e dukshme në një të dytë 75 00:03:13,990 --> 00:03:16,670 kur të më shihni të filloni të shkruani kodin në kontekstin e kuadrit. 76 00:03:16,670 --> 00:03:19,130 Ju do të shihni se unë jam në mbushjen e zbrazëtirave, 77 00:03:19,130 --> 00:03:22,450 dhe kuadri është lloj i kontrolluar të gjitha pjesët e lëvizshme, 78 00:03:22,450 --> 00:03:27,420 dhe unë duhet të vënë pjesë në vendet e drejtë. 79 00:03:27,420 --> 00:03:29,360 >> Sot ne do të flasim për Kohana, 80 00:03:29,360 --> 00:03:31,610 e cila është një nga shumë kornizat PHP. 81 00:03:31,610 --> 00:03:34,550 Ka kornizat web, dhe nuk janë ato pothuajse në çdo gjuhë të vetme, 82 00:03:34,550 --> 00:03:38,330 dhe unë jam picking Kohana sepse Kohana është ndoshta 83 00:03:38,330 --> 00:03:43,250 dhe e njohur përgjithësisht si kornizë PHP më e lehtë për të marr. 84 00:03:43,250 --> 00:03:45,940 Kjo është më e lehtë. 85 00:03:45,940 --> 00:03:48,470 Nuk janë ato të tjera atje që vijnë me shumë, shumë karakteristika të më shumë, 86 00:03:48,470 --> 00:03:51,590 por ata kanë tendencë të jetë më e vështirë për të marr. 87 00:03:51,590 --> 00:03:54,920 Dhe së fundi, Kohana përdor arkitekturën MVC. 88 00:03:54,920 --> 00:03:57,780 Është e lehtë të mjaftueshme që ne mund të vërtetë të ndërtuar një projekt 89 00:03:57,780 --> 00:03:59,620 këtu e drejtë para syve tuaj, dhe ju mund të shumë e shumë të 90 00:03:59,620 --> 00:04:02,780 ndjekin së bashku mjaft lehtë. 91 00:04:02,780 --> 00:04:04,420 >> Çfarë është arkitektura MVC? 92 00:04:04,420 --> 00:04:06,540 Ajo qëndron për Model-View-Controller, 93 00:04:06,540 --> 00:04:09,560 dhe ndoshta në qoftë se ju mendoni për kodin ju keni qenë i shkruar deri më tani 94 00:04:09,560 --> 00:04:11,280 për disa nga psets tuaja të zhvillimit web 95 00:04:11,280 --> 00:04:14,710 ju mund të jeni në gjendje për të parë disa nga kjo, por zakonisht kur ju filloni të shkruani 96 00:04:14,710 --> 00:04:16,500 një aplikim më komplekse web, 97 00:04:16,500 --> 00:04:21,209 ndarja në mes të këtyre 3 segmente bëhet gjithnjë e më e dukshme. 98 00:04:21,209 --> 00:04:26,740 I hedhur nga MVC këtu lloj si një pirg, 99 00:04:26,740 --> 00:04:29,920 dhe shpesh ju do të dëgjoni njerëzit flasin për oxhaqet në zhvillimin e web, 100 00:04:29,920 --> 00:04:33,760 dhe kjo është për të ilustruar idenë se 101 00:04:33,760 --> 00:04:37,510 çdo shtresë, çdo komponent të vërtetë të përpiqet për të komunikuar vetëm 102 00:04:37,510 --> 00:04:40,750 midis 2 komponentët e tjerë. 103 00:04:40,750 --> 00:04:44,550 Dikush accesses faqen tuaj te internetit si një klient ose një shfletues. 104 00:04:44,550 --> 00:04:48,870 Ata bashkëveprojnë me programin tuaj nëpërmjet kodit pamje. 105 00:04:48,870 --> 00:04:50,500 Kodi Pamje ndërvepron me kontrollues. 106 00:04:50,500 --> 00:04:52,400 Kontrollues ndërvepron me modelin, 107 00:04:52,400 --> 00:04:55,090 dhe modeli ndërvepron me bazën e të dhënave SQL. 108 00:04:55,090 --> 00:04:59,670 Dhe nuk ka asnjë hopping në mes në qoftë se ju shkruani kodin tuaj siç duhet. 109 00:04:59,670 --> 00:05:01,670 >> Çfarë bëjnë këto gjëra? 110 00:05:01,670 --> 00:05:06,020 Modeli në thelb është pjesë e kodit që merret me të dhënat tuaja. 111 00:05:06,020 --> 00:05:09,100 Çdo gjë që ka të bëjë me bazën e të dhënave tuaja, me objektet që ju dyqan, 112 00:05:09,100 --> 00:05:11,280 ose retrieving ato objekte në bazën e të dhënave, 113 00:05:11,280 --> 00:05:13,450 që është trajtuar të gjitha nga modeli. 114 00:05:13,450 --> 00:05:15,290 Ndoshta ju keni objekteve në bazën e të dhënave tuaja. 115 00:05:15,290 --> 00:05:17,700 Ne jemi duke shkuar për të krijuar një model që ka të bëjë me postime, 116 00:05:17,700 --> 00:05:19,760 kështu një post mund të ketë disa atribute në të. 117 00:05:19,760 --> 00:05:23,900 Ju mund të kenë funksione rreth ruajtjen ato postimet ose retrieving postimet 118 00:05:23,900 --> 00:05:26,270 ose filtrim postimet e kështu me radhë e kështu me radhë, 119 00:05:26,270 --> 00:05:28,880 dhe kjo është e gjitha kodin që është trajtuar nga modeli. 120 00:05:28,880 --> 00:05:31,780 Kontrollues është lloj i logjikës aplikimit, 121 00:05:31,780 --> 00:05:37,910 dhe shumë gjëra të ndryshme mund të shkojnë në logjikën e aplikimit. 122 00:05:37,910 --> 00:05:39,790 Nëse ju jeni duke folur me një API të ndryshme, 123 00:05:39,790 --> 00:05:42,310 që mund të jetë kur ju jeni që kanë të bëjnë me logjikën e aplikimit. 124 00:05:42,310 --> 00:05:47,990 Nëse jeni duke u përpjekur që të ketë për të sjellë në të dhënat nga modelet e shumta të ndryshme 125 00:05:47,990 --> 00:05:51,540 dhe keni për të kombinuar ato në një farë mënyre, që shpesh mund të trajtohen nga kontrollues. 126 00:05:51,540 --> 00:05:53,820 Për shembull, në Facebook, në qoftë se ju shoku dikush, 127 00:05:53,820 --> 00:05:58,500 atëherë ndoshta se akti i themelimit të këtë marrëdhënie 128 00:05:58,500 --> 00:06:00,490 mund të bëhet nga kontrolluesi. 129 00:06:00,490 --> 00:06:04,350 >> Dhe së fundi, pikëpamje është kodi që është gjeneruar atë që ju në të vërtetë të shihni. 130 00:06:04,350 --> 00:06:07,410 Shumë herë unë mendoj se në psets CS50 131 00:06:07,410 --> 00:06:10,050 ata nuk të vërtetë të ju djema të inkurajuar për të ndarë këto 3 gjëra. 132 00:06:10,050 --> 00:06:12,430 Ju ndoshta do të keni këtë fotografi të madhe, të gjatë, ku në krye 133 00:06:12,430 --> 00:06:15,130 ju të bëni disa SQL query dhe ndoshta të bëjë disa të përpunimit 134 00:06:15,130 --> 00:06:17,020 në të dhënat që ju marrë nga baza e të dhënave, 135 00:06:17,020 --> 00:06:19,370 dhe atëherë ju keni të gjithë HTML tuaj në fund. 136 00:06:19,370 --> 00:06:22,840 Dhe ju mund të gjeni se si keni krijuar gjithnjë e më shumë faqe 137 00:06:22,840 --> 00:06:25,790 se ju jeni do të ketë disa përsëritje të kodit, dhe gjithashtu, 138 00:06:25,790 --> 00:06:29,600 gjë është dosja juaj merr me të vërtetë e madhe dhe e gjatë 139 00:06:29,600 --> 00:06:32,370 dhe bëhet i ngathët për të menaxhuar. 140 00:06:32,370 --> 00:06:34,500 Arsyeja pse MVC është aq konsiderohet edhe 141 00:06:34,500 --> 00:06:36,120 është një numër i arsyeve. 142 00:06:36,120 --> 00:06:38,110 Gjëja e parë është diçka që quhet ndarja e shqetësimeve 143 00:06:38,110 --> 00:06:40,370 e cila është ideja se kur ju keni - 144 00:06:40,370 --> 00:06:43,520 ideale 1 pjesë të kodit duhet të bëjë 1 gjë dhe të bëjë atë me të vërtetë mirë, 145 00:06:43,520 --> 00:06:47,210 dhe ju nuk duhet të kombinojnë pjesë të kodit që bëjnë gjëra të ndryshëm. 146 00:06:47,210 --> 00:06:49,230 Për shembull, shikoni kodin dhe kodin e modelit, 147 00:06:49,230 --> 00:06:51,040 ata nuk të vërtetë duhet të jenë të lidhura. 148 00:06:51,040 --> 00:06:53,290 Ata nuk duhet të jetë në të njëjtën fotografi, kështu që kur ju mund të, të ndarë ato 149 00:06:53,290 --> 00:06:55,300 kështu që është e lehtë për të ruajtur. 150 00:06:55,300 --> 00:06:57,130 >> Gjëja tjetër është kodi ripërdorimin. 151 00:06:57,130 --> 00:06:59,770 Ju mund të gjeni veten duke shkruar të njëjtin SQL query ose duke bërë 152 00:06:59,770 --> 00:07:03,060 pyetje të ngjashme që mund të nxjerra në 1 funksion, 153 00:07:03,060 --> 00:07:05,440 dhe kjo është ideja prapa modeleve dhe kontrollorëve, 154 00:07:05,440 --> 00:07:09,690 duke pasur atë në një funksion të veçantë që ju mund të ripërdorimin në vende të ndryshme në projektin tuaj. 155 00:07:09,690 --> 00:07:12,420 Dhe së fundi, që është i lidhur me tharje kodin tuaj, 156 00:07:12,420 --> 00:07:14,700 apo jo përsëritur veten, nuk e përsëris veten. 157 00:07:14,700 --> 00:07:18,090 Kjo është shumë e kuptueshme në zhvillim. 158 00:07:18,090 --> 00:07:20,110 Sa herë që ju mund të, ju nuk duan të përsërisin veten, sepse në qoftë se ju përsëris veten, 159 00:07:20,760 --> 00:07:23,400  është shumë më e shtrenjtë për të ruajtur. 160 00:07:23,400 --> 00:07:26,040 Nëse ju doni të ndryshoni 1 gjë, ju duhet të ndryshojë atë kudo, 161 00:07:26,040 --> 00:07:30,230 dhe që të çon për të mete, dhe kjo është e tmerrshme. 162 00:07:30,230 --> 00:07:32,010 >> Rregull. 163 00:07:32,010 --> 00:07:37,270 Çdo pyetje deri më tani rreth Kohana në të gjitha? 164 00:07:37,270 --> 00:07:39,200 Great. 165 00:07:39,200 --> 00:07:42,300 Tani ne jemi duke shkuar për të zhyten në seance të kodim, 166 00:07:42,300 --> 00:07:48,050 dhe shpresojmë se çdo gjë shkon mirë. 167 00:07:57,200 --> 00:08:00,050 Unë jam duke shkuar për në thelb të ndërtuar këtë faqe interneti 168 00:08:00,050 --> 00:08:03,910 në një nga serverat e mi të largët, dhe në këtë mënyrë ju djema mund të 169 00:08:03,910 --> 00:08:06,310 shihni faqen e internetit dhe të hyni në faqen e internetit, 170 00:08:06,310 --> 00:08:10,990 dhe gjithashtu mjedisi është më i mirë se i konfiguruar kompjuterin tim të largët, 171 00:08:10,990 --> 00:08:14,580 sepse është e running Linux në vend të OS X. 172 00:08:14,580 --> 00:08:16,260 Ne jemi fjalë për fjalë do të fillojë. 173 00:08:16,260 --> 00:08:18,110 KohanaFramework.org. 174 00:08:18,110 --> 00:08:21,350 Unë jam duke shkuar për të shkarkuar kodin nga faqja e internetit. 175 00:08:21,350 --> 00:08:24,610 Unë jam duke shkuar për të kopjuar adresa Lidhje, 176 00:08:24,610 --> 00:08:29,770 shkoni në serverin tim, ta shkarkuar atë, 177 00:08:29,770 --> 00:08:33,000 dhe unë jam duke shkuar për të nxjerrë atë. 178 00:08:38,330 --> 00:08:45,710 >> [Student] Çfarë është më e madhe që ju mund të bëni tekstin? 179 00:08:45,710 --> 00:08:47,330 [Brandon Liu] A është kjo më mirë? 180 00:08:47,330 --> 00:08:50,070 [Student] A është kjo që mund të bëhet? >> [Brandon Liu] Po, kjo është në rregull. 181 00:08:50,070 --> 00:08:54,500 I shkarkuar një skedar ZIP dhe Unzipped që në një direktori të quajtur Kohana, 182 00:08:54,500 --> 00:08:58,820 dhe ne jemi duke shkuar për të riemërtoni atë CS50-Kohana, 183 00:08:58,820 --> 00:09:01,140 dhe le të hyjë, 184 00:09:01,140 --> 00:09:03,610 Awesome. 185 00:09:03,610 --> 00:09:06,870 Këtu ju shihni një bandë e fotografi të ndryshme. 186 00:09:06,870 --> 00:09:10,140 Shumica prej jush mund të injorojë - we're nuk do të kalojnë nëpër çdo skedar të vetëm që është në këtu 187 00:09:10,140 --> 00:09:13,130 për shkak të kufizimeve tona kohore, 188 00:09:13,130 --> 00:09:16,310 por në përgjithësi, kur ju instaloni Kohana, gjëja e parë që ju bëni 189 00:09:16,310 --> 00:09:23,210 po ju shkoni në directory, 190 00:09:23,210 --> 00:09:26,050 dhe ju do të në thelb të bëjë disa analiza mjedisore dhe gjësend 191 00:09:26,050 --> 00:09:28,640 për t'u siguruar që mjedisi juaj është vendosur si duhet për të kandiduar Kohana 192 00:09:28,640 --> 00:09:31,450 dhe të sigurohemi që çdo gjë është në rregull. 193 00:09:31,450 --> 00:09:35,510 Ju mund të shihni gjërat më të kaluar, por në përgjithësi ju gjithmonë ndesh me një problem 1 194 00:09:35,510 --> 00:09:38,180 ku ankohet se disa directory nuk është e shkruajtshme, 195 00:09:38,180 --> 00:09:40,410 dhe kjo është për shkak të disa lejeve. 196 00:09:40,410 --> 00:09:43,080 Unë nuk e di se sa ju djema kanë mësuar për lejet e file në CS50, 197 00:09:43,080 --> 00:09:47,920 por në qoftë se ju bëni web zhvillim, ju jeni do të kandidojë në këtë çështje shumë. 198 00:09:47,920 --> 00:09:58,340 Unë jam duke shkuar për ta bërë të shkruajtshme 199 00:09:58,340 --> 00:10:03,390 dhe mendoj se edhe unë duhet të - aty ku jemi. 200 00:10:03,390 --> 00:10:07,040 >> Mirë, kështu që tani ju mund të shihni çdo gjë kaloi, 201 00:10:07,040 --> 00:10:10,000 dhe tani ajo do të ju tregojnë për të ndërrojë emrin e file install.php. 202 00:10:10,000 --> 00:10:15,630 Unë jam duke shkuar për të lëvizur skedarin install.php të installed.php, 203 00:10:15,630 --> 00:10:19,610 dhe tani, nëse unë refresh, 204 00:10:19,610 --> 00:10:22,810 kjo më jep një gabim, dhe kjo është ku debugging vjen in 205 00:10:22,810 --> 00:10:25,610 Kjo është ajo ku ju mund të shihni se çfarë është në të vërtetë do të ndodhë. 206 00:10:25,610 --> 00:10:28,460 Gjë është, by default, Kohana supozon se 207 00:10:28,460 --> 00:10:31,480 projekti juaj është në directory rrënjë e domenin tuaj, 208 00:10:31,480 --> 00:10:35,920 kështu që është pritur që të jetë në demo.brandonkliu.com. 209 00:10:35,920 --> 00:10:37,540 Ne kemi për të të treguar atë që është e vërtetë në një subfolder. 210 00:10:37,540 --> 00:10:39,820 Është në një subfolder quajtur CS50 Kohana. 211 00:10:39,820 --> 00:10:42,640 Gjë është, ajo e keqinterpretimit të CS50-Kohana 212 00:10:42,640 --> 00:10:45,680 si diçka tjetër, të cilën unë do të shpjegojë për ju në një të dytë. 213 00:10:45,680 --> 00:10:49,910 Por unë duhet të them se është diçka që është për të pritur. 214 00:10:49,910 --> 00:10:53,700 Ajo që ne jemi duke shkuar për të bërë është që ne jemi duke shkuar për të shkuar në këtë dosje të quajtur bootstrap.php, 215 00:10:53,700 --> 00:10:59,260 e cila është dosje konfigurimit ku shumë gjëra të ndryshme janë ngritur. 216 00:10:59,260 --> 00:11:01,570 I hapur që deri. 217 00:11:01,570 --> 00:11:09,790 Atëherë ndoshta një nga gjërat e para unë do të bëni është të ndryshojë zonën kohore. 218 00:11:09,790 --> 00:11:13,910 >> Dhe pastaj le të shohim. 219 00:11:13,910 --> 00:11:15,180 Aha! Të drejtë këtu. 220 00:11:15,180 --> 00:11:18,690 Ka një bandë e thënieve të ndryshme të konfigurimit në këtu, 221 00:11:18,690 --> 00:11:21,700 por një unë jam duke kërkuar për të është kjo gjë quhet bazë URL, 222 00:11:21,700 --> 00:11:24,570 dhe nga default unë të marrë atë të vendosur për të Kohana, 223 00:11:24,570 --> 00:11:29,020 por unë jam duke shkuar për të ndryshuar që të CS50-Kohana, 224 00:11:29,020 --> 00:11:32,880 dhe unë mendoj se duhet të rregullohet. 225 00:11:32,880 --> 00:11:34,150 Po, e madhe. 226 00:11:34,150 --> 00:11:39,530 By default, për të parë se ajo është duke punuar, ai thotë se, "Hello World". 227 00:11:39,530 --> 00:11:42,930 Ku ka që vijnë nga? Si mbërritëm tek Hello World? 228 00:11:42,930 --> 00:11:47,640 Ku pikërisht është kodi që në fakt ka shkruar këtë? 229 00:11:47,640 --> 00:11:50,240 Për të kuptuar këtë, unë do të prezantoj këtë koncept të quajtur kurs. 230 00:11:50,240 --> 00:11:52,590 Pretty shumë të gjitha kornizat web kanë koncept të quajtur kurs, 231 00:11:52,590 --> 00:11:57,230 e cila është pjesë e programeve që do të hartë një URL të caktuar 232 00:11:57,230 --> 00:12:01,550 në një pjesë të caktuar të kodit brenda kornizës tuaj. 233 00:12:01,550 --> 00:12:07,510 Për shembull, në qoftë se ju keni disa URL dhe ju të shkoni në një URL si foo.com / blog / të gjithë 234 00:12:07,510 --> 00:12:11,170 atëherë çfarë kuadri do të bëjë - ose të paktën atë që Kohana do të bëjë - 235 00:12:11,170 --> 00:12:15,540 po ajo do të gjeni një klasë të quajtur kontrollues blog, 236 00:12:15,540 --> 00:12:18,720 dhe ajo do të të drejtuar funksion të quajtur veprim të gjithë. 237 00:12:18,720 --> 00:12:20,160 Unë e di unë jam duke folur për klasë dhe funksioneve, 238 00:12:20,160 --> 00:12:23,860 dhe unë e di se ju djema nuk e kanë mbuluar klasa dhe funksionet 239 00:12:23,860 --> 00:12:26,470 në ende CS50, por tani për tani, 240 00:12:26,470 --> 00:12:29,800 ju mund të mendoni për klasat e si vetëm një grup të funksioneve, 241 00:12:29,800 --> 00:12:32,900 një mënyrë për grupimin e funksioneve të së bashku. 242 00:12:32,900 --> 00:12:37,690 Kjo është me të vërtetë të gjithë ju duhet të dini. 243 00:12:37,690 --> 00:12:43,120 >> Tani në qoftë se ne e shikojmë në strukturën tonë dosje, 244 00:12:43,120 --> 00:12:47,110 brenda dosje aplikimit ka një tjetër dosje të quajtur klasa, 245 00:12:47,110 --> 00:12:49,200 dhe dosjet e tjera janë quajtur Controller dhe Model. 246 00:12:49,200 --> 00:12:52,530 Nëse ju shikoni brenda dosje Controller, 247 00:12:52,530 --> 00:12:56,330 ne shohim se ka një file i quajtur Mirësevini, 248 00:12:56,330 --> 00:13:00,370 dhe ju mund të shihni këtu është një klasë të quajtur Controller Mirësevini, 249 00:13:00,370 --> 00:13:02,340 dhe ka një funksion të quajtur Indeksi i Veprimit, 250 00:13:02,340 --> 00:13:06,360 dhe atë që nuk është ajo vendos trupin e përgjigjen tuaj për Hello World. 251 00:13:06,360 --> 00:13:08,730 Kjo është ku kodi është duke u shkruar. 252 00:13:08,730 --> 00:13:11,610 Pyetja tjetër është, mirë, unë nuk shkoj në 253 00:13:11,610 --> 00:13:13,680 blah, blah, blah, / i mirëpritur / index. 254 00:13:13,680 --> 00:13:16,250 Si e kam të përfundojë këtu? 255 00:13:16,250 --> 00:13:20,410 E pra, kjo është thjesht për shkak se 256 00:13:20,410 --> 00:13:22,410 këtu në fund të dosjes tonë bootstrap 257 00:13:22,410 --> 00:13:24,550 ku ne kemi vendosur rrugët tona 258 00:13:24,550 --> 00:13:26,570 ju mund të shihni se ata të vendosur disa standarte për ju. 259 00:13:26,570 --> 00:13:28,990 Kontrollues default është se vini. Veprimi i prezgjedhur është Index. 260 00:13:28,990 --> 00:13:31,600 Kjo është arsyeja pse kur ne kemi vënë asgjë në atje ajo automatikisht shkoi në kontrollues Welcome 261 00:13:31,600 --> 00:13:33,940 dhe indeksi i Veprimit. 262 00:13:33,940 --> 00:13:37,460 Çdo gjë >> kuptim deri më tani? 263 00:13:37,460 --> 00:13:40,850 Tani, ju mund të bëni më shumë se thjesht shkoni te Controller 264 00:13:40,850 --> 00:13:43,670 dhe një veprim specifik. 265 00:13:43,670 --> 00:13:48,480 Ju gjithashtu mund të kalojë në parametrat në kontrollues. 266 00:13:48,480 --> 00:13:56,390 Ashtu si një shembull, 267 00:13:56,390 --> 00:14:04,070 Unë jam duke shkuar për të shtuar një tjetër veprim të këtij kontrollues për të treguar ju. 268 00:14:04,070 --> 00:14:09,130 Le të quajmë këtë veprim Echo, sepse ajo do të ju tregojnë çdo gjë që ju jap, 269 00:14:09,130 --> 00:14:17,510 dhe kështu që unë jam në thelb duke shkuar për të rrëmbyer 270 00:14:17,510 --> 00:14:20,960 një parametër që do të të dërgohet nëpërmjet meje me programin kurs, 271 00:14:20,960 --> 00:14:24,440 dhe si ju mund të shihni këtu, 272 00:14:24,440 --> 00:14:28,440 kjo linjë të drejtë këtu, ju mund të shihni se 273 00:14:28,440 --> 00:14:31,270 kjo në thelb do të thotë që ju keni kontrollues, dhe ju keni një /, 274 00:14:31,270 --> 00:14:33,480 dhe ju kanë veprim, dhe ju keni një tjetër /, 275 00:14:33,480 --> 00:14:39,140 dhe që do të jenë të parametrave, dhe sepse ne kemi këtë ID Emri 276 00:14:39,140 --> 00:14:42,450 brenda kllapa kënd, kjo do të thotë se ne jemi emërtimin këtë ID parametër. 277 00:14:42,450 --> 00:14:45,490 Më vonë në kodin tim kontrollues në qoftë se unë dua për të rrëmbyer një të mbajë këtë parametër, 278 00:14:45,490 --> 00:14:51,790 Unë mund të përdorni kodin kam shkruar, gjeni parametër të quajtur ID. 279 00:14:51,790 --> 00:14:59,290 Kjo është ajo që kam bërë këtu, dhe unë jam duke shkuar për të kthyer dhe të thonë, 280 00:14:59,290 --> 00:15:07,090 "Ju, tha" se. 281 00:15:07,090 --> 00:15:10,760 Dhe kështu që tani në qoftë se unë të shkoni në faqen tonë të internetit, 282 00:15:10,760 --> 00:15:19,550 Unë shkoj në cs50-kohana/welcome/echo/Helloooo-- 283 00:15:19,550 --> 00:15:21,420 oh, kjo është e drejtë. 284 00:15:21,420 --> 00:15:23,930 Ka 1 hap I lënë jashtë. 285 00:15:23,930 --> 00:15:27,020 Kjo është pjesë e idesë jetojnë coding. 286 00:15:27,020 --> 00:15:36,100 >> Ja 1 gjë. Le të shohim. 287 00:15:36,100 --> 00:15:38,870 Pra, zakonisht nga default me ​​një shumë prej këtyre aplikacioneve web 288 00:15:38,870 --> 00:15:42,820 ju duhet të përfshijë këtë gjë index.php në URL-në tuaj, 289 00:15:42,820 --> 00:15:46,410 sepse ideja është index.php është lloj pika e hyrjes 290 00:15:46,410 --> 00:15:48,250 e aplikimit tuaj, por natyrisht, 291 00:15:48,250 --> 00:15:50,110 kjo është lloj i bezdisshëm që të ketë. 292 00:15:50,110 --> 00:15:53,790 Ju nuk dëshironi të keni index.php shfaqen në URL-në tuaj, 293 00:15:53,790 --> 00:15:56,080 dhe shumë e shumë çdo kuadri web nga kutia 294 00:15:56,080 --> 00:15:58,440 e ka këtë problem index.php, 295 00:15:58,440 --> 00:16:03,370 dhe kështu që ju duhet të marrë disa masa për të të jetë në gjendje për të hequr atë. 296 00:16:03,370 --> 00:16:07,540 Dhe kështu në këtë rast, 297 00:16:07,540 --> 00:16:11,450 ajo që ne jemi duke shkuar për të bërë është që ne jemi duke shkuar për të përdorur një file të quajtur. htaccess, 298 00:16:11,450 --> 00:16:13,900 dhe kjo është diçka që është specifike për web server Apache, 299 00:16:13,900 --> 00:16:16,290 dhe kjo mund të bëjë gjëra të tilla si rishkruaj URLs 300 00:16:16,290 --> 00:16:19,350 dhe përcjellëse URLs dhe kështu me radhë e kështu me radhë, 301 00:16:19,350 --> 00:16:24,280 dhe Kohana është e mirë e mjaftueshme për të siguruar një template file. htaccess që ne mund të përdorni. 302 00:16:24,280 --> 00:16:28,300 >> Siç mund ta shikoni, nuk është një file i ka quajtur example.htaccess, 303 00:16:28,300 --> 00:16:33,410 dhe ne do të kopje që për të. htaccess. 304 00:16:33,410 --> 00:16:36,950 Unë jam duke shkuar për të hapur këtë dhe redaktoj atë, 305 00:16:36,950 --> 00:16:40,840 dhe në thelb ajo ka një bandë e gjëra të ndryshme. 306 00:16:40,840 --> 00:16:45,320 Linja kryesore që ju mund të dëshironi të shikoni në është e drejtë këtu. 307 00:16:45,320 --> 00:16:49,840 Ideja është që kjo krijon një rregull që thotë, 308 00:16:49,840 --> 00:16:56,400 "Në rregull, çdo gjë që ju shkruani, prepend index.php për këtë." 309 00:16:56,400 --> 00:16:58,710 Ju mund të shihni se. 310 00:16:58,710 --> 00:17:00,370 . * Qëndron për asgjë, ndeshje asgjë, 311 00:17:00,370 --> 00:17:03,300 dhe pastaj pjesa e dytë është index.php / $ 0, 312 00:17:03,300 --> 00:17:07,410 dhe $ 0 bëjë me çdo gjë që u shoqërua më parë. 313 00:17:07,410 --> 00:17:09,500 A ka kjo kuptim? 314 00:17:09,500 --> 00:17:12,190 Por gjëja kryesore që unë dua me të vërtetë për të ndryshuar është ndryshuar këtë bazë rishkruaj, 315 00:17:12,190 --> 00:17:14,300 cila është baza URL. 316 00:17:14,300 --> 00:17:17,780 Ai lloj i merr ku ju jeni duke punuar nga. 317 00:17:17,780 --> 00:17:22,560 Unë jam duke shkuar për të shtuar CS50 Kohana me atë, 318 00:17:22,560 --> 00:17:26,530 dhe në këtë mënyrë tani në qoftë se unë heq index.php, 319 00:17:26,530 --> 00:17:32,110 ajo duhet të punojë, dhe unë jam duke shkuar për të shtuar disa numra 320 00:17:32,110 --> 00:17:36,380 për të treguar se ai me të vërtetë e bëri punën. 321 00:17:36,380 --> 00:17:38,130 Tingëllon mirë. 322 00:17:38,130 --> 00:17:40,260 >> Çdo pyetje deri tani? 323 00:17:40,260 --> 00:17:42,300 [Student] Si e bëri ai e di për të bërë 123? 324 00:17:42,300 --> 00:17:44,120 A është ky një argument? 325 00:17:44,120 --> 00:17:46,560 Pikërisht. Ju mund të mendoni për atë vetëm si një argument. 326 00:17:46,560 --> 00:17:52,410 Por gjëja e pazakontë, megjithatë, është se mënyra Kohana e bën këtë 327 00:17:52,410 --> 00:17:54,910 po ata nuk e bëjmë atë tamam si një argument. 328 00:17:54,910 --> 00:17:56,930 Ju duhet të rrëmbej atë si kjo. 329 00:17:56,930 --> 00:18:01,030 Ju keni për të rrëmbyer kërkesën objekt dhe të kërkojë parametër që është quajtur ID, 330 00:18:01,030 --> 00:18:03,240 dhe se ID Emri vjen nga këtë dosje bootstrap 331 00:18:03,240 --> 00:18:06,990 se kam treguar më parë, dhe emri ID ishte në ato kllapa kënd, 332 00:18:06,990 --> 00:18:11,580 dhe kjo është se si ju kap këto parametra. 333 00:18:11,580 --> 00:18:14,010 Awesome. 334 00:18:14,010 --> 00:18:17,550 Çdo pyetje të tjera? 335 00:18:17,550 --> 00:18:20,500 Ashtu si thashë, kontrolluesit, ata merren me logjikën e aplikimit, 336 00:18:20,500 --> 00:18:22,980 kështu që kjo është 1 rast ku ju mund të shihni that's - 337 00:18:22,980 --> 00:18:24,830 kjo është shumë themelore, por është ende logjika e aplikimit, 338 00:18:24,830 --> 00:18:27,980 ideja e grabbing parametrin dhe krijimin e një varg të ri 339 00:18:27,980 --> 00:18:31,920 që thotë: "Ju tha blah," dhe pastaj pështypje që përsëri tek ju. 340 00:18:31,920 --> 00:18:34,030 Dhe në përgjithësi ajo që ju bëni është që të krijojë kontrolluesit të ndryshme. 341 00:18:34,030 --> 00:18:36,450 Ju krijoni kontrollorëve të veçanta për pjesë të ndryshme të faqen tuaj te internetit. 342 00:18:36,450 --> 00:18:38,160 >> Sot ne jemi duke shkuar për të bërë një faqe interneti shumë të thjeshtë, 343 00:18:38,160 --> 00:18:40,420 dhe ajo do të jetë një blog shumë bazë. 344 00:18:40,420 --> 00:18:43,780 Ne jemi duke shkuar për të bërë një kontrollues të ri vetëm për postet në një blog. 345 00:18:43,780 --> 00:18:47,060 Por atëherë nëse unë do të gjithashtu të shtoni komentet në blog post, 346 00:18:47,060 --> 00:18:50,140 atëherë unë ndoshta do të dëshironi të bëni një kontrollues të ri për këto komente. 347 00:18:50,140 --> 00:18:53,380 Në qoftë se unë të kërkuar për të shtuar përdoruesit, unë ndoshta do të shtoni një kontrollues të ri për ata përdorues, 348 00:18:53,380 --> 00:18:57,000 dhe në përgjithësi, ideja është se sa herë që ju keni një model të ri, 349 00:18:57,000 --> 00:18:59,630 një objekt të ri të dhënave që ju jeni që kanë të bëjnë me të, 350 00:18:59,630 --> 00:19:02,970 ju keni një kontrollues të vetëm për atë dhënave objekt. 351 00:19:02,970 --> 00:19:04,370 Sot ne jemi vetëm do të punojnë me 1 të dhënave objekt, 352 00:19:04,370 --> 00:19:06,250 dhe që do të jetë postime, 353 00:19:06,250 --> 00:19:08,710 dhe gjithashtu ju mund të mendoni objekteve të të dhënave si korrespondon me tavolina. 354 00:19:08,710 --> 00:19:12,160 Në përgjithësi çdo tryezë i korrespondon 1 lloj të të dhënave objekt, 355 00:19:12,160 --> 00:19:15,160 kështu tryezë pas do 1 model të postimi, 356 00:19:15,160 --> 00:19:18,230 cila do të kenë 1 kontrollues pas korrespondon që, 357 00:19:18,230 --> 00:19:22,190 dhe të njëjtën gjë për komente, të njëjtën gjë për përdoruesit, dhe kështu me radhë e kështu me radhë. 358 00:19:22,190 --> 00:19:24,070 Dhe kjo është një rregull i përgjithshëm i gishtit. 359 00:19:24,070 --> 00:19:27,460 Nuk do të ketë raste të veçanta ku ju mund të ndryshojnë nga ajo, 360 00:19:27,460 --> 00:19:29,300 por 90% të kohës që është ajo që ju jeni do të jetë bërë, 361 00:19:29,300 --> 00:19:32,810 dhe unë do të ju tregojnë se është ajo që ne jemi duke shkuar për të bërë sot. 362 00:19:32,810 --> 00:19:35,490 1 më shumë Koncepti para se të zhyten përsëri në kodin, 363 00:19:35,490 --> 00:19:37,710 kjo ideja e objektit hartës relacionale. 364 00:19:37,710 --> 00:19:41,200 >> Ju djema e kanë bërë tashmë një të zhvillimit web pset, 365 00:19:41,200 --> 00:19:43,820 dhe ju kam parë që ju të bëni një query SQL, 366 00:19:43,820 --> 00:19:46,510 dhe çdo gjë të kthehet tek ju janë të rreshtave. 367 00:19:46,510 --> 00:19:50,040 Ju merrni këto rreshta, dhe ju indeksi i tyre me ndonjë emër, 368 00:19:50,040 --> 00:19:55,480 emri i kolonës dhe tabela, 369 00:19:55,480 --> 00:19:57,630 dhe kjo është se si ju punoni me të, 370 00:19:57,630 --> 00:19:59,290 dhe kjo mund të jetë pak i rëndë. 371 00:19:59,290 --> 00:20:01,810 Por për më tepër, në qoftë se ju keni marrëdhënie brenda bazën e të dhënave tuaja, 372 00:20:01,810 --> 00:20:05,280 si për shembull në qoftë se unë kam komentet dhe postimet e bëra, 373 00:20:05,280 --> 00:20:11,240 atëherë ndoshta unë dua të kap postin prind të një komenti. 374 00:20:11,240 --> 00:20:14,350 Nëse unë përdorin vetëm rreshtave në SQL, atëherë të gjitha unë mund të merrni është ID 375 00:20:14,350 --> 00:20:19,310 i postit prind dhe jo pas aktuale vetë. 376 00:20:19,310 --> 00:20:21,680 Por kur ne jemi kodim, ajo që ne duam në të vërtetë është që në fakt të rrëmbyer 377 00:20:21,680 --> 00:20:23,550  prindi postoni veten ndonjëherë. 378 00:20:23,550 --> 00:20:25,730 Çfarë objekt hartës relacionale nuk është 379 00:20:25,730 --> 00:20:29,480 ajo merr rezultatet e query bazës së të dhënave 380 00:20:29,480 --> 00:20:32,420 dhe e vë atë në objekte për ju, të cilat janë shumë nicer për të punuar me 381 00:20:32,420 --> 00:20:34,770 se vargjeve të thjeshtë dhe rreshtave. 382 00:20:34,770 --> 00:20:37,550 >> Për shembull, tani kur unë kam një koment ndoshta, 383 00:20:37,550 --> 00:20:40,900 dhe unë dua të të rrëmbyer postin e tij mëmë, 384 00:20:40,900 --> 00:20:43,440 dhe unë ndoshta komentoj shigjetë postim, 385 00:20:43,440 --> 00:20:45,230 atëherë ai në fakt do të më jepni postimi objekt 386 00:20:45,230 --> 00:20:47,940 korrespondon me postin aktual mëmë, jo vetëm disa ID, 387 00:20:47,940 --> 00:20:52,210 të cilat unë ndryshe do të duhet të përdorin dhe të bëjë një tjetër query SQL për të rrëmbyer këtë post, 388 00:20:52,210 --> 00:20:57,430 e cila është e rëndë dhe e panevojshme. 389 00:20:57,430 --> 00:21:01,840 Dhe për më tepër, me hartë të gjitha këto rreshta të dhënave në objekte, 390 00:21:01,840 --> 00:21:03,760 ju gjithashtu mund të bashkëngjitni më shumë funksione të objekteve, 391 00:21:03,760 --> 00:21:09,700 kështu për shembull, kam folur se si klasa janë në thelb grupimet e funksioneve. 392 00:21:09,700 --> 00:21:11,620 Ju mund të mendojnë për atë si kjo. 393 00:21:11,620 --> 00:21:15,290 Për shembull, ndoshta unë kam këtë post objekt, 394 00:21:15,290 --> 00:21:17,830 dhe ndoshta unë do të doja që të ketë një lloj të funksionit bashkangjitur me të 395 00:21:17,830 --> 00:21:20,300 që në thelb tregon mua ishte ajo kohët e fundit postuar? 396 00:21:20,300 --> 00:21:23,570 A ishte e postuar në kuadër të javës së fundit, e vërtetë apo e rreme? 397 00:21:23,570 --> 00:21:27,320 Dhe kjo është një funksion që unë mund të bashkëngjitni mbi atë objekt, 398 00:21:27,320 --> 00:21:31,300 dhe kjo është me të vërtetë i përshtatshëm që të ketë atë në të njëjtin vend, 399 00:21:31,300 --> 00:21:33,820 dhe ka një mori të funksioneve të ndryshme që ju mund të krijojë 400 00:21:33,820 --> 00:21:37,990 për këto objekte, dhe është e vërtetë e mirë që të jetë në gjendje të bashkëngjitni atë në një klasë, 401 00:21:37,990 --> 00:21:41,700 në një objekt, ndërsa në qoftë se ju vetëm e kishte rreshtave që vijnë nga baza e të dhënave tuaja, 402 00:21:41,700 --> 00:21:43,790 atëherë ju nuk mund të vërtetë të bashkëngjitni çdo funksionalitet për këtë. 403 00:21:43,790 --> 00:21:47,850 Kjo është fjalë për fjalë vetëm të dhëna. 404 00:21:47,850 --> 00:21:50,550 Ndonjë pyetje në lidhje me atë në të gjitha? 405 00:21:50,550 --> 00:21:52,710 ORMS janë shumë të zakonshme zhvillimi web, 406 00:21:52,710 --> 00:21:56,330 dhe ka shumë lloje të ndryshme të ORMS, 407 00:21:56,330 --> 00:21:58,450 dhe Kohana ka ORM e vet. 408 00:21:58,450 --> 00:22:05,050 Kjo është shumë themelore, por ju do të merrni një shije të asaj që duket si. 409 00:22:05,050 --> 00:22:08,780 >> Le të krijojnë një model për postet tona blog, 410 00:22:08,780 --> 00:22:12,350 dhe gjëja e parë që ne padyshim duhet të bëni është që të krijojë një tryezë aktuale 411 00:22:12,350 --> 00:22:16,680 në bazën e të dhënave që në fakt të ruajtur të dhënat tona për këto poste. 412 00:22:16,680 --> 00:22:19,260 Gjëja e parë që unë jam duke shkuar për të bëni është të shkoni në phpMyAdmin. 413 00:22:19,260 --> 00:22:21,410 A ju djema e përdorur phpMyAdmin para? 414 00:22:21,410 --> 00:22:23,400 Mirë, awesome, kështu që ju djema tashmë e dini se çka është, 415 00:22:23,400 --> 00:22:32,200 dhe unë jam duke shkuar për të krijuar një tabelë të re të quajtur Kohana Postime, 416 00:22:32,200 --> 00:22:37,820 dhe ajo do të jetë me të vërtetë të thjeshtë. 417 00:22:37,820 --> 00:22:40,190 Unë do të duhet të hyni përsëri in 418 00:23:02,620 --> 00:23:04,640 Të gjithë ne do të bëjmë sot është të ketë një autor dhe një trup, 419 00:23:04,640 --> 00:23:11,930 vetëm ta mbani atë të thjeshtë. 420 00:23:11,930 --> 00:23:15,620 Unë jam duke shkuar për të krijuar atë tryezë, 421 00:23:15,620 --> 00:23:19,620 dhe tani ne vetëm duhet një tabelë përfaqëson postimet tona 422 00:23:19,620 --> 00:23:23,370 me 2 fusha për autorin tonë dhe trupit tonë. 423 00:23:23,370 --> 00:23:26,290 Gjë tjetër që unë jam duke shkuar për të bërë tani është 424 00:23:26,290 --> 00:23:29,820 konfiguroni kërkesën time të internetit kështu që e di se si të lidheni me bazën e të dhënave, 425 00:23:29,820 --> 00:23:31,950 dhe kjo, përsëri, është diçka që ju do të keni për të bërë me të gjitha aplikacioneve web. 426 00:23:31,950 --> 00:23:34,790 Ju duhet të tregoni atë emrin e përdoruesit dhe fjalëkalimin 427 00:23:34,790 --> 00:23:36,990 dhe emri i bazës së të dhënave dhe kështu me radhë e kështu me radhë 428 00:23:36,990 --> 00:23:40,000 të kuptoj se si për të në fakt të lidhur me bazën e të dhënave tuaja. 429 00:23:40,000 --> 00:23:58,710 >> Në Kohana, ne kemi diçka që quhet një modul bazë të dhënash, 430 00:23:58,710 --> 00:24:02,690 dhe në dosjen e konfigurimit ne e kemi këtë dosje të quajtur Baza e të dhënave, 431 00:24:02,690 --> 00:24:07,330 dhe si ju mund të shihni, ka një bandë e parametrat që ju keni për të vendosur këtu 432 00:24:07,330 --> 00:24:09,860 për të të treguar atë se çfarë është emri i përdoruesit dhe fjalëkalimi 433 00:24:09,860 --> 00:24:13,110 për bazën e të dhënave kështu që unë në fakt mund të lidheni me të. 434 00:24:13,110 --> 00:24:15,010 Dhe pasi që unë nuk dua që ju djema të vërtetë e di 435 00:24:15,010 --> 00:24:17,190 emri i përdoruesit dhe fjalëkalimin e bazës së të dhënave tim, 436 00:24:17,190 --> 00:24:23,840 Unë kam një fotografi, ku kam tashmë të vendosur të gjithë, dhe unë jam duke shkuar për të kopjoni dhe ngjisni atë përsipër. 437 00:24:33,080 --> 00:24:36,870 Awesome. 438 00:24:36,870 --> 00:24:39,880 Mirë. Unë mendoj se është e gjitha konfigurimit duhet të bëj, 439 00:24:39,880 --> 00:24:41,070 por le të shohim. 440 00:24:41,070 --> 00:24:43,720 Ne do të vazhdojmë të punojmë në të, dhe nëse diçka crashes, 441 00:24:43,720 --> 00:24:47,490 atëherë ne do të rregullohet. 442 00:24:47,490 --> 00:24:51,830 Tani ajo që unë jam duke shkuar për të bërë është që unë jam duke shkuar për të krijuar një kontrollues të ri. 443 00:24:51,830 --> 00:24:53,190 Ose në të vërtetë, më vjen keq. 444 00:24:53,190 --> 00:24:55,080 Së pari më duhet për të krijuar një model të ri. 445 00:24:55,080 --> 00:25:01,620 Unë do të krijojë një model të ri të quajtur Post.php, 446 00:25:01,620 --> 00:25:12,440 dhe ajo që ne jemi duke shkuar për të bërë është që ne jemi duke shkuar për të thirrur atë klasë Model_Post. 447 00:25:12,440 --> 00:25:15,390 Merrni disa sintaksë theksuar për, 448 00:25:15,390 --> 00:25:19,750 dhe kështu kur them, "shtrihet ORM," kjo është në thelb 449 00:25:19,750 --> 00:25:21,210 disa më shumë object-oriented programimit, 450 00:25:21,210 --> 00:25:23,340 e cila për fat të keq ju djema nuk e kanë mësuar në CS50 ende, 451 00:25:23,340 --> 00:25:25,290 por kjo është goxha e lehtë për të marrë veten. 452 00:25:25,290 --> 00:25:27,950 Kjo më jep gjithë këtë funksionalitet shtesë që vjen në këtë paketë ORM, 453 00:25:27,950 --> 00:25:31,120 dhe kështu që unë të marrë një bandë e funksioneve shtesë dhe gjësend për të lira, 454 00:25:31,120 --> 00:25:34,810 të cilat ju do të shihni një grimë në një të dytë. 455 00:25:34,810 --> 00:25:37,670 >> Tani për tani në të vërtetë të gjitha unë duhet të bëni është të krijojë këtë klasë. 456 00:25:37,670 --> 00:25:39,160 Unë as nuk duhet të bëjë ndonjë funksion apo ndonjë gjë, 457 00:25:39,160 --> 00:25:41,770 por unë kam krijuar një klasë që përfaqëson tryezë, 458 00:25:41,770 --> 00:25:44,140 dhe për shkak se unë kam shtrirë këtë klasë ORM, 459 00:25:44,140 --> 00:25:51,080 Unë të merrni një bandë e gjëra për të lira, kështu që tani për tani ju nuk keni për të vendosur asgjë më shumë deri. 460 00:25:51,080 --> 00:25:53,530 Dhe tani ajo që unë jam duke shkuar për të bërë është që unë jam duke shkuar për të krijuar një kontrollues të ri, 461 00:25:53,530 --> 00:25:58,480 të cilën unë jam duke shkuar për të përmendur blog.php, 462 00:25:58,480 --> 00:26:04,350 dhe unë jam duke shkuar për të kopjuar mbi kontrollues Welcome 463 00:26:04,350 --> 00:26:11,950 kështu që unë nuk duhet të Rivendos disa sende, 464 00:26:11,950 --> 00:26:20,720 dhe tani më duhet të riemërtoni këtë. 465 00:26:20,720 --> 00:26:24,710 Tani ajo që unë jam duke shkuar për të bërë për të provuar për të siguruar çdo gjë është duke punuar jashtë, 466 00:26:24,710 --> 00:26:27,820 Unë jam duke shkuar për të rrëmbyer postin e parë nga baza e të dhënave e mia 467 00:26:27,820 --> 00:26:32,680 dhe të shtypura trupin e postit në ekran. 468 00:26:32,680 --> 00:26:37,920 Për të bërë që ajo që unë jam duke shkuar për të bërë para është që unë jam duke shkuar për të shpëtuar postimet 469 00:26:37,920 --> 00:26:48,770 të një variable kështu që ajo që ne jemi duke shkuar për të bërë është - 470 00:26:48,770 --> 00:26:52,090 në Kohana atë që ju bëni është për të rrëmbyer postimi objekt 471 00:26:52,090 --> 00:26:55,380 kjo është lloj i rëndë, por ju duhet të bëni këtë gjë të quajtur ORM :: fabrikë, 472 00:26:55,380 --> 00:26:57,750 dhe pastaj të kalojë në emrin e modelit që ju dëshironi, 473 00:26:57,750 --> 00:27:00,490 dhe ajo kthehet ne objekt ORM që përfaqëson atë model. 474 00:27:00,490 --> 00:27:04,860 Dhe pastaj, si i tha, kur ne zgjerojnë objektin ORM, 475 00:27:04,860 --> 00:27:07,320 ne të merrni të gjitha këto metoda për të lira, kështu që për shembull, 476 00:27:07,320 --> 00:27:09,200 ne kemi marrë këtë funksion të ri të quajtur "gjeni të gjitha," 477 00:27:09,200 --> 00:27:12,160 e cila automatikisht e kthen çdo postim të vetëm në bazën e të dhënave, 478 00:27:12,160 --> 00:27:14,850 e cila është shumë i përshtatshëm. 479 00:27:14,850 --> 00:27:17,480 >> Dhe tani në trup unë jam duke shkuar për t'u kthyer 480 00:27:17,480 --> 00:27:24,860 Postimi i parë dhe kthehen trupin e saj. 481 00:27:24,860 --> 00:27:27,930 Dhe sigurisht, kam nevojë për të krijuar një post, 482 00:27:27,930 --> 00:27:31,880 kështu që le të futur një post të ri. 483 00:27:31,880 --> 00:27:37,870 Unë do të them, "Brandon, postin tim të parë." 484 00:27:37,870 --> 00:27:40,010 Awesome. 485 00:27:40,010 --> 00:27:45,910 Dhe tani ne jemi duke shkuar për të shkuar në blogs 486 00:27:45,910 --> 00:27:50,960 dhe në qoftë se të gjithë punon mirë - oh, kjo është një tjetër gjë e leje memec fotografi përsëri. 487 00:27:50,960 --> 00:27:56,090 Prit 1 sekond. Kjo është lloj i absurde. 488 00:28:06,700 --> 00:28:08,490 Nuk shkojmë. Mirë. 489 00:28:08,490 --> 00:28:10,040 I fiksuar këtë problem leje. 490 00:28:10,040 --> 00:28:12,040 Ai ishte duke u përpjekur për të krijuar disa fotografi dhe disa log, 491 00:28:12,040 --> 00:28:15,400 dhe lejet, përsëri, nuk ishin të vendosur siç duhet, kështu që unë e bëri atë 492 00:28:15,400 --> 00:28:18,320 kështu që ato fotografi ishin të shkruhet dhe të ekzekutueshme 493 00:28:18,320 --> 00:28:21,090 kështu që në fakt mund të hyni në gjëra. 494 00:28:21,090 --> 00:28:24,220 Tani ajo është dhënë mua një tjetër thënie përjashtim, "klasa e ORM nuk u gjet" 495 00:28:24,220 --> 00:28:26,960 dhe kjo është për shkak se kam harruar një hap tjetër. 496 00:28:26,960 --> 00:28:37,010 Kjo është shumë e keqe. 497 00:28:37,010 --> 00:28:40,270 Në dosjen dosje bootstrap, ka këto module këtu, 498 00:28:40,270 --> 00:28:42,480 të cilat ju mund të zgjidhni për të mundësuar ose çaktivizoni. 499 00:28:42,480 --> 00:28:44,340 Këto janë një bandë e karakteristika të ndryshme që ju mund të zgjidhni për të përdorur 500 00:28:44,340 --> 00:28:46,180 brenda Kohana, që është lloj i bukur. 501 00:28:46,180 --> 00:28:49,090 >> Për shembull, ata kanë një modul authentication 502 00:28:49,090 --> 00:28:51,170 të cilat ju mund të përdorni për të vërtetuar përdoruesit. 503 00:28:51,170 --> 00:28:53,390 Ata kanë një modul caching në qoftë se ju doni për të zbatuar 504 00:28:53,390 --> 00:28:57,870 një lloj caching mbrapa fund për të bërë punën e aplikimit të shpejtë dhe gjësend. 505 00:28:57,870 --> 00:29:02,140 Ne kemi nevojë për të bërë të mundur bazën e të dhënave dhe modulin ORM, 506 00:29:02,140 --> 00:29:04,280 sepse si i tha, ne jemi duke përdorur bazën e të dhënave, natyrisht, 507 00:29:04,280 --> 00:29:08,200 dhe ne gjithashtu duhet të aktivizoni modulin ORM, 508 00:29:08,200 --> 00:29:12,220 sepse ne do të donim që të ketë funksionalitet shtesë, e cila është mirë të ketë. 509 00:29:12,220 --> 00:29:14,240 Të gjitha unë duhet të bëni është uncomment këto 2 linja, 510 00:29:14,240 --> 00:29:18,760 dhe tani, nëse unë refresh, ajo më dha një tjetër gabim. 511 00:29:18,760 --> 00:29:22,100 Ajo thotë se, "Klasa Model_Post nuk u gjet." 512 00:29:22,100 --> 00:29:30,210 Tani ky është një problem i mirë që të ketë. 513 00:29:30,210 --> 00:29:37,660 Le të shohim. 514 00:29:37,660 --> 00:29:42,200 Bëjë atë publike. 515 00:29:42,200 --> 00:29:46,450 Nr Prit. 516 00:30:11,610 --> 00:30:13,160 Oh, i dashur. 517 00:30:13,160 --> 00:30:18,590 Unë nuk e di pse kjo nuk është në gjendje për të gjetur atë. 518 00:30:18,590 --> 00:30:21,030 Kjo është me të vërtetë e çuditshme. 519 00:30:21,030 --> 00:30:23,820 Unë kam këtë klasë të drejtë këtu. 520 00:30:23,820 --> 00:30:28,650 I guess I mund të ketë për - oh. 521 00:30:28,650 --> 00:30:32,010 Unë jam aq memec. Kam harruar të shtoni një tag PHP. 522 00:30:32,010 --> 00:30:34,670 Kjo është arsyeja pse. 523 00:30:34,670 --> 00:30:41,260 Tani unë kam për të ndrequr se 1 ndryshim unë vetëm e bëri. 524 00:30:41,260 --> 00:30:44,270 Mirë >>. Nuk shkojmë. 525 00:30:44,270 --> 00:30:47,500 Kjo ishte me të vërtetë budalla. Unë nuk kanë një etiketë e hapjes PHP. 526 00:30:47,500 --> 00:30:49,900 Por si ju mund të shihni, tani ajo është duke punuar si duhet, apo jo? 527 00:30:49,900 --> 00:30:51,240 Ne kemi 1 postim. 528 00:30:51,240 --> 00:30:54,730 Ne mori postin e parë, dhe tani ne shtypura jashtë trupin e saj. 529 00:30:54,730 --> 00:30:58,010 Great. Sporte. 530 00:30:58,010 --> 00:31:01,470 Çdo pyetje deri më tani? 531 00:31:01,470 --> 00:31:04,100 Jo? Ndonjë pyetje? 532 00:31:04,100 --> 00:31:08,340 Mirë, kështu që ne vetëm të krijuar modelin postimi, shumë themelore, 533 00:31:08,340 --> 00:31:10,930 dhe ne do të shtoni disa funksione më vonë. 534 00:31:10,930 --> 00:31:13,600 Ne mund të shtoni validations dhe filtrim. 535 00:31:13,600 --> 00:31:15,650 Validations janë një nga gjërat 536 00:31:15,650 --> 00:31:18,150 se kornizat zgjidhur për ju me të vërtetë, të vërtetë të mirë, 537 00:31:18,150 --> 00:31:21,310 dhe unë nuk mendoj se ju djema kishte për të bërë këtë për pset tuaj CS50, 538 00:31:21,310 --> 00:31:24,000 por në qoftë se ju bëni web zhvillim për projektin tuaj përfundimtar, 539 00:31:24,000 --> 00:31:26,280 ju jeni shumë gjasa do të dëshironi të bëni disa lloj validation, 540 00:31:26,280 --> 00:31:28,290 si nuk ka emra bosh përdorues, 541 00:31:28,290 --> 00:31:31,950 ndoshta të paturit e një fjalëkalim me të paktën një gjatësi, gjëra të tilla si se. 542 00:31:31,950 --> 00:31:34,750 Dhe kjo është me të vërtetë i rëndë për të zbatuar këto gjëra me veten, 543 00:31:34,750 --> 00:31:37,390 dhe shumë e shumë çdo kuadër të vetëm të web e bën këtë për ju 544 00:31:37,390 --> 00:31:41,140 dhe ju lejon të bëni atë në një mënyrë shumë të pastër. 545 00:31:41,140 --> 00:31:44,340 Dhe modeli është ajo ku ju zakonisht shprehin këto rregulla validation, 546 00:31:44,340 --> 00:31:48,790 sepse është e Vleresimin nëse një model është e vlefshme apo jo. 547 00:31:48,790 --> 00:31:51,350 >> Por tani për tani, ne jemi duke shkuar për të vënë atë deri vonë, 548 00:31:51,350 --> 00:31:53,520 dhe tani për tani ne jemi duke shkuar për të punuar në një pjesë tjetër, 549 00:31:53,520 --> 00:31:55,400 dhe ne do të përpiqet dhe të bëjë një pamje të re 550 00:31:55,400 --> 00:31:59,580 që listat të gjitha postimet e bëra. 551 00:31:59,580 --> 00:32:02,490 Hapat e përfshirë në marrjen e një aksion të ri për të renditur të gjitha postimet e bëra 552 00:32:02,490 --> 00:32:04,810 është për të rrëmbyer një listë të të gjitha postet 553 00:32:04,810 --> 00:32:11,990 dhe pastaj të bëjnë listën e të gjitha postet me një pamje. 554 00:32:11,990 --> 00:32:16,420 Të drejtë këtu, për fat të mirë të mjaftueshme, ne tashmë mori të gjitha postimet e bëra 555 00:32:16,420 --> 00:32:20,310 duke përdorur këtë rreshtin e parë, të gjeni të gjitha funksion, 556 00:32:20,310 --> 00:32:22,520 dhe tani ajo që ne jemi duke shkuar për të bërë është deri më tani 557 00:32:22,520 --> 00:32:25,350 Unë kam qenë direkt vendosjen trupin e përgjigjes 558 00:32:25,350 --> 00:32:29,090 duke kaluar string, por tani unë dua të përdorni një pamje, 559 00:32:29,090 --> 00:32:31,870 dhe dallimi në mes një pamje dhe vetëm duke bërë këtë 560 00:32:31,870 --> 00:32:35,330 është me qëllim që unë mund të ketë një të bukur, të madh template HTML, 561 00:32:35,330 --> 00:32:37,710 dhe ajo që unë mund të bëni është të kalojë atë variablave të caktuara 562 00:32:37,710 --> 00:32:42,200 dhe pastaj kanë pikëpamje automatikisht populloj template e saj 563 00:32:42,200 --> 00:32:44,690 duke përdorur këto variabla. 564 00:32:44,690 --> 00:32:50,780 Ajo që unë do të bëj është që unë do të krijojë një pamje të re, 565 00:32:50,780 --> 00:32:55,940 dhe unë do të emrin e view diçka si "blog / indeksin," 566 00:32:55,940 --> 00:33:08,480 dhe unë jam duke shkuar për në thelb lidh këtë - oh, çfarë jam unë shkrim? 567 00:33:08,480 --> 00:33:12,910 Truri im është diku tjetër. 568 00:33:12,910 --> 00:33:16,600 Unë do të lidh postimet e ndryshueshme të mendimit, 569 00:33:16,600 --> 00:33:19,950 kështu që mënyra pikëpamje ka qasje në këtë variabël pas. 570 00:33:19,950 --> 00:33:26,140 >> Dhe kështu që tani kam nevojë për të krijuar këtë pikëpamje, 571 00:33:26,140 --> 00:33:28,500 kështu që këtu ne kemi këtë dosje të quajtur "Views", 572 00:33:28,500 --> 00:33:32,150 dhe për herë të parë, unë jam duke shkuar për të krijuar një dosje të re nën atë të quajtur "Blog." 573 00:33:32,150 --> 00:33:35,810 Kjo është e bukur. Në këtë mënyrë ne mund të kemi një hierarki të këndshme për pikëpamjet tona. 574 00:33:35,810 --> 00:33:43,910 Dhe atëherë unë jam duke shkuar për të krijuar një tjetër fotografi në atje quajtur "index.php". 575 00:33:43,910 --> 00:33:45,780 Awesome. 576 00:33:45,780 --> 00:33:52,930 Në fakt, le të kenë ata të dy këtu. 577 00:33:52,930 --> 00:33:56,760 Marrja e një pamje skedar është ndoshta pjesa më e thjeshtë të gjithë kësaj, 578 00:33:56,760 --> 00:33:59,090 dhe këto janë gjëra që ndoshta ju jeni tashmë të njohur me të. 579 00:33:59,090 --> 00:34:01,240 Ne jemi duke shkuar për të bërë diçka me të vërtetë të thjeshtë, 580 00:34:01,240 --> 00:34:05,360 filloni duke thënë: "Lista ime e blog posts." 581 00:34:05,360 --> 00:34:14,860 Atëherë ne mund të kalojnë nëpër, 582 00:34:14,860 --> 00:34:17,920 dhe ne mund të iterate përmes Postimet e array, 583 00:34:17,920 --> 00:34:21,760 kap çdo postim të vetëm dhe të thonë diçka si - 584 00:34:21,760 --> 00:34:25,290 ndoshta shtoni një linjë të 585 00:34:25,290 --> 00:34:42,460 dhe pastaj të shtypura nga kreu dhe trupin. 586 00:34:42,460 --> 00:34:44,480 Kjo ka kuptim deri më tani? 587 00:34:44,480 --> 00:34:50,870 Dhe le të shohim nëse ajo punon. 588 00:34:50,870 --> 00:34:53,489 Asgjë nuk ka ndodhur. 589 00:34:53,489 --> 00:34:55,090 Unë pyes veten pse. 590 00:34:55,090 --> 00:34:58,760 Oh, unë humba 1 hap. Shumë pa kuptim për mua. 591 00:34:58,760 --> 00:35:01,640 I krijuar një pamje, por nuk e kam vënë pamjen si përgjigje, 592 00:35:01,640 --> 00:35:03,190 kështu që ju duhet të bëni 1 më shumë gjë. 593 00:35:03,190 --> 00:35:12,610 Ju duhet të bëni "këtë trup përgjigje" dhe vendosjen e tij të jetë mendimi. 594 00:35:12,610 --> 00:35:14,760 Nuk shkojmë. 595 00:35:14,760 --> 00:35:17,200 Ne kemi titullin tonë, dhe atëherë ne kemi një post, 596 00:35:17,200 --> 00:35:20,500 dhe vetëm për goditje, le të futur një tjetër post 597 00:35:20,500 --> 00:35:23,390 kështu që ne mund të shohim një listë. 598 00:35:31,800 --> 00:35:36,650 Dhe futur këto 2 postimet e bëra, 599 00:35:36,650 --> 00:35:39,500 dhe tani në qoftë se unë rifreskoni faqen, 600 00:35:39,500 --> 00:35:42,060 ne shohim të gjitha këto postimet e bëra këtu. 601 00:35:42,060 --> 00:35:44,250 >> A do të kishte kuptim deri më tani? 602 00:35:44,250 --> 00:35:46,400 Po, një pyetje? Oh, në rregull. 603 00:35:46,400 --> 00:35:51,440 Siç mund ta shikoni, ne kemi qenë në gjendje për të ndarë të gjitha këto kode jashtë 604 00:35:51,440 --> 00:35:53,920 në seksione të ndryshme, dhe pastaj ju mund të shihni se është më e qartë me kodin pamje. 605 00:35:53,920 --> 00:35:57,810 Kjo skedë këtu që përfaqëson pikëpamjen, 606 00:35:57,810 --> 00:36:01,220 ai vetëm kujdeset për përfaqësimin e të dhënave, duke shfaqur të dhënat. 607 00:36:01,220 --> 00:36:04,310 Ajo merr kaluar një lloj të të dhënave, dhe të gjithë kjo nuk është vetëm për të treguar atë për ju. 608 00:36:04,310 --> 00:36:07,660 Në të gjitha pjesët e tjera të kodit tuaj, ju nuk do të duhet të shqetësohen për ndonjë nga të cilat, 609 00:36:07,660 --> 00:36:10,480 dhe në mënyrë të ngjashme, kodi juaj pikëpamje nuk ka për t'u shqetësuar për ndonjë gjë 610 00:36:10,480 --> 00:36:13,390 se si për të hyrë në bazën e të dhënave dhe kështu me radhë e kështu me radhë, 611 00:36:13,390 --> 00:36:19,950 e cila është me të vërtetë e mirë dhe e bën kodin tuaj shumë më maintainable. 612 00:36:19,950 --> 00:36:23,390 Ashtu si thashë, views, ata janë dinamike në të cilat 613 00:36:23,390 --> 00:36:27,080 kjo është 1 fotografi, por kjo do të gjenerojë pikëpamje të ndryshme 614 00:36:27,080 --> 00:36:29,940 bazuar në variablat ju në të vërtetë të kalojë në, 615 00:36:29,940 --> 00:36:32,370 dhe për më tepër, ka shumë funksione të ndryshme ndihmëse 616 00:36:32,370 --> 00:36:34,230 që ju mund të përdorni për t'ju ndihmuar të shkruani kodin tuaj të shpejtë, 617 00:36:34,230 --> 00:36:36,320 që unë do të ju tregojnë në vetëm një të dytë. 618 00:36:36,320 --> 00:36:38,050 Po. 619 00:36:38,050 --> 00:36:42,490 >> [Student] Pra $ 0 është një kontrollues, e drejtë? 620 00:36:42,490 --> 00:36:44,000 Kjo gjë e dytë. 621 00:36:44,000 --> 00:36:46,090 Pyetja eshte eshte $ 0 a kontrollues? 622 00:36:46,090 --> 00:36:48,610 $ 0 është një variabël kam krijuar këtu. 623 00:36:48,610 --> 00:36:51,320 I krijuar një pamje të parë. I caktuar atë për rreth ndryshueshme. 624 00:36:51,320 --> 00:36:54,960 Pastaj kam kaluar atë në këtë funksion, vendosur atë si trupin e përgjigjes. 625 00:36:54,960 --> 00:36:57,260 A ka kjo kuptim? 626 00:36:57,260 --> 00:37:02,200 [Student] Pra, është view :: fabrikë, është parë si një klasë 627 00:37:02,200 --> 00:37:06,610 ose një bibliotekë [padëgjueshme] Funksioni fabrikë? 628 00:37:06,610 --> 00:37:10,640 Pyetja ka të bëjë me funksionin view :: fabrikës, 629 00:37:10,640 --> 00:37:14,020 dhe në thelb kjo është disa më shumë e orientuar kah objekti programimit në thelb. 630 00:37:14,020 --> 00:37:18,000 View është klasa pamje, dhe ajo ka një metodë të quajtur "Fabrika" 631 00:37:18,000 --> 00:37:24,170 dhe kjo është një mënyrë për të rrëmbyer e objektit që është quajtur "blog / index." 632 00:37:24,170 --> 00:37:27,140 Dhe kjo është disa më shumë object-oriented programimit gjëra 633 00:37:27,140 --> 00:37:33,010 se unë nuk jam duke shkuar për të shkuar në këtu shumë. 634 00:37:33,010 --> 00:37:36,400 Tani natyrisht, ne duam të krijojmë postime të reja, 635 00:37:36,400 --> 00:37:38,790 por ne nuk duam që të ketë për të bërë atë nëpërmjet një bazë të dhënash, 636 00:37:38,790 --> 00:37:41,280 kështu që ne jemi duke shkuar për të krijuar një aksion të ri për të krijuar një post të ri, 637 00:37:41,280 --> 00:37:43,050 dhe ka shumë gjëra që duhet të bëjmë. 638 00:37:43,050 --> 00:37:45,910 >> Gjëja e parë që ne jemi duke shkuar për të bërë - le të merret me këto gjëra një nga një. 639 00:37:45,910 --> 00:37:48,320 Gjëja e parë që ne do të bëjmë është që ne kemi marrë për të krijuar një formë të 640 00:37:48,320 --> 00:37:54,460 për të futur një post të ri, 641 00:37:54,460 --> 00:37:57,360 por unë jam gjithashtu do të shtoni një veprim të ri e parë, 642 00:37:57,360 --> 00:38:01,050 kështu që duke shtuar një veprim të ri është po aq e lehtë sa 643 00:38:01,050 --> 00:38:03,490 duke shtuar një funksion të ri me kontrollues tuaj, 644 00:38:03,490 --> 00:38:13,710 dhe tani për tani unë jam duke shkuar për të bërë diçka shumë të thjeshtë, 645 00:38:13,710 --> 00:38:20,850 kap vetëm këtë pikëpamje dhe pas atë, vetëm të shfaq atë për ju. 646 00:38:20,850 --> 00:38:26,220 Dhe pastaj tani unë jam duke shkuar për të krijuar një skedë të re pamje, 647 00:38:26,220 --> 00:38:33,690 dhe unë jam duke shkuar për të filloni të shkruani disa sende. 648 00:38:33,690 --> 00:38:36,540 Çfarë është e mirë për Kohana është se ato ofrojnë një shumë të funksioneve të ndryshme ndihmëse 649 00:38:36,540 --> 00:38:38,790 për ju që të shkruani kodin Shiko më lehtë, 650 00:38:38,790 --> 00:38:41,970 dhe 1 i atyre funksioneve ndihmëse apo module ndihmëse 651 00:38:41,970 --> 00:38:45,860 është rreth shkrim forma. 652 00:38:45,860 --> 00:38:49,460 Për të shkruar forma, unë vërtetë nuk kanë për të shkruar drejtpërdrejt ndonjë HTML veten time. 653 00:38:49,460 --> 00:38:51,100 Ju djema keni shkruar forma HTML. 654 00:38:51,100 --> 00:38:54,850 Ti e di se si ajo mund të jetë me të vërtetë, të vërtetë e dhimbshme dhe të rëndë për të shkruar forma. 655 00:38:54,850 --> 00:38:59,970 Kjo nuk është argëtim, kështu që për fat të mirë, 656 00:38:59,970 --> 00:39:04,860 ne mund të thelb të shkruani një formë duke përdorur Kohana-së 657 00:39:04,860 --> 00:39:11,190 formojnë funksionet e ndihmësit të bëjë atë për ne. 658 00:39:11,190 --> 00:39:17,340 Ne jemi duke shkuar për në thelb të ketë fusha për çdo gjë të vetme që kemi, 659 00:39:17,340 --> 00:39:23,160 kështu që një për autorët dhe një për organet. 660 00:39:23,160 --> 00:39:27,090 Ne do të kemi një emërtim, dhe ne do të kenë një kontribut. 661 00:39:37,450 --> 00:39:41,360 >> Dhe pastaj në fund, ne do të kemi një nënshtrim. 662 00:39:49,350 --> 00:39:52,230 Dhe si ju mund të shihni, kjo është shumë më e pastër për të shkruar 663 00:39:52,230 --> 00:39:58,150 se të gjitha HTML atë çrregullt, që është lloj i bukur. 664 00:39:58,150 --> 00:40:00,930 Dhënë, ka kornizat tjera të internetit që kanë atë edhe më të pastër se kaq, 665 00:40:00,930 --> 00:40:04,440 por të paktën kjo është më e mirë se sa me shkrim HTML veten. 666 00:40:09,400 --> 00:40:11,130 Tmerrshëm, kështu që kjo është ajo që ju shihni. 667 00:40:11,130 --> 00:40:13,530 Kjo është lloj i çrregullt, 668 00:40:13,530 --> 00:40:19,720 kështu që unë jam duke shkuar për të shtuar një pushim linjë atje 669 00:40:19,720 --> 00:40:21,180 për të bërë që të duket pak nicer. 670 00:40:21,180 --> 00:40:23,330 Well, natyrisht, ajo ende duket me të vërtetë, me të vërtetë keq, por ne jemi fokusuar vetëm 671 00:40:23,330 --> 00:40:26,050 në funksionalitetin për tani dhe jo për estetikë. 672 00:40:26,050 --> 00:40:28,010 Nuk ka kohë për të bërë çdo gjë. 673 00:40:28,010 --> 00:40:30,600 Dhe si ju mund të shihni, tani ne kemi një formë super bazë, 674 00:40:30,600 --> 00:40:32,080 që është lloj i bukur. 675 00:40:32,080 --> 00:40:36,730 Ky kod do të thosha është i pastër se duke u përpjekur për të shkruar një HTML formojnë veten, 676 00:40:36,730 --> 00:40:40,290 kështu që është e bukur. 677 00:40:40,290 --> 00:40:42,030 Çfarë ndodh më pas? 678 00:40:42,030 --> 00:40:49,260 Tani ne kemi nevojë për të bërë gjëra me veprimin. 679 00:40:49,260 --> 00:40:51,240 Normalisht kur ju shkruani format HTML, 680 00:40:51,240 --> 00:40:54,070 ju duhet të tregoni atë se ku ajo do të dorëzojë formularin për të. 681 00:40:54,070 --> 00:40:56,050 By default në kornizat më të madhe të internetit, 682 00:40:56,050 --> 00:40:58,200 ajo paraqet në të njëjtën URL e saktë, kështu që gjëja është, 683 00:40:58,200 --> 00:41:01,310 në qoftë se ju të dërgoni një kërkesë për të marrë / blog / e re, 684 00:41:01,310 --> 00:41:03,240 ajo duhet të ekranit ju formën, 685 00:41:03,240 --> 00:41:06,810 por në qoftë se ju dërgoni një kërkesë tek postimi i / blog / e re me të dhënat, 686 00:41:06,810 --> 00:41:10,000 ai në fakt duhet të përpiqen për të shpëtuar këtë post 687 00:41:10,000 --> 00:41:13,300 dhe të bëjë diçka me të. 688 00:41:20,630 --> 00:41:22,180 >> Ajo që ne jemi duke shkuar për të bërë është 689 00:41:22,180 --> 00:41:25,320 në thelb të gjithë ne duhet të bëjmë për të parë nëse kjo është një kërkesë e pas apo kërkesë get 690 00:41:25,320 --> 00:41:29,350 është për të kontrolluar se cilat janë variablat Postimi ju mund të vendosni. 691 00:41:29,350 --> 00:41:34,560 Dhe në qoftë se pas ndryshueshme është vendosur, atëherë ne jemi duke shkuar për të provoni dhe për të krijuar një post të ri. 692 00:41:34,560 --> 00:41:38,440 Përsëri, ne vetëm e bëjnë këtë, 693 00:41:38,440 --> 00:41:41,090 dhe që krijon një post të ri, dhe ne jemi fjalë për fjalë do të 694 00:41:41,090 --> 00:41:51,150 të vendosur fushat e saj si kjo, 695 00:41:51,150 --> 00:41:55,640 dhe atëherë ne jemi duke shkuar për të shpëtuar atë. 696 00:41:55,640 --> 00:41:59,200 Dhe atëherë unë jam duke shkuar për të përcjellim 697 00:41:59,200 --> 00:42:07,660 në faqen e indeks në mënyrë që ata mund të shikoni listën tonë të postimeve përsëri. 698 00:42:07,660 --> 00:42:09,620 Le të provoni këtë. 699 00:42:09,620 --> 00:42:15,160 Unë do të them, "Brandon," 700 00:42:15,160 --> 00:42:18,140 dhe pastaj të dorëzojë postin, dhe në qoftë se të gjitha shkon mirë, 701 00:42:18,140 --> 00:42:21,390 si ju mund të shihni, është ridrejtuar mua në faqen e indeks, 702 00:42:21,390 --> 00:42:24,140 dhe në qoftë se unë shkoni në fund, ne kemi një post të sapo futur. 703 00:42:24,140 --> 00:42:26,430 Yay! 704 00:42:26,430 --> 00:42:28,430 Po, pyetje. 705 00:42:28,430 --> 00:42:31,760 >> [Student] Po në qoftë se ju kishte hyrë njëjtën gjë e saktë 706 00:42:31,760 --> 00:42:33,380 ju hyrë para? 707 00:42:33,380 --> 00:42:36,950 A ka kontrolluar për të siguruar që ju nuk e keni të dyfishta 708 00:42:36,950 --> 00:42:38,810 të njëjtën gjë nënshtrim? 709 00:42:38,810 --> 00:42:41,660 Të jetë i parazgjedhur, nuk ka, sepse nga default - 710 00:42:41,660 --> 00:42:46,470 vjen keq, pyetja është nëse ju të hyjë në të dhënat e saktë të njëjtën në formën 711 00:42:46,470 --> 00:42:50,180 dhe të paraqesë se, do të lejojë të futur një objekt kopjuar, 712 00:42:50,180 --> 00:42:52,550 a kopjuar hyrjen, në thelb? 713 00:42:52,550 --> 00:42:54,070 Tani për tani, po, ajo do të ju lejojnë për të bërë këtë, 714 00:42:54,070 --> 00:42:58,860 sepse në bazat e të dhënave është e përkryer e vlefshme që të ketë rreshtave krejtësisht të kopjuar, 715 00:42:58,860 --> 00:43:02,260 por në qoftë se është një shqetësim, atëherë ju mund të shtoni validations, për shembull, 716 00:43:02,260 --> 00:43:06,430 për t'u siguruar se në qoftë se kjo është pikërisht i njëjtë si diçka që tashmë ekziston, 717 00:43:06,430 --> 00:43:08,720 pastaj thonë se kjo është një objekt i pavlefshëm, 718 00:43:08,720 --> 00:43:11,200 dhe pastaj ju mund të specifikoni mesazhin tuaj gabimi 719 00:43:11,200 --> 00:43:14,390 dhe thonë, "e pavlefshme për shkak se kjo tashmë ekziston" ose diçka të tillë. 720 00:43:14,390 --> 00:43:22,420 Por në këtë rast, unë mund vetëm të krijojë diçka të kopjuar. 721 00:43:22,420 --> 00:43:26,010 Tani le të përpiqemi dhe të shtoni disa validations. 722 00:43:26,010 --> 00:43:30,400 Problemi me këtë të drejtë tani është se 723 00:43:30,400 --> 00:43:34,220 Unë fjalë për fjalë do të mund të paraqesë një post krejtësisht bosh. 724 00:43:34,220 --> 00:43:37,500 Unë mund të klikoni këtë buton tani, dhe aty ne do të shkojmë. 725 00:43:37,500 --> 00:43:40,290 Ju nuk mund të vërtetë e shohin atë, por kjo linjë shtesë këtu 726 00:43:40,290 --> 00:43:43,830 tregon se unë fjalë për fjalë kanë një post të ri. 727 00:43:43,830 --> 00:43:46,050 Ajo vetëm ka një autor bosh dhe një trup bosh, 728 00:43:46,050 --> 00:43:48,630 dhe ne nuk duam që të lejojnë njerëzit për të bërë këtë. 729 00:43:48,630 --> 00:43:52,550 Kjo është ajo ku vjen in validation 730 00:43:52,550 --> 00:43:57,540 >> Unë mund të shkoni në objektin tim modelit, 731 00:43:57,540 --> 00:43:59,530 dhe tani unë mund të shtoni një funksion të ri që përcakton 732 00:43:59,530 --> 00:44:02,000 çfarë rregullat validation unë duhet të shtoni në këtë model 733 00:44:02,000 --> 00:44:06,840 për t'u siguruar se ajo është e vlefshme apo të specifikojë se çfarë do të thotë të jetë një post të vlefshme? 734 00:44:06,840 --> 00:44:10,210 Dhe unë dua të them se është vetëm një post i vlefshëm në qoftë se të dy autor dhe trupi 735 00:44:10,210 --> 00:44:15,150 nuk janë bosh, dhe kjo është se si ju bëni atë në Kohana. 736 00:44:15,150 --> 00:44:18,750 Ju krijoni një funksion të ri të quajtur "Rregullat", 737 00:44:18,750 --> 00:44:20,210 dhe pastaj ju ktheheni në thelb një koleksion asociative 738 00:44:20,210 --> 00:44:24,230 që përcakton rregullat validation për këtë objekt. 739 00:44:24,230 --> 00:44:27,530 Ne jemi duke shkuar për të kthyer array, dhe pastaj ajo që ne jemi duke shkuar për të bërë është 740 00:44:27,530 --> 00:44:32,820 thonë "autor", ajo shkon në një grup, 741 00:44:32,820 --> 00:44:37,720 i cili shkon në një tjetër grup të quajtur "jo bosh." 742 00:44:37,720 --> 00:44:41,480 Dhe atëherë unë jam duke shkuar për të thënë "trupin." 743 00:44:50,980 --> 00:44:54,120 Mirë, dhe sintaksa për këtë strukturë dhe për këtë 744 00:44:54,120 --> 00:44:56,530 mund të duket i rëndë një të vogël dhe pak e komplikuar. 745 00:44:56,530 --> 00:44:59,330 Nëse ju lexoni dokumentacionin, kjo është goxha e lehtë për të kuptoj se, 746 00:44:59,330 --> 00:45:02,500 Por në thelb kjo është ajo që ju duhet të bëni për të specifikojë 747 00:45:02,500 --> 00:45:04,130 disa rregulla validation, dhe ka shumë rregulla të ndryshme 748 00:45:04,130 --> 00:45:06,810 Kohana që do të ju jap falas, si ju mund të shtoni rregulla për të thënë 749 00:45:06,810 --> 00:45:08,410 ajo duhet të jetë të paktën këtë gjatësi. 750 00:45:08,410 --> 00:45:11,800 Ndoshta ajo duhet të jetë një numër. Ndoshta ajo duhet të jetë një numër alfa. 751 00:45:11,800 --> 00:45:14,410 Ndoshta ajo duhet të jetë më së shumti këtë gjatësi, kështu me radhë e kështu me radhë. 752 00:45:14,410 --> 00:45:17,730 Nuk janë një shumë e rregullave të ndryshme që Kohana ofron për ju, 753 00:45:17,730 --> 00:45:19,610 dhe ju mund të shkoni në faqen e tyre, shikoni në dokumentacionin, 754 00:45:19,610 --> 00:45:23,150 dhe ju mund të shihni të gjitha gjëra të ndryshme që ju mund të bëni. 755 00:45:23,150 --> 00:45:25,650 >> Por kjo është e gjitha unë duhet të bëni, 756 00:45:25,650 --> 00:45:30,490 dhe tani le të shohim se çfarë ndodh 757 00:45:30,490 --> 00:45:34,060 në qoftë se unë të paraqesë një post bosh. 758 00:45:34,060 --> 00:45:36,960 Çfarë do të ndodhë? Oh, jo, unë të marrë një gabim. 759 00:45:36,960 --> 00:45:39,440 Kam marrë një përjashtim validation. 760 00:45:39,440 --> 00:45:41,070 E pra, kjo është e mirë. 761 00:45:41,070 --> 00:45:43,200 Ajo më tha se modeli im është i pavlefshëm, 762 00:45:43,200 --> 00:45:45,780 por unë nuk dua për të shfaqur një përjashtim 763 00:45:45,780 --> 00:45:48,720 për përdoruesit e mi kur ata përpiqen të paraqesin diçka të pavlefshme, e drejtë? 764 00:45:48,720 --> 00:45:51,560 Unë dua të jap atyre një lloj mesazhi miqësore gabimi 765 00:45:51,560 --> 00:45:53,610 kur diçka shkon keq. 766 00:45:53,610 --> 00:46:01,830 Ajo që ne jemi duke shkuar për të bërë është që ne jemi duke shkuar për 767 00:46:01,830 --> 00:46:04,490 përfundojë çdo gjë në një lak kapur provoni. 768 00:46:04,490 --> 00:46:06,750 Në fakt, unë mendoj se kjo është gjithashtu diçka që ju nuk e kanë mësuar ende 769 00:46:06,750 --> 00:46:10,820 në CS50, sepse C, gjuhë programimi C, 770 00:46:10,820 --> 00:46:14,000 nuk ka përjashtime, por pothuajse të gjitha gjuhët vetëm Të tjera 771 00:46:14,000 --> 00:46:16,700 ka përjashtime, kështu që me të vërtetë, me të vërtetë shkurtimisht, 772 00:46:16,700 --> 00:46:19,430 një përjashtim është diçka që një pjesë të kodit mund 773 00:46:19,430 --> 00:46:21,430 hedhin një përjashtim kur diçka shkon keq, 774 00:46:21,430 --> 00:46:23,410 por pastaj ndoshta disa pjesë të tjera të kodit më e lartë deri 775 00:46:23,410 --> 00:46:25,810 mund të arrijë këtë përjashtim dhe të bëjë diçka me të. 776 00:46:25,810 --> 00:46:27,710 >> Për shembull, në këtë rast, 777 00:46:27,710 --> 00:46:29,940 pjesë të kodit që është duke u përpjekur për të ruajtur një model, 778 00:46:29,940 --> 00:46:33,170 ajo validates modelin, dhe në qoftë se ai thotë, "Mirë, ky model është i pavlefshëm" 779 00:46:33,170 --> 00:46:36,150 ajo do të hedhin një përjashtim, dhe kjo është lloj i barabartë me 780 00:46:36,150 --> 00:46:39,870 në C ju mund të ktheheni një -1 ose diçka të tillë. 781 00:46:39,870 --> 00:46:42,320 Dhe pastaj për mua, ky funksion, kodi im 782 00:46:42,320 --> 00:46:46,310 në një nivel më të lartë, unë mund të përpiqen dhe të kapur atë përjashtim 783 00:46:46,310 --> 00:46:49,330 dhe thonë se në thelb, "Mirë, në qoftë se unë të kapur përjashtim, çfarë jam unë do të bëj?" 784 00:46:49,330 --> 00:46:51,570 Ose unë mund të zgjedhin të mos për të kapur atë përjashtim dhe le dikush më i lartë deri 785 00:46:51,570 --> 00:46:54,400 kapur përjashtim, ose në qoftë se askush nuk e kap atë, 786 00:46:54,400 --> 00:46:56,820 atëherë i tërë programi crashes dhe thotë, 787 00:46:56,820 --> 00:46:59,170 "Diçka shkoi keq, dhe unë nuk mund të trajtojë atë." 788 00:46:59,170 --> 00:47:04,490 >> Por ajo që ne bëjmë është që të përfundojë një pjesë të kodit në një bllok të përpiqemi, 789 00:47:04,490 --> 00:47:09,030 dhe pastaj ju të shtoni edhe diçka që quhet një bllok kapur, 790 00:47:09,030 --> 00:47:17,300 që është lloj i kodit që do të përpiqen dhe të kapur përjashtimet që mund të ndodhin. 791 00:47:17,300 --> 00:47:20,430 Dhe kështu në qoftë se unë kapur këtë përjashtim të veçantë 792 00:47:20,430 --> 00:47:23,110 ose përjashtim pavlefshmëri, atëherë ajo që unë jam duke shkuar për të bërë është 793 00:47:23,110 --> 00:47:31,210 Unë jam duke shkuar për të vendosur gabimet - Unë mendoj se kjo është se si të bëj atë - 794 00:47:31,210 --> 00:47:35,370 dhe unë jam duke shkuar për të vendosur gabimet në ndonjë objekt. 795 00:47:35,370 --> 00:47:40,920 Dhe pastaj ajo që unë jam duke shkuar për të bërë është në qoftë se ajo hits këtë përjashtim, 796 00:47:40,920 --> 00:47:43,090 ajo nuk do të përcjellim, dhe në qoftë se ajo nuk përcjellëse, 797 00:47:43,090 --> 00:47:46,160 ajo do të dalë nga nëse blog 798 00:47:46,160 --> 00:47:49,920 dhe e goditi këtë blog / e re, e cila është e doni unë dua të bëj. 799 00:47:49,920 --> 00:47:53,190 Nëse ka një gabim, atëherë unë dua të kthehem në formë 800 00:47:53,190 --> 00:47:55,100 dhe të shfaqin ato gabime. 801 00:47:55,100 --> 00:48:00,780 Tani ajo që unë dua të bëj është që unë dua të kalojë në ato gabime 802 00:48:00,780 --> 00:48:07,010 në pamje. 803 00:48:07,010 --> 00:48:10,360 Mirë, unë mendoj se kam pamje të drejtë këtu, 804 00:48:10,360 --> 00:48:14,660 dhe në thelb unë dua për të shfaqur ato gabime, nëse ato ekzistojnë. 805 00:48:14,660 --> 00:48:19,740 Para se të shkruani HTML për këtë, unë jam duke shkuar për të vërtetë shpejt 806 00:48:19,740 --> 00:48:21,720 të tregojë se çfarë struktura e këtij gabimeve duket ndryshueshme pëlqen, 807 00:48:21,720 --> 00:48:23,080 dhe kjo është një praktikë e mirë në përgjithësi. 808 00:48:23,080 --> 00:48:25,070 Shumë herë ju merrni diçka prapa nga disa metoda, 809 00:48:25,070 --> 00:48:27,250 disa funksion në kuadër të internetit, 810 00:48:27,250 --> 00:48:29,410 dhe ju nuk e dini se çfarë duket si e ndryshueshme, 811 00:48:29,410 --> 00:48:31,210 kështu që ju nuk e dini se si të punojnë me të. 812 00:48:31,210 --> 00:48:37,790 Unë jam duke shkuar për të përdorur një metodë r shtypura në thelb print it out. 813 00:48:37,790 --> 00:48:41,100 >> Dhe si ju mund të shihni, ajo më thotë se është një grup i asociuar, 814 00:48:41,100 --> 00:48:44,880 dhe ju keni një kryesore, autor, pikë në këtë varg, 815 00:48:44,880 --> 00:48:47,050 Autori nuk duhet të jetë bosh, dhe një tjetër kyç, trupi, 816 00:48:47,050 --> 00:48:49,680 pikë në një tjetër varg, organi nuk duhet të jetë bosh. 817 00:48:49,680 --> 00:48:52,130 Unë jam si, rregull, cool. 818 00:48:52,130 --> 00:48:56,230 Pastaj unë mund të iterate nëpër rrjet dhe të shtypura nga çdo mesazh të vetëm. 819 00:48:56,230 --> 00:49:02,150 Kjo është në thelb si një grup shoqëruese me një bandë e mesazheve. 820 00:49:02,150 --> 00:49:13,500 Ajo që unë jam duke shkuar për të bërë është "nëse ka gabime," 821 00:49:13,500 --> 00:49:17,140 dhe unë jam duke shkuar për të krijuar një listë të parenditur, 822 00:49:17,140 --> 00:49:20,860 dhe unë jam duke shkuar për të iterate nëpër të gjitha gabimet. 823 00:49:33,730 --> 00:49:38,710 Dhe kjo, dhe tani unë jam duke shkuar për dorëzimin provoni këtë përsëri, 824 00:49:38,710 --> 00:49:41,200 dhe le të shohim se çfarë kemi. 825 00:49:41,200 --> 00:49:45,370 Tani ne kemi marrë këtë listë bukur të gabimeve, 826 00:49:45,370 --> 00:49:48,630 dhe kjo është ende shumë e shëmtuar, por kjo padyshim mund të jetë i formatuar për të duken bukur, 827 00:49:48,630 --> 00:49:51,620 por ideja themelore është vetëm në disa rreshta të kodit, 828 00:49:51,620 --> 00:49:53,720 ne ishim në gjendje për të vërtetuar modelin tonë, 829 00:49:53,720 --> 00:49:56,510 të sigurt se fusha të caktuara nuk ishin bosh, 830 00:49:56,510 --> 00:49:59,740 dhe nëse diçka shkoi keq, atëherë kthehen disa lloj mesazh gabimi 831 00:49:59,740 --> 00:50:01,760 Unë pastaj mund të paraqesë përsëri të përdoruesit. 832 00:50:01,760 --> 00:50:03,910 Ju gjithashtu mund të rregulloje validation tuaj 833 00:50:03,910 --> 00:50:07,590 kështu që ju në fakt mund të ketë një mesazh gabimi 834 00:50:07,590 --> 00:50:09,620 që është më specifike të aplikimit tuaj ose diçka të tillë. 835 00:50:09,620 --> 00:50:14,600 E gjithë kjo është në përgjithësi i përshtatshëm. 836 00:50:14,600 --> 00:50:17,150 >> Fat të keq, ne jemi mbetur shumë kohë, 837 00:50:17,150 --> 00:50:20,040 kështu që unë jam do të ketë për të ndërprerë seancën jetojnë coding këtu. 838 00:50:20,040 --> 00:50:22,980 Ka një bandë e karakteristika të tjera që unë dua të demonstruar për ju 839 00:50:22,980 --> 00:50:25,650 në këtë shembull. 840 00:50:25,650 --> 00:50:27,620 Për shembull, ju mund të shtoni templates për faqen tuaj, 841 00:50:27,620 --> 00:50:31,110 kështu që ndoshta ka një lloj Kodi HTML që ju doni të aplikoni 842 00:50:31,110 --> 00:50:35,190 në çdo faqe të vetme në faqen tuaj, dhe në vend të pasting që 843 00:50:35,190 --> 00:50:40,630 në çdo skedar të vetëm pamje që keni, e cila padyshim do të jetë një praktikë e keqe, 844 00:50:40,630 --> 00:50:43,020 që në thelb mund të përcaktojë këto templates, 845 00:50:43,020 --> 00:50:46,660 dhe më pas në kontrollues tuaj thonë, "Mirë, unë jam duke përdorur këtë template." 846 00:50:46,660 --> 00:50:50,130 "A të gjitha pikëpamjet e mia përdorni këtë template." 847 00:50:50,130 --> 00:50:52,470 Dhe një gjë e fundit që unë dua të demonstruar për ju si 848 00:50:52,470 --> 00:50:57,800 se ne nuk kemi kohë për të është ndër-site scripting, 849 00:50:57,800 --> 00:51:01,430 dhe në thelb unë mendoj se ju djema keni parë ndoshta në CS50 - 850 00:51:01,430 --> 00:51:03,770 Unë mendoj se David Malan ndoshta folur se si ju zakonisht mund të merr injeksion 851 00:51:03,770 --> 00:51:08,040 JavaScript kodin ne - a keni biseduar për këtë? 852 00:51:08,040 --> 00:51:10,220 Ndoshta? Ndoshta jo? 853 00:51:10,220 --> 00:51:12,670 >> Por shumë herë ju mund të merr injeksion me qëllim të keq kodin JavaScript 854 00:51:12,670 --> 00:51:15,630 në bazën e të dhënave e dikujt, dhe në qoftë se ata nuk e shpëtojnë atë siç duhet, 855 00:51:15,630 --> 00:51:18,280 atëherë kur ata paraqesin se të dhënat përsëri për të përdoruesit, 856 00:51:18,280 --> 00:51:21,310 atëherë ajo mund të kandidojë një lloj të rastit kodit JavaScript që ju nuk dëshironi të ndodhë, 857 00:51:21,310 --> 00:51:23,050 dhe unë do të të treguar se si ju do të bëni atë brenda Kohana. 858 00:51:23,050 --> 00:51:25,380 Është e vërtetë me të vërtetë, të vërtetë e lehtë. 859 00:51:25,380 --> 00:51:31,920 Unë mund të bëjë atë të drejtë tani në 2 sekonda fjalë për fjalë. 860 00:51:31,920 --> 00:51:34,560 Të gjithë ju duhet të bëni është në thelb të përfundojë këto gjëra 861 00:51:34,560 --> 00:51:46,920 në këtë gjë të quajtur subjektet HTML. 862 00:51:46,920 --> 00:51:51,180 Dhe kjo automatikisht do të shpëtoni nga të gjitha karakteret e duhur 863 00:51:51,180 --> 00:51:54,730 dhe sigurohuni që ju nuk e merrni këtë problem. 864 00:51:54,730 --> 00:51:57,220 [Student] Ju dha testin e parë gabimisht. 865 00:51:57,220 --> 00:52:01,030 [Brandon Liu] Oh, oops. 866 00:52:01,030 --> 00:52:06,420 Mirë >>, kjo është e gjitha unë kam për të ndarë me ju për sot. 867 00:52:06,420 --> 00:52:09,930 Këto slides do të jetë postuar, por këto janë në përgjithësi 868 00:52:09,930 --> 00:52:13,900 vetëm burimet e ju duhet me të vërtetë duhet të merrni filluar me Kohana. 869 00:52:13,900 --> 00:52:16,770 Ju mund të shkoni në faqen e internetit. Ata kanë një udhëzues të përdoruesit, dhe ata gjithashtu kanë një explorer API. 870 00:52:16,770 --> 00:52:20,630 Ne mund të shqyrtojë të gjitha funksionet e ndryshme dhe funksionet e ndihmësit që ata kanë për ju. 871 00:52:20,630 --> 00:52:22,070 Ata në përgjithësi kanë informata të mjaftueshme në faqen e internetit 872 00:52:22,070 --> 00:52:25,310 që ju mund të përdorni për të filluar dhe për të marrë do me Kohana. 873 00:52:25,310 --> 00:52:30,840 Ka nuk janë aq shumë mësime, unë mendoj se, për Kohana, jashtë 874 00:52:30,840 --> 00:52:33,880 atë që ata kanë në faqen e internetit këtu, kështu që kjo është ndoshta bast tuaj më të mirë. 875 00:52:33,880 --> 00:52:35,600 Por në qoftë se ju doni të shkoni me kuadrin web 876 00:52:35,600 --> 00:52:37,120 dhe ju nuk dëshironi të keni për të marr një gjuhë të re, 877 00:52:37,120 --> 00:52:39,780 dhe ju doni diçka që është relativisht e lehtë dhe ka një kurbë të lehtë të mësuarit, 878 00:52:39,780 --> 00:52:41,570 Unë patjetër do të sugjeroja Kohana. 879 00:52:41,570 --> 00:52:44,040 Kjo është ndoshta oferta më e mirë për këtë. 880 00:52:44,040 --> 00:52:46,830 Funny gjë, megjithatë, është nëse ne kemi qenë duke përdorur Ruby on Rails, 881 00:52:46,830 --> 00:52:48,550 ne mund të përsëritet ajo që ne vetëm e bëri 882 00:52:48,550 --> 00:52:51,430 dhe ndoshta më shumë në nën 3 minuta. 883 00:52:51,430 --> 00:52:54,710 Jo shaka, por të mësuarit Ruby on Rails merr shumë më të gjatë 884 00:52:54,710 --> 00:52:56,780 se ajo do të marrë për të mësuar Kohana. 885 00:52:56,780 --> 00:52:58,840 Kjo është në thelb zgjedhjen tuaj në atë që ju doni të zgjidhni për të mësuar, 886 00:52:58,840 --> 00:53:01,260 por në qoftë se ju doni të merrni dhe drejtimin shpejt, 887 00:53:01,260 --> 00:53:03,870 Kohana është padyshim një zgjedhje shumë e mirë. 888 00:53:03,870 --> 00:53:06,730 >> Çdo pyetje të fundit para se të përfundojë? Po. 889 00:53:06,730 --> 00:53:08,020 [Student] Si do që ne integrimin 890 00:53:08,020 --> 00:53:13,120 në një kuadër CSS si ju jeni duke përdorur kur keni qenë të udhëzuar? 891 00:53:13,120 --> 00:53:16,700 Pyetja është se si do ne integrimin e që me një kuadër CSS? 892 00:53:16,700 --> 00:53:18,740 Ajo që ne ndoshta do të bëjmë është që ne ndoshta do të përfshijë 893 00:53:18,740 --> 00:53:21,090 një dosje të re ku ne do të hale të gjitha dosjet tona CSS, 894 00:53:21,090 --> 00:53:23,010 dhe pastaj ne do të shtoni një template të ri. 895 00:53:23,010 --> 00:53:26,090 Në template ne do të përfshijnë ato fotografi CSS 896 00:53:26,090 --> 00:53:28,410 për t'u siguruar që ata janë të cekura në çdo faqe të vetme, 897 00:53:28,410 --> 00:53:32,220 dhe pastaj kur ju të vërtetë shkruani HTML, 898 00:53:32,220 --> 00:53:34,010 ju vetëm të shtoni klasa dhe gjësend të përshtatshme, 899 00:53:34,010 --> 00:53:36,100 dhe për shembull, kur ju jeni duke përdorur diçka si formë 900 00:53:36,100 --> 00:53:40,710 funksion ndihmës, ju mund të shtoni më shumë parametrat më pas 901 00:53:40,710 --> 00:53:42,830 të specifikojë se çfarë klasa që ju doni të jetë e bashkangjitur me gjëra të ndryshme 902 00:53:42,830 --> 00:53:47,820 në mënyrë që ata mund të stilit atë siç duhet, dhe kjo është në thelb se si do të shkojë. 903 00:53:47,820 --> 00:53:50,100 >> Çdo pyetje të tjera? 904 00:53:50,100 --> 00:53:52,090 Awesome. 905 00:53:52,090 --> 00:53:58,540 Faleminderit për kohën tuaj, dhe ju falënderoj për të ardhur. 906 00:53:58,540 --> 00:54:05,170 Unë nuk ishte duke shkuar për të shtuar shumë e shumë gjëra tjera, 907 00:54:05,170 --> 00:54:08,560 por 1 gjë me të vërtetë i shpejtë është që ne nuk kemi një lidhje 908 00:54:08,560 --> 00:54:12,590 në formën. 909 00:54:12,590 --> 00:54:14,310 Me të vërtetë memec. 910 00:54:14,310 --> 00:54:20,110 Le të shtoni një - në të vërtetë në pamje, blog, indeksi, 911 00:54:20,110 --> 00:54:23,890 le të vërtetë të shpejtë të shtoni një link që shkon në faqen e re, 912 00:54:23,890 --> 00:54:26,770 faqe ku ne mund të futur një post të ri. 913 00:54:26,770 --> 00:54:29,950 Ne jemi duke shkuar për të bërë këtë. 914 00:54:29,950 --> 00:54:34,020 Çfarë është e bukur është ka ky grup të tërë të funksioneve HTML ndihmëse 915 00:54:34,020 --> 00:54:37,090 të cilat bëjnë gjëra të ndryshme për ju, kështu që ju tashmë e pa e subjekteve 916 00:54:37,090 --> 00:54:41,980 funksionojnë këtu, por ata gjithashtu kanë një funksion të quajtur "spirancë" 917 00:54:41,980 --> 00:54:45,400 të cilat ju mund të shtypni në blog / e re 918 00:54:45,400 --> 00:54:49,550 dhe thonë: "Posto një blog të ri." 919 00:54:49,550 --> 00:54:51,850 Dhe kjo do të krijojë atë lidhje për ju, 920 00:54:51,850 --> 00:54:54,120 dhe kjo duket me të vërtetë i parëndësishëm për të bërë, por kjo është e bukur, 921 00:54:54,120 --> 00:54:58,720 sepse mendoj që ju jeni duke lëvizur faqen tuaj te internetit nga 1 domain në një tjetër. 922 00:54:58,720 --> 00:55:01,390 Dhe në qoftë se ju vetëm shkruajtur nga urls veten, 923 00:55:01,390 --> 00:55:04,350 atëherë ju do të duhet të ndryshojë të gjitha URL. 924 00:55:04,350 --> 00:55:06,850 Apo ndoshta ju u zhvendos atë nga 1 subfolder në një tjetër subfolder. 925 00:55:06,850 --> 00:55:08,790 Ju do të duhet të ndryshojë të gjitha ato URLs veten, 926 00:55:08,790 --> 00:55:12,180 dhe kjo është më zbavitëse. 927 00:55:12,180 --> 00:55:14,510 Ju mund të përdorni këtë spirancë të drejtë këtu, 928 00:55:14,510 --> 00:55:18,950 dhe ju mund të ndryshojë domain ose prefiksin subfolder 929 00:55:18,950 --> 00:55:20,640 në file e konfigurimit një herë, 930 00:55:20,640 --> 00:55:22,980 dhe atëherë ai do të zbatohet se kudo, dhe kjo është, përsëri, 931 00:55:22,980 --> 00:55:26,930 një shembull i madh i nuk e përsëris veten, tharje kodin tuaj jashtë. 932 00:55:26,930 --> 00:55:30,370 Kudo që të jeni duke përsëritur veten, të përpiqet dhe të ekstrakt në një lloj të file e konfigurimit 933 00:55:30,370 --> 00:55:34,160 ose në një funksion të ndryshëm dhe atë e kanë trajtuar atë për ju. 934 00:55:34,160 --> 00:55:42,930 >> Dhe gjëja e fundit që kam kërkuar për të ju tregojnë se ishte 935 00:55:42,930 --> 00:55:50,250 mendoj ne jemi kthyer në këtë post, dhe unë e kishte në përbërje disa ese të vërtetë të gjatë, 936 00:55:50,250 --> 00:55:52,670 por kam harruar për të përfshirë autorin time. 937 00:55:52,670 --> 00:55:55,210 Tani kur unë klikoni "Submit Post," 938 00:55:55,210 --> 00:55:57,270 Unë vetëm humbur çdo gjë. 939 00:55:57,270 --> 00:56:00,000 Jo! Të vërtetë e trishtuar. 940 00:56:00,000 --> 00:56:03,870 Pra, si mund të merren me këtë? 941 00:56:03,870 --> 00:56:06,070 Kjo është ajo që ne bëjmë. 942 00:56:06,070 --> 00:56:09,340 Ajo që ne bëjmë është këtu për këto të dhëna dhe të zonës tekst funksioneve, 943 00:56:09,340 --> 00:56:12,700 në qoftë se ne të përfshijë një parametër të dytë, atëherë vlera e këtij parametri të dytë 944 00:56:12,700 --> 00:56:16,620 do të jetë ajo që fusha do të jetë e populluar fillimisht me. 945 00:56:16,620 --> 00:56:23,570 Ajo që ne mund të bëjmë është në kontrollues tonë blog, 946 00:56:23,570 --> 00:56:25,360 ne mund të lidhin një tjetër ndryshore. 947 00:56:25,360 --> 00:56:27,050 E quajti atë "vlerat" ndoshta. 948 00:56:27,050 --> 00:56:30,620 Dhe të kalojë në postin grup, fjalë për fjalë. 949 00:56:30,620 --> 00:56:32,620 Kjo do të thotë se në qoftë se validation dështuar, 950 00:56:32,620 --> 00:56:36,570 kalojnë për mua array postimi që kam paraqitur nga kërkesa e fundit, 951 00:56:36,570 --> 00:56:38,420 dhe në këtë mënyrë unë mund të përdorni vlerat nga paraqitja ime e fundit 952 00:56:38,420 --> 00:56:44,540 për të ripopulluar fushat. 953 00:56:44,540 --> 00:56:49,600 Tani unë mund të bëjë diçka si vlera autori 954 00:56:49,600 --> 00:56:55,180 dhe vlerat e trupit, dhe në këtë mënyrë tani në qoftë se unë bëj disa gjëra të rastit 955 00:56:55,180 --> 00:57:01,490 dhe klikoni "Submit Post", atëherë ajo qëndron atje. 956 00:57:01,490 --> 00:57:03,830 Por ne jemi duke shkuar për të drejtuar në një problem tjetër. 957 00:57:03,830 --> 00:57:07,670 Që punon, por në qoftë se unë të shkoni në faqen herën e parë, 958 00:57:07,670 --> 00:57:09,720 ajo do të rrëzuar, dhe kjo është për shkak herë të parë 959 00:57:09,720 --> 00:57:13,730 ne do të shkojmë në faqe, ky variabël pas ende nuk është përcaktuar. 960 00:57:13,730 --> 00:57:18,170 Është null. Ajo nuk ekziston. 961 00:57:18,170 --> 00:57:21,630 >> Dhe ajo që dua të them është, nëse ekziston ky kyç, 962 00:57:21,630 --> 00:57:27,750 pastaj kthehen vlerën e kësaj grup, 963 00:57:27,750 --> 00:57:30,450 por në qoftë se çelësi nuk ekziston, pastaj të kthehen një varg bosh. 964 00:57:30,450 --> 00:57:32,150 Kjo është funksionaliteti ne duam këtu. 965 00:57:32,150 --> 00:57:34,690 Ne duam të kontrolloni nëse çelësi ekziston para se të përpiqet për të hyrë në rrjet, 966 00:57:34,690 --> 00:57:36,580 dhe për fat të mirë të mjaftueshme, 967 00:57:36,580 --> 00:57:38,570 Kohana gjithashtu na jep një funksion ndihmë e përshtatshme për këtë. 968 00:57:38,570 --> 00:57:41,040 Ata e kanë këtë suitë e tërë e funksioneve 969 00:57:41,040 --> 00:57:43,660 me emrin ARR, të shkurtër për grup, 970 00:57:43,660 --> 00:57:45,800 dhe ata 1 funksion të quajtur "të marrë", 971 00:57:45,800 --> 00:57:48,690 dhe ju mund të kalojë në rrjet, 972 00:57:48,690 --> 00:57:50,740 dhe ju mund të kalojë në emër të kyç. 973 00:57:50,740 --> 00:57:54,330 Pastaj në thelb ajo që do të bëni është se do të përpiqet të marrë atë çelës, 974 00:57:54,330 --> 00:57:56,470 por në qoftë se çelësi nuk ekziston në rrjet, 975 00:57:56,470 --> 00:58:00,900 atëherë ajo do të kthehet bosh, ose ne mund të caktojmë edhe një, unë besoj, 976 00:58:00,900 --> 00:58:03,500 e cila është e bukur. 977 00:58:09,740 --> 00:58:13,150 Tani në qoftë se ne bëjmë të njëjtën gjë përsëri, 978 00:58:13,150 --> 00:58:15,970 atëherë ju shihni tani ajo punon herë të parë përreth, 979 00:58:15,970 --> 00:58:18,080 dhe përsëri, në qoftë se ne të shkruani disa sende të rastit 980 00:58:18,080 --> 00:58:23,210 dhe të përpiqen dhe të paraqesë, atëherë ajo qëndron atje. 981 00:58:23,210 --> 00:58:31,640 >> Dhe unë mendoj unë mund të ju tregojnë se si të shtoni një template të vërtetë shpejt. 982 00:58:31,640 --> 00:58:36,140 Ajo që ne mund të bëjmë së pari të thotë që ne mund të shtoni një pamje të re të quajtur "template.php" 983 00:58:36,140 --> 00:58:38,890 brenda dosje Views, 984 00:58:38,890 --> 00:58:44,730 dhe atë që unë jam duke shkuar për të bërë është që unë jam duke shkuar për të shtypur nga diçka që quhet "përmbajtje" 985 00:58:44,730 --> 00:58:49,130 e cila do të jetë përmbajtja e mia kryesore. 986 00:58:49,130 --> 00:58:51,380 Dhe ndoshta në fund të fund unë jam duke shkuar për të shtuar, të themi, 987 00:58:51,380 --> 00:58:53,340 drejtën e autorit. 988 00:58:53,340 --> 00:58:56,150 [Pyetja e padëgjueshme studenti] 989 00:58:56,150 --> 00:58:58,050 [Brandon Liu] Ndoshta kjo është një template super themelore që unë dua të përdorni. 990 00:58:58,050 --> 00:59:02,840 Unë dua që të ketë një dosje me të drejtën e autorit tim në çdo faqe të vetme, 991 00:59:02,840 --> 00:59:05,560 dhe tani ajo që unë jam duke shkuar për të bërë brenda kontrollues tim 992 00:59:05,560 --> 00:59:07,740 tani është në vend të thënë, "shtrihet Controller" 993 00:59:07,740 --> 00:59:11,870 Unë jam duke shkuar për të thënë, "shtrihet Controller_Template," 994 00:59:11,870 --> 00:59:15,890 dhe tani në vend të thënë, "trupi përgjigje është e barabartë me këtë pikëpamje," 995 00:59:15,890 --> 00:59:24,110 Unë jam duke shkuar për të thënë, "kjo përmbajtje template është -" 996 00:59:24,110 --> 00:59:27,690 dhe unë mendoj se - mund ta vënë një shenjë të barabartë? 997 00:59:27,690 --> 00:59:32,710 I harroj. Po, kam menduar kështu. 998 00:59:32,710 --> 00:59:37,710 Dhe tani kam vendosur që ndryshueshme përmbajtje të barabartë me pamje. 999 00:59:37,710 --> 00:59:40,960 Unë mund të bëjë të njëjtën gjë këtu. 1000 00:59:49,620 --> 00:59:57,170 Dhe tani, nëse unë rifreskoni, ju mund të shihni tani këtë të drejtën e autorit është shtuar atje, 1001 00:59:57,170 --> 01:00:00,350 dhe vetëm të bëjë disa postim të rastit, 1002 01:00:00,350 --> 01:00:06,760 dhe pastaj, përsëri, ju duhet të shihni se është e drejta e autorit në fund shumë të faqes. 1003 01:00:06,760 --> 01:00:10,730 >> Great. Kjo është e gjitha që kam kërkuar për të treguar ju djema. 1004 01:00:10,730 --> 01:00:14,970 [Duartrokitje] 1005 01:00:14,970 --> 01:00:18,950 Ndonjë pyetje? 1006 01:00:18,950 --> 01:00:21,000 [CS50.TV]