1 00:00:00,000 --> 00:00:02,150 >> [Seminar] [Kohana: Kerge PHP Framework] 2 00:00:02,150 --> 00:00:04,000 [Brandon Liu] [Harvard University] 3 00:00:04,000 --> 00:00:07,270 [See on CS50.] [CS50.TV] 4 00:00:07,270 --> 00:00:09,130 >> Hi everyone. Minu nimi on Brandon. 5 00:00:09,130 --> 00:00:11,000 Ma olen noorem siin kolledži teed infotehnoloogia ja täna me räägime 6 00:00:11,000 --> 00:00:14,460 Kohana, mis on PHP web arendamise raames. 7 00:00:14,460 --> 00:00:17,260 Täna saab olema live kodeerimine seminar, 8 00:00:17,260 --> 00:00:21,000 nii et ma olen põhiliselt kavatse kulutada 5-10 minutit, selgitades, mida Kohana on 9 00:00:21,000 --> 00:00:25,000 ja siis ma sõna otseses mõttes läheb ehitada super lihtne blog 10 00:00:25,000 --> 00:00:28,570 teil on siin sõna otseses mõttes nullist. 11 00:00:28,570 --> 00:00:32,229 Me läheme alla koodi Kohana veebilehel, 12 00:00:32,229 --> 00:00:35,000 ja me ei kavatse alustada hoone blogis, ja loodetavasti see saab olema väga õpetlik, 13 00:00:35,000 --> 00:00:37,000 sest te näete, võib-olla äkki ma teen vigu, 14 00:00:37,000 --> 00:00:39,000 ja te näete mind sisse nõuda neilt, 15 00:00:39,000 --> 00:00:42,040 või näete minu mõttekäigust kui ma ehitada läbi selle blogi 16 00:00:42,040 --> 00:00:44,000 ja vahepeal võite ka saada tuttav raames ise. 17 00:00:44,000 --> 00:00:48,000 Loodetavasti see saab olema väga õpetlik harjutus. 18 00:00:48,000 --> 00:00:51,370 >> Esiteks, mida täpselt on raamistik? 19 00:00:51,370 --> 00:00:54,000 Kui oled olnud võttes CS50 siiani, siis pole tõesti töötas iga 20 00:00:54,000 --> 00:00:56,000 raamistikud veel, ja asi on selles. 21 00:00:56,000 --> 00:01:00,000 Sa oled ilmselt teinud 1 veebiarendust pset juba, 22 00:01:00,000 --> 00:01:03,000 ja ütleme, et te jätkuvalt ehitada veebilehed ja säilitada hoone veebilehed. 23 00:01:03,000 --> 00:01:05,000 Te hakkate märkama paar asja. 24 00:01:05,000 --> 00:01:07,000 Esimene asi, mida märkad on see, et sa oled ilmselt teevad sama asja 25 00:01:07,000 --> 00:01:09,150 ikka ja jälle kogu aeg, 26 00:01:09,150 --> 00:01:13,000 asjad puhastamiseks kasutaja andmeid sisestada, 27 00:01:13,000 --> 00:01:17,250 asjad korraldada faile teatud viisil. 28 00:01:17,250 --> 00:01:19,000 Teine asi, mida sa ilmselt ka teate, et teie kood 29 00:01:19,000 --> 00:01:21,000 võib hakata saama väga räpane, 30 00:01:21,000 --> 00:01:24,000 ja võite jätta see räpane ja lihtsalt on väga raske säilitada seda, 31 00:01:24,000 --> 00:01:26,000 või võite alustada struktureerida oma kood ja teha see modulaarne 32 00:01:26,000 --> 00:01:28,510 teatud viisil, et muuta see rohkem hooldatav. 33 00:01:28,510 --> 00:01:31,020 >> See on koht, kus web raamistike põhiliselt tulid sisse 34 00:01:31,020 --> 00:01:33,680 Need inimesed, kes olid ehitanud palju veebisaite, nad ütlesid, 35 00:01:33,680 --> 00:01:35,820 "Meil ei ole vaja uuesti teha seda iga kord, kui me ehitada veebilehel." 36 00:01:35,820 --> 00:01:39,050 "Miks me ei võiks lihtsalt teha pakett, mis teeb kõik need asjad teile 37 00:01:39,050 --> 00:01:41,250 iga kord, kui soovite ehitada koduleheküljel? " 38 00:01:41,250 --> 00:01:43,030 Ja nii, et kui sa teed uue veebilehe, 39 00:01:43,030 --> 00:01:45,880 sa lihtsalt keskenduma sellele, mida täpselt selle konkreetse veebilehel on. 40 00:01:45,880 --> 00:01:48,630 Sa ei pea kordama kõiki eri konfiguratsiooni 41 00:01:48,630 --> 00:01:53,070 ja eraldamise koode ja ümberkirjutamist kood 42 00:01:53,070 --> 00:01:56,180 et sa tihti teha, kui sa üritad veebilehed. 43 00:01:56,180 --> 00:01:59,410 Mõte on selles, et raamistik võimaldab teil kirjutada kõrgema taseme koodi 44 00:01:59,410 --> 00:02:01,030 ilma et peaks muretsema, madalama taseme üksikasju. 45 00:02:01,030 --> 00:02:03,670 Madalama taseme detail võib olla midagi sellist 46 00:02:03,670 --> 00:02:07,250 tegelevad puhastamine kasutaja andmeid sisestada. 47 00:02:07,250 --> 00:02:09,320 See on midagi, mida sa ei peaks tõesti muretsema. 48 00:02:09,320 --> 00:02:12,370 Sa peaksid keskenduma sellele, mida teie web jaotus on tegelikult umbes. 49 00:02:12,370 --> 00:02:14,790 See välistab palju trafaretset kood. 50 00:02:14,790 --> 00:02:16,640 On arhitektuuri oma projekti. 51 00:02:16,640 --> 00:02:18,680 >> Populaarseim oleks Model-View-Controller, 52 00:02:18,680 --> 00:02:20,380 mis ma lähen rääkima teine. 53 00:02:20,380 --> 00:02:22,790 Ja palju kordi nende raamistike kehastavad protseduuride kogum, 54 00:02:22,790 --> 00:02:25,750 eeskirjade ja heade tavade teil kasutada 55 00:02:25,750 --> 00:02:28,190 nii et kui sa vastu veebi raamistik 56 00:02:28,190 --> 00:02:30,050 teil on kirjutada oma koodi teatud viisil, 57 00:02:30,050 --> 00:02:32,430 ja see on üldiselt kokku lepitud põhimõtete kogum 58 00:02:32,430 --> 00:02:34,290 ühenduse poolt, mis on üldtunnustatud, et olla 59 00:02:34,290 --> 00:02:36,230 hea viis kirjalikult koodi. 60 00:02:36,230 --> 00:02:38,260 Ta teeb oma koodi rohkem hooldatav, kasutatavuse, 61 00:02:38,260 --> 00:02:40,030 nii edasi ja nii edasi. 62 00:02:40,030 --> 00:02:42,740 Ja lõpuks, mida ma tahan rõhutada, raamistikud 63 00:02:42,740 --> 00:02:45,980 versus raamatukogud on see mõte inversioon kontroll, ja asi on selles. 64 00:02:45,980 --> 00:02:48,430 Erinevus raamatukogu ja raamistik on, et raamatukogu 65 00:02:48,430 --> 00:02:51,990 sa oled ikka kirjalikult Põhiprogrammi 66 00:02:51,990 --> 00:02:54,460 ja sa oled omamoodi tuginevale raamatukogu 67 00:02:54,460 --> 00:02:56,810 ja kutsus teegi midagi teha. 68 00:02:56,810 --> 00:02:58,180 Erinevus raamatukogu ja raamistik 69 00:02:58,180 --> 00:03:01,620 on, et raamistik hakkab läbi kontrolli 70 00:03:01,620 --> 00:03:03,260 ja ta tugineb oma kood, 71 00:03:03,260 --> 00:03:06,190 nii et sa ei mõtle seda - see on põhjus, miks seda nimetatakse raamistik - 72 00:03:06,190 --> 00:03:09,700 raamistik annab selle raami ja struktuuri oma kood, 73 00:03:09,700 --> 00:03:11,320 ja te täidate augud, 74 00:03:11,320 --> 00:03:13,990 ja see muutub selgemaks teise 75 00:03:13,990 --> 00:03:16,670 kui sa näed mind hakkate kirjutama koodi konteksti raames. 76 00:03:16,670 --> 00:03:19,130 Sa näed, et ma olen täites lüngad, 77 00:03:19,130 --> 00:03:22,450 ja raamistik on selline kontrolliv kõik liigub tükki, 78 00:03:22,450 --> 00:03:27,420 ja ma pean panema tükid õiges kohas. 79 00:03:27,420 --> 00:03:29,360 >> Täna me ei kavatse rääkida Kohana, 80 00:03:29,360 --> 00:03:31,610 mis on üks paljudest PHP raamistikud. 81 00:03:31,610 --> 00:03:34,550 On web raamistike ja seal on need peaaegu iga keele, 82 00:03:34,550 --> 00:03:38,330 ja ma valin Kohana kuna Kohana on vaieldamatult 83 00:03:38,330 --> 00:03:43,250 ja üldtunnustatud lihtsamaid PHP raamistik kiirenemist. 84 00:03:43,250 --> 00:03:45,940 See on kõige kerge. 85 00:03:45,940 --> 00:03:48,470 On ka teisi ones out there, mis tulevad koos palju, palju rohkem funktsioone, 86 00:03:48,470 --> 00:03:51,590 kuid need kipuvad olema raske kiirenemist. 87 00:03:51,590 --> 00:03:54,920 Ja lõpuks, Kohana kasutab MVC arhitektuur. 88 00:03:54,920 --> 00:03:57,780 See on kerge piisavalt, et me saame sõna otseses mõttes ehitada projekti 89 00:03:57,780 --> 00:03:59,620 siinsamas ees oma silmad, ja sa saad päris palju 90 00:03:59,620 --> 00:04:02,780 jälgida mööda üsna kergesti. 91 00:04:02,780 --> 00:04:04,420 >> Mis on MVC arhitektuuri? 92 00:04:04,420 --> 00:04:06,540 Ta seisab Model-View-Controller, 93 00:04:06,540 --> 00:04:09,560 ja võib-olla, kui sa arvad, kood olete kirjutanud seni 94 00:04:09,560 --> 00:04:11,280 mõned veebi arengut psets 95 00:04:11,280 --> 00:04:14,710 võib teil olla võimalik näha osa sellest, kuid tavaliselt kui hakkate kirjalikult 96 00:04:14,710 --> 00:04:16,500 keerukama veebirakenduse, 97 00:04:16,500 --> 00:04:21,209 eristades kõnealuste 3 segmenti muutub üha ilmsemaks. 98 00:04:21,209 --> 00:04:26,740 I sätestatud MVC siin omamoodi nagu pinu 99 00:04:26,740 --> 00:04:29,920 ja tihti sa kuuled inimesed räägivad korstnad veebiarendust, 100 00:04:29,920 --> 00:04:33,760 ja see on illustreerida idee, et 101 00:04:33,760 --> 00:04:37,510 Iga kihi iga komponendi tõesti üritab suhelda ainult 102 00:04:37,510 --> 00:04:40,750 vahemikus 2 muid komponente. 103 00:04:40,750 --> 00:04:44,550 Keegi pöördub oma kodulehel klient või brauser. 104 00:04:44,550 --> 00:04:48,870 Nad suhelda oma programmi kaudu eesmärgiga kood. 105 00:04:48,870 --> 00:04:50,500 Vaata koodi suhtleb kontroller. 106 00:04:50,500 --> 00:04:52,400 Kontroller suhtleb mudel, 107 00:04:52,400 --> 00:04:55,090 ja mudeli suhtleb SQL andmebaasi. 108 00:04:55,090 --> 00:04:59,670 Ja ei ole hopping vahel kui sa kirjutad oma koodi korralikult. 109 00:04:59,670 --> 00:05:01,670 >> Mida need asjad? 110 00:05:01,670 --> 00:05:06,020 Mudel sisuliselt on tükk kood, mis tegeleb oma andmeid. 111 00:05:06,020 --> 00:05:09,100 Midagi, mis tegeleb oma andmebaasi, esemed, et teil salvestada, 112 00:05:09,100 --> 00:05:11,280 või allalaadimise need objektid andmebaasis 113 00:05:11,280 --> 00:05:13,450 et kõik on käideldud mudel. 114 00:05:13,450 --> 00:05:15,290 Äkki teil on objektid andmebaasis. 115 00:05:15,290 --> 00:05:17,700 Me luua mudel, millel on pistmist ametikohta, 116 00:05:17,700 --> 00:05:19,760 nii post võib olla atribuudid ta. 117 00:05:19,760 --> 00:05:23,900 Teil võib olla funktsioonid umbes ladustamiseks neid postitusi või allalaadimise postitust 118 00:05:23,900 --> 00:05:26,270 või filtreerides postitusi ja nii edasi ja nii edasi, 119 00:05:26,270 --> 00:05:28,880 ja see on kogu kood, mis on käitlemiseks mudel. 120 00:05:28,880 --> 00:05:31,780 Kontroller on omamoodi rakenduse loogikat, 121 00:05:31,780 --> 00:05:37,910 ja palju erinevaid asju võib minna rakenduse loogikat. 122 00:05:37,910 --> 00:05:39,790 Kui sa räägid, et erinevate API, 123 00:05:39,790 --> 00:05:42,310 , mis võib olla, kui olete tegelevad rakenduse loogikat. 124 00:05:42,310 --> 00:05:47,990 Kui sa üritad olla tuua andmeid mitmest eri mudelid 125 00:05:47,990 --> 00:05:51,540 ja on neid kombineerida kuidagi, et sageli võib käidelda kontroller. 126 00:05:51,540 --> 00:05:53,820 Näiteks, Facebook, kui te sõber keegi, 127 00:05:53,820 --> 00:05:58,500 siis võib-olla, et tegu, millega selle suhte 128 00:05:58,500 --> 00:06:00,490 võib teha kontroller. 129 00:06:00,490 --> 00:06:04,350 >> Ja lõpuks, vaade on kood, mis genereerib mida sa tegelikult näha. 130 00:06:04,350 --> 00:06:07,410 Palju kordi ma arvan CS50 psets 131 00:06:07,410 --> 00:06:10,050 nad ei soodusta te eraldi need 3 asja. 132 00:06:10,050 --> 00:06:12,430 Sa ilmselt on see suur, pikk faili kus tipus 133 00:06:12,430 --> 00:06:15,130 teete mõne SQL päringu ja võibolla teha mõned töötlemine 134 00:06:15,130 --> 00:06:17,020 on andmed, mida laaditakse andmebaasi 135 00:06:17,020 --> 00:06:19,370 ja siis on kõik oma HTML allosas. 136 00:06:19,370 --> 00:06:22,840 Ja võib juhtuda, et kui te luua rohkem ja rohkem lehekülge 137 00:06:22,840 --> 00:06:25,790 et sa lähed, et on natuke koodi kordamine ja ka 138 00:06:25,790 --> 00:06:29,600 asi on sinu faili saab tõesti suur ja pikk 139 00:06:29,600 --> 00:06:32,370 ja muutub kohmakas hallata. 140 00:06:32,370 --> 00:06:34,500 Põhjus, miks MVC on nii hästi pidada 141 00:06:34,500 --> 00:06:36,120 on mitmeid põhjuseid. 142 00:06:36,120 --> 00:06:38,110 Esimene asi, mida nimetatakse eraldamiseks muresid 143 00:06:38,110 --> 00:06:40,370 mis on idee, et kui teil on - 144 00:06:40,370 --> 00:06:43,520 ideaalis 1 tükk kood peaks tegema 1 asi ja seda teha väga hästi, 145 00:06:43,520 --> 00:06:47,210 ja te ei tohi ühendada tükid kood, mis teha erinevaid asju. 146 00:06:47,210 --> 00:06:49,230 Näiteks vaadata koodi ja mudeli kood, 147 00:06:49,230 --> 00:06:51,040 nad tõesti ei pea olema seotud. 148 00:06:51,040 --> 00:06:53,290 Nad ei pea olema samas faili, nii et kui saad, siis eraldage nad välja 149 00:06:53,290 --> 00:06:55,300 nii et see on lihtne hooldada. 150 00:06:55,300 --> 00:06:57,130 >> Teine asi on koodi taaskasutust. 151 00:06:57,130 --> 00:06:59,770 Sa võid leida ennast kirjalikult sama SQL päring või teed 152 00:06:59,770 --> 00:07:03,060 sarnaseid küsimusi, mida võiks ammutatava arvesse 1 funktsioon, 153 00:07:03,060 --> 00:07:05,440 ja see on idee mudeleid ja kontrollerid 154 00:07:05,440 --> 00:07:09,690 millel see eraldi funktsioon, et saab taaskasutada erinevates kohtades oma projekti. 155 00:07:09,690 --> 00:07:12,420 Ja lõpuks, mis on seotud kuivatamine oma kood, 156 00:07:12,420 --> 00:07:14,700 või mitte, korrates ennast, ei korda ennast. 157 00:07:14,700 --> 00:07:18,090 See on väga arusaadav arengut. 158 00:07:18,090 --> 00:07:20,110 Kui te ei, te ei taha korrata ennast, sest kui te kordate ennast, 159 00:07:20,760 --> 00:07:23,400  see on palju kulukam hooldada. 160 00:07:23,400 --> 00:07:26,040 Kui te soovite muuta 1 asi, mida sa pead muutma seda kõikjal, 161 00:07:26,040 --> 00:07:30,230 ja mis põhjustab vigu ja see on kohutav. 162 00:07:30,230 --> 00:07:32,010 >> Olgu. 163 00:07:32,010 --> 00:07:37,270 Kõik küsimused siiani umbes Kohana üldse? 164 00:07:37,270 --> 00:07:39,200 Suur. 165 00:07:39,200 --> 00:07:42,300 Nüüd me ei kavatse sukelduda live kodeerimine istungil 166 00:07:42,300 --> 00:07:48,050 ja loodetavasti kõik läheb hästi. 167 00:07:57,200 --> 00:08:00,050 Ma põhimõtteliselt ehitada kodulehel 168 00:08:00,050 --> 00:08:03,910 üks minu kaugserverite ja nii saate teie ka 169 00:08:03,910 --> 00:08:06,310 vaata veebilehte ja tutvuda veebilehel 170 00:08:06,310 --> 00:08:10,990 ja ka keskkond on parem Seadistatud kui minu serveri masin, 171 00:08:10,990 --> 00:08:14,580 sest see töötab Linux asemel OS X. 172 00:08:14,580 --> 00:08:16,260 Me sõna otseses mõttes, et hakkan. 173 00:08:16,260 --> 00:08:18,110 KohanaFramework.org. 174 00:08:18,110 --> 00:08:21,350 Ma lähen alla koodi veebilehel. 175 00:08:21,350 --> 00:08:24,610 Ma lähen kopeerige link aadress, 176 00:08:24,610 --> 00:08:29,770 mine minu server, alla laadida, 177 00:08:29,770 --> 00:08:33,000 ja ma lähen, et eraldada see. 178 00:08:38,330 --> 00:08:45,710 >> [Student] Mis on suurim saate muuta teksti? 179 00:08:45,710 --> 00:08:47,330 [Brandon Liu] Kas see on parem? 180 00:08:47,330 --> 00:08:50,070 [Student] Kas see on teostatav? >> [Brandon Liu] Jah, see on hea. 181 00:08:50,070 --> 00:08:54,500 Ma allalaetud ZIP faili ja mahalaadimist, et arvesse kataloog nimega Kohana, 182 00:08:54,500 --> 00:08:58,820 ja me ümber, et CS50-Kohana, 183 00:08:58,820 --> 00:09:01,140 ja lähme sisse 184 00:09:01,140 --> 00:09:03,610 Lahe. 185 00:09:03,610 --> 00:09:06,870 Siin näed hunnik erinevaid faile. 186 00:09:06,870 --> 00:09:10,140 Enamus teist ei saa eirata - Me ei lähe läbi iga faili, mis on siin 187 00:09:10,140 --> 00:09:13,130 sest meie ajalised piirangud, 188 00:09:13,130 --> 00:09:16,310 aga üldiselt, kui installite Kohana, esimene asi, mida teha 189 00:09:16,310 --> 00:09:23,210 on sul minna kataloogist, 190 00:09:23,210 --> 00:09:26,050 ja sa põhimõtteliselt teha mõned keskkonnas teste ja puha 191 00:09:26,050 --> 00:09:28,640 veenduge, et teie keskkond on õigesti seadistatud sõitma Kohana 192 00:09:28,640 --> 00:09:31,450 ja veenduge, et kõik on korras. 193 00:09:31,450 --> 00:09:35,510 Näete enamik asju möödas, kuid üldiselt alati tekib see 1 probleem 194 00:09:35,510 --> 00:09:38,180 kus ta väidab, et mõned pole kirjutatav, 195 00:09:38,180 --> 00:09:40,410 ja see on, sest mõned load. 196 00:09:40,410 --> 00:09:43,080 Ma ei tea, kui palju te olete õppinud Failiõiguste CS50, 197 00:09:43,080 --> 00:09:47,920 aga kui sa veebi arengut, sa lähed, et tekib see küsimus palju. 198 00:09:47,920 --> 00:09:58,340 Ma lähen tegema seda kirjutatav 199 00:09:58,340 --> 00:10:03,390 ja ma arvan, et on ka - seal me läheme. 200 00:10:03,390 --> 00:10:07,040 >> Ok, nii et nüüd te näete kõik möödas, 201 00:10:07,040 --> 00:10:10,000 ja nüüd ta ütleb sulle, et ümber install faili. 202 00:10:10,000 --> 00:10:15,630 Ma lähen, et liikuda install.php fail installed.php, 203 00:10:15,630 --> 00:10:19,610 ja nüüd, kui ma värskendada, 204 00:10:19,610 --> 00:10:22,810 see annab mulle viga, ja see on koht, kus silumine on sisse 205 00:10:22,810 --> 00:10:25,610 See on koht, kus saab näha, mis tegelikult juhtub. 206 00:10:25,610 --> 00:10:28,460 Asi on selles, vaikimisi Kohana eeldab, et 207 00:10:28,460 --> 00:10:31,480 Teie projekt on juurkataloogi oma domeen, 208 00:10:31,480 --> 00:10:35,920 nii et see ootab sind olevat demo.brandonkliu.com. 209 00:10:35,920 --> 00:10:37,540 Me peame ütlema seda, et see on tegelikult hoopis alamkataloogi. 210 00:10:37,540 --> 00:10:39,820 See on alamkausta CS50 Kohana. 211 00:10:39,820 --> 00:10:42,640 Asi on selles, et see on valesti tõlgendanud CS50-Kohana 212 00:10:42,640 --> 00:10:45,680 kui midagi muud, mis ma seletan sulle teine. 213 00:10:45,680 --> 00:10:49,910 Aga ma peaks ütlema, et see on midagi, mis on ootuspärane. 214 00:10:49,910 --> 00:10:53,700 Mida me teeme, on me läheme sellesse kausta nimega bootstrap.php, 215 00:10:53,700 --> 00:10:59,260 mis on konfiguratsiooni kausta kus on palju erinevaid asju, on loodud. 216 00:10:59,260 --> 00:11:01,570 Ma avan, et üles. 217 00:11:01,570 --> 00:11:09,790 Siis võib-olla üks esimesi asju, mida ma teen, on vahetada ajavööndit. 218 00:11:09,790 --> 00:11:13,910 >> Ja siis vaatame. 219 00:11:13,910 --> 00:11:15,180 Ahaa! Siin. 220 00:11:15,180 --> 00:11:18,690 Seal on hunnik erinevaid konfiguratsiooni lood siin, 221 00:11:18,690 --> 00:11:21,700 aga see, mida ma otsin on see asi, mida nimetatakse baas URL, 222 00:11:21,700 --> 00:11:24,570 ja vaikimisi saan aru seatud Kohana, 223 00:11:24,570 --> 00:11:29,020 aga ma ei muuda seda, et CS50-Kohana, 224 00:11:29,020 --> 00:11:32,880 ja ma arvan, et tuleks parandada. 225 00:11:32,880 --> 00:11:34,150 Jah, väga. 226 00:11:34,150 --> 00:11:39,530 Vaikimisi näha, et see töötab, see ütleb: "Hello World". 227 00:11:39,530 --> 00:11:42,930 Kust see tuli? Kuidas me saame Hello World? 228 00:11:42,930 --> 00:11:47,640 Kui täpselt on kood, tegelikult kirjutas? 229 00:11:47,640 --> 00:11:50,240 Selleks, et mõista, et ma tutvustan seda kontseptsiooni nimetatakse suunamises. 230 00:11:50,240 --> 00:11:52,590 Päris palju kõik web raamistikud on mõiste nimega suunamises, 231 00:11:52,590 --> 00:11:57,230 mis on tükk tarkvara, mis kaardistab teatud URL 232 00:11:57,230 --> 00:12:01,550 teatud tükk koodi oma raamistik. 233 00:12:01,550 --> 00:12:07,510 Näiteks, kui teil on mõni link ja te lähete mõned URL nagu foo.com / blog / all 234 00:12:07,510 --> 00:12:11,170 siis mida raames kavatseb teha - või vähemalt see, mida Kohana kavatseb teha - 235 00:12:11,170 --> 00:12:15,540 on, et see saab leida klassi, mida nimetatakse kontroller blogi 236 00:12:15,540 --> 00:12:18,720 ja see läheb käivitada funktsioon nimega tegevus üldse. 237 00:12:18,720 --> 00:12:20,160 Ma tean, millest ma räägin klassi ja funktsioone, 238 00:12:20,160 --> 00:12:23,860 ja ma tean, et te pole kaetud klassid ja funktsioonid 239 00:12:23,860 --> 00:12:26,470 aastal CS50 veel, kuid nüüd, 240 00:12:26,470 --> 00:12:29,800 sa ei mõtle klasside lihtsalt funktsioonide rühma, 241 00:12:29,800 --> 00:12:32,900 viis rühmituse ülesandeid koos. 242 00:12:32,900 --> 00:12:37,690 See on tõesti kõik, mida vaja teada. 243 00:12:37,690 --> 00:12:43,120 >> Nüüd, kui me vaatame meie kataloogi struktuuri, 244 00:12:43,120 --> 00:12:47,110 sees taotluse kaust on teise kausta nimega klassides 245 00:12:47,110 --> 00:12:49,200 ja muud kaustad kutsutakse Controller ja mudel. 246 00:12:49,200 --> 00:12:52,530 Kui sa vaatad sees Controller kausta 247 00:12:52,530 --> 00:12:56,330 me näeme, et seal on fail nimega Tere tulemast, 248 00:12:56,330 --> 00:13:00,370 ja te näete, siin on klass nimega Controller Tere, 249 00:13:00,370 --> 00:13:02,340 ja seal on funktsioon nimega Action Index, 250 00:13:02,340 --> 00:13:06,360 ja mida ta teeb on see seab keha oma vastuses Hello World. 251 00:13:06,360 --> 00:13:08,730 See, kui kood on kirjutatud. 252 00:13:08,730 --> 00:13:11,610 Teine küsimus on, noh, ma ei lähe 253 00:13:11,610 --> 00:13:13,680 blah, blah, blah, / welcome / index. 254 00:13:13,680 --> 00:13:16,250 Kuidas ma sattusin? 255 00:13:16,250 --> 00:13:20,410 Noh, see on lihtsalt sellepärast, 256 00:13:20,410 --> 00:13:22,410 siin allosas meie bootstrap fail 257 00:13:22,410 --> 00:13:24,550 kui me seame meie liinidel 258 00:13:24,550 --> 00:13:26,570 näete, et nad panid mõned vaikimisi teile. 259 00:13:26,570 --> 00:13:28,990 Default kontroller on teretulnud. Vaiketegevuseks Index. 260 00:13:28,990 --> 00:13:31,600 Sellepärast, kui me paneme midagi seal see automaatselt läks Welcome kontroller 261 00:13:31,600 --> 00:13:33,940 ja indeks Action. 262 00:13:33,940 --> 00:13:37,460 >> Kõik mõtet nii palju? 263 00:13:37,460 --> 00:13:40,850 Nüüd saad teha rohkem kui lihtsalt minna Controller 264 00:13:40,850 --> 00:13:43,670 ja konkreetsed meetmed. 265 00:13:43,670 --> 00:13:48,480 Võite liigu parameetrid kontroller. 266 00:13:48,480 --> 00:13:56,390 Nii nagu näiteks 267 00:13:56,390 --> 00:14:04,070 Ma lähen lisada teise hagi selle töötleja näidata. 268 00:14:04,070 --> 00:14:09,130 Kutsume käesoleva meetme Echo, sest see läheb teile öelda mida iganes sa annad seda, 269 00:14:09,130 --> 00:14:17,510 ja nii ma põhimõtteliselt läheb haarata 270 00:14:17,510 --> 00:14:20,960 parameeter, mis toimub, mis saadetakse läbi mulle suunamises programmi 271 00:14:20,960 --> 00:14:24,440 ja nagu näete siin, 272 00:14:24,440 --> 00:14:28,440 see joon siin, näete, et 273 00:14:28,440 --> 00:14:31,270 See põhimõtteliselt tähendab, et olete kontroller, ja sul on /, 274 00:14:31,270 --> 00:14:33,480 ja teil on tegevus, ja sa pead teise /, 275 00:14:33,480 --> 00:14:39,140 ja mis saab olema parameetrid, ja kuna meil on see nimi ID 276 00:14:39,140 --> 00:14:42,450 nurksulgudes, mis tähendab, et me nimetades seda parameetrit ID. 277 00:14:42,450 --> 00:14:45,490 Hiljem minu kontroller kood, kui ma tahan, et haarata kinni selle parameetri 278 00:14:45,490 --> 00:14:51,790 Kas ma saan kasutada koodi kirjutasin, leida parameeter nimega ID. 279 00:14:51,790 --> 00:14:59,290 See on, mida ma tegin siin, ja ma lähen tagasi ja öelda, 280 00:14:59,290 --> 00:15:07,090 "Sa ütlesid, et". 281 00:15:07,090 --> 00:15:10,760 Ja nüüd, kui ma lähen oma veebilehel, 282 00:15:10,760 --> 00:15:19,550 Lähen cs50-kohana/welcome/echo/Helloooo-- 283 00:15:19,550 --> 00:15:21,420 oh, see on õige. 284 00:15:21,420 --> 00:15:23,930 Seal on 1 samm jätsin välja. 285 00:15:23,930 --> 00:15:27,020 See on osa elusate kodeeriv idee. 286 00:15:27,020 --> 00:15:36,100 >> Siin on 1 asi. Vaatame. 287 00:15:36,100 --> 00:15:38,870 Nii tavaliselt vaikimisi palju need veebirakendused 288 00:15:38,870 --> 00:15:42,820 teil lisada see index.php asi oma URL, 289 00:15:42,820 --> 00:15:46,410 sest mõte on index.php on omamoodi sisenemispunkti 290 00:15:46,410 --> 00:15:48,250 oma taotluse, kuid loomulikult 291 00:15:48,250 --> 00:15:50,110 mis on omamoodi tüütu on. 292 00:15:50,110 --> 00:15:53,790 Sa ei taha olla index.php ilmuvad URL, 293 00:15:53,790 --> 00:15:56,080 ja päris palju iga web raamistikku karbist 294 00:15:56,080 --> 00:15:58,440 on see index.php probleem, 295 00:15:58,440 --> 00:16:03,370 ja nii et sa pead võtma mõned meetmed, et oleks võimalik kõrvaldada seda. 296 00:16:03,370 --> 00:16:07,540 Ja nii sellisel juhul 297 00:16:07,540 --> 00:16:11,450 Mida me teeme, on me kasutada faili. htaccess, 298 00:16:11,450 --> 00:16:13,900 ja see on midagi, mis on omased Apache veebiserver, 299 00:16:13,900 --> 00:16:16,290 ja seda saab teha asju kirjutada URL 300 00:16:16,290 --> 00:16:19,350 ja ümbersuunamise URL ja nii edasi ja nii edasi, 301 00:16:19,350 --> 00:16:24,280 ja Kohana on kena piisavalt pakkuda malli. htaccess faili, mida saame kasutada. 302 00:16:24,280 --> 00:16:28,300 >> Nagu näete, seal on fail, seal nimetatakse example.htaccess, 303 00:16:28,300 --> 00:16:33,410 ja me kopeeri et. htaccess. 304 00:16:33,410 --> 00:16:36,950 Ma lähen, et avada seda ja seda muuta, 305 00:16:36,950 --> 00:16:40,840 ja põhimõtteliselt see hunnik erinevaid asju. 306 00:16:40,840 --> 00:16:45,320 Võti line võiksite pilk on siinsamas. 307 00:16:45,320 --> 00:16:49,840 Mõte on selles, et see loob reegel, mis ütleb, 308 00:16:49,840 --> 00:16:56,400 "Olgu, mida iganes sa kirjutad, nimedele index.php seda." 309 00:16:56,400 --> 00:16:58,710 Te näete, et. 310 00:16:58,710 --> 00:17:00,370 . * Tähistab midagi, sobib kõik, 311 00:17:00,370 --> 00:17:03,300 ja siis teine ​​osa on index.php / $ 0, 312 00:17:03,300 --> 00:17:07,410 ja $ 0 tähistab iganes sihib varem. 313 00:17:07,410 --> 00:17:09,500 Kas see on mõtet? 314 00:17:09,500 --> 00:17:12,190 Aga tõesti peamine asi, mida ma tahan muuta, on muuta see ümberkirjutamine baasi 315 00:17:12,190 --> 00:17:14,300 mis on URL baasi. 316 00:17:14,300 --> 00:17:17,780 See omamoodi eeldab kuhu töötades. 317 00:17:17,780 --> 00:17:22,560 Ma lähen lisada CS50 Kohana sellele 318 00:17:22,560 --> 00:17:26,530 ja nii nüüd kui ma eemaldada index.php, 319 00:17:26,530 --> 00:17:32,110 see peaks töötama, ja ma lähen, et lisada mõned numbrid 320 00:17:32,110 --> 00:17:36,380 näidata, et ta tõesti tegi tööd. 321 00:17:36,380 --> 00:17:38,130 Kõlab hästi. 322 00:17:38,130 --> 00:17:40,260 >> Tekkinud küsimusi? 323 00:17:40,260 --> 00:17:42,300 [Student] Kuidas ta teab, et teeb 123? 324 00:17:42,300 --> 00:17:44,120 Kas see on argument? 325 00:17:44,120 --> 00:17:46,560 Täpselt. Sa ei mõtle seda nagu argument. 326 00:17:46,560 --> 00:17:52,410 Aga imelik asi, aga see, et viis Kohana teeb seda 327 00:17:52,410 --> 00:17:54,910 on nad seda ei tee täpselt nagu argument. 328 00:17:54,910 --> 00:17:56,930 Sul on haarata seda niimoodi. 329 00:17:56,930 --> 00:18:01,030 Sul on haarata taotluse objekt ja küsida parameeter, mis on nime ID, 330 00:18:01,030 --> 00:18:03,240 ja see nimi ID pärineb et bootstrap fail 331 00:18:03,240 --> 00:18:06,990 et ma näitasin varem ja nimi ID Neil noolsulgudega, 332 00:18:06,990 --> 00:18:11,580 ja see, kuidas te rüütama need parameetrid. 333 00:18:11,580 --> 00:18:14,010 Lahe. 334 00:18:14,010 --> 00:18:17,550 Muid küsimusi? 335 00:18:17,550 --> 00:18:20,500 Nagu ma ütlesin, kontrollerid, nende hallata rakenduse loogikat, 336 00:18:20,500 --> 00:18:22,980 nii et on 1 Näiteks kui näete see on - 337 00:18:22,980 --> 00:18:24,830 see on väga lihtne, kuid see on ikka rakenduse loogikat, 338 00:18:24,830 --> 00:18:27,980 idee haarates parameeter ja luua uus string 339 00:18:27,980 --> 00:18:31,920 mis ütleb: "Sa ütlesid, blah," ja siis sülitab selle sulle tagasi. 340 00:18:31,920 --> 00:18:34,030 Ja üldiselt, mida teha, on teil luua erinevaid kontrollereid. 341 00:18:34,030 --> 00:18:36,450 Loote eraldi kontrollerid erinevate osade oma veebilehel. 342 00:18:36,450 --> 00:18:38,160 >> Täna me ei kavatse teha väga lihtne veebileht, 343 00:18:38,160 --> 00:18:40,420 ja see saab olema väga lihtne blog. 344 00:18:40,420 --> 00:18:43,780 Me teha uus kontroller lihtsalt postitusi blogis. 345 00:18:43,780 --> 00:18:47,060 Aga siis, kui ma ka kommentaare lisada blogi postitus, 346 00:18:47,060 --> 00:18:50,140 siis ma oleks ilmselt tahavad teha uus kontroller need kommentaarid. 347 00:18:50,140 --> 00:18:53,380 Kui ma tahtsin lisada kasutajaid, ma oleks ilmselt lisada uus kontroller neile kasutajatele, 348 00:18:53,380 --> 00:18:57,000 ja üldiselt, idee on, et kui sul on uus mudel, 349 00:18:57,000 --> 00:18:59,630 Uute andmete objekti, sa oled tegelevad, 350 00:18:59,630 --> 00:19:02,970 teil on ühe kontrolöri, et andmed objekt. 351 00:19:02,970 --> 00:19:04,370 Täna me alles läheb tööle 1 andmed objekti 352 00:19:04,370 --> 00:19:06,250 ja mis saab olema ametikohta, 353 00:19:06,250 --> 00:19:08,710 ja ka sa ei mõtle andmed objektide vastavad tabelid. 354 00:19:08,710 --> 00:19:12,160 Üldiselt iga tabeli vastab 1 tüüpi andmete objekti, 355 00:19:12,160 --> 00:19:15,160 nii post tabelis on 1 postitus mudel, 356 00:19:15,160 --> 00:19:18,230 mis on 1 postitus kontroller, mis vastab, 357 00:19:18,230 --> 00:19:22,190 ja sama märkusi kasutajate puhul sama, ja nii edasi ja nii edasi. 358 00:19:22,190 --> 00:19:24,070 Ja see on üldine rusikareegel. 359 00:19:24,070 --> 00:19:27,460 Seal saab olla erijuhtudel, kui sa võib erineda, 360 00:19:27,460 --> 00:19:29,300 kuid 90% ajast, mis on see, mida sa lähed tegema, 361 00:19:29,300 --> 00:19:32,810 ja ma näitan teile, et see, mida me teeme täna. 362 00:19:32,810 --> 00:19:35,490 1 rohkem mõiste, enne kui me sukelduda tagasi kood, 363 00:19:35,490 --> 00:19:37,710 Selle idee eesmärk relatsiooniline kaardistamine. 364 00:19:37,710 --> 00:19:41,200 >> Te olete juba teinud veebiarendust pset, 365 00:19:41,200 --> 00:19:43,820 ja sa oled näinud, et teete SQL päringu, 366 00:19:43,820 --> 00:19:46,510 ja mis see naaseb olete rida. 367 00:19:46,510 --> 00:19:50,040 Sa saad need read, ja sa indeks neid mõne nime, 368 00:19:50,040 --> 00:19:55,480 veeru nimi ja tabeli 369 00:19:55,480 --> 00:19:57,630 ja see on, kuidas sa tööd teha, 370 00:19:57,630 --> 00:19:59,290 ja see võib olla veidi tülikas. 371 00:19:59,290 --> 00:20:01,810 Kuid lisaks sellele, kui teil on suhted oma andmebaasi, 372 00:20:01,810 --> 00:20:05,280 nagu näiteks siis, kui mul on kommentaare ja postitusi, 373 00:20:05,280 --> 00:20:11,240 siis võib-olla ma tahan haarata vanema ametikohale kommentaari. 374 00:20:11,240 --> 00:20:14,350 Kui ma kasutan ainult rida SQL, siis kõik, mida ma saan on ID 375 00:20:14,350 --> 00:20:19,310 emaettevõtte post ja mitte tegeliku post ise. 376 00:20:19,310 --> 00:20:21,680 Aga kui me kodeerimine, mida me tegelikult tahame, et tegelikult haarata 377 00:20:21,680 --> 00:20:23,550  vanem postitada ennast mõnikord. 378 00:20:23,550 --> 00:20:25,730 Mis objekti relatsiooniline kaardistamise teeb, on 379 00:20:25,730 --> 00:20:29,480 kulub tulemused andmebaasi päringu 380 00:20:29,480 --> 00:20:32,420 ja paneb selle objekti jaoks, mis on palju parem töötada 381 00:20:32,420 --> 00:20:34,770 kui tavaline massiivid ja ridu. 382 00:20:34,770 --> 00:20:37,550 >> Näiteks nüüd, kui mul on kommentaar ehk 383 00:20:37,550 --> 00:20:40,900 ja ma tahan, et haarata oma ema pärast, 384 00:20:40,900 --> 00:20:43,440 ja ma võib-olla kommenteerida nool postiga 385 00:20:43,440 --> 00:20:45,230 siis tegelikult mulle post objekt 386 00:20:45,230 --> 00:20:47,940 vastab tegelikele vanema ametikohale, mitte ainult mõned ID, 387 00:20:47,940 --> 00:20:52,210 mida ma muidu kasutada ja teha uue SQL päring haarata postiga 388 00:20:52,210 --> 00:20:57,430 mis on tülikas ja mittevajalik. 389 00:20:57,430 --> 00:21:01,840 Ja lisaks, kaardistades kõik need andmed ridade objektid 390 00:21:01,840 --> 00:21:03,760 võite ka lisada rohkem funktsioone objektide 391 00:21:03,760 --> 00:21:09,700 Nii näiteks, ma rääkisin, kuidas klassid on sisuliselt rühmituste funktsioone. 392 00:21:09,700 --> 00:21:11,620 Sa ei mõtle seda nii. 393 00:21:11,620 --> 00:21:15,290 Näiteks, võib-olla on mul postitus objekt 394 00:21:15,290 --> 00:21:17,830 ja äkki ma tahaks olla mingisugune funktsioon sellele lisatud 395 00:21:17,830 --> 00:21:20,300 et põhimõtteliselt ütleb mulle, oli see hiljuti postitatud? 396 00:21:20,300 --> 00:21:23,570 Kas see oli postitatud viimase nädala jooksul, on õige või vale? 397 00:21:23,570 --> 00:21:27,320 Ja see on funktsioon võin lisada peale, et objekt, 398 00:21:27,320 --> 00:21:31,300 ja see on tõesti mugav on see samas kohas, 399 00:21:31,300 --> 00:21:33,820 ja seal on mitmeid erinevaid funktsioone saab luua 400 00:21:33,820 --> 00:21:37,990 need objektid, ja see on tore, et oleks võimalik kinnitada selle klassi 401 00:21:37,990 --> 00:21:41,700 objektile, samas kui sa just read tulevad oma andmebaasi, 402 00:21:41,700 --> 00:21:43,790 siis ei saa tõesti kinnitada mistahes funktsionaalsust et. 403 00:21:43,790 --> 00:21:47,850 See on sõna otseses mõttes lihtsalt andmeid. 404 00:21:47,850 --> 00:21:50,550 Kõik küsimused, mis üldse? 405 00:21:50,550 --> 00:21:52,710 ORMS on väga levinud veebi arengut, 406 00:21:52,710 --> 00:21:56,330 ja seal on palju eri liiki ORMS, 407 00:21:56,330 --> 00:21:58,450 ja Kohana on oma ORM. 408 00:21:58,450 --> 00:22:05,050 See on väga lihtne, kuid sa saad aimu, milline see välja näeb. 409 00:22:05,050 --> 00:22:08,780 >> Loome eeskujuks meie blogi postitusi, 410 00:22:08,780 --> 00:22:12,350 ja esimene asi, mida me kindlasti peame tegema, on luua tegelik tabel 411 00:22:12,350 --> 00:22:16,680 meie andmebaasi tegelikult salvestada oma andmed neile ametikohtadele. 412 00:22:16,680 --> 00:22:19,260 Esimene asi, mida ma lähen tegema, on minna phpMyAdmin. 413 00:22:19,260 --> 00:22:21,410 Olete te kasutada phpMyAdmin enne? 414 00:22:21,410 --> 00:22:23,400 Okei, awesome, et te juba teate, mis see on, 415 00:22:23,400 --> 00:22:32,200 ja ma lähen, et luua uus tabel nimega Kohana postitused, 416 00:22:32,200 --> 00:22:37,820 ja see saab olema väga lihtne. 417 00:22:37,820 --> 00:22:40,190 Ma pean uuesti sisse logid 418 00:23:02,620 --> 00:23:04,640 Kõik me teeme täna on autor ja keha 419 00:23:04,640 --> 00:23:11,930 lihtsalt hoida lihtsa. 420 00:23:11,930 --> 00:23:15,620 Ma lähen, et luua selles tabelis, 421 00:23:15,620 --> 00:23:19,620 ja nüüd me lihtsalt laua esindavad meie postitusi 422 00:23:19,620 --> 00:23:23,370 2 valdkondades meie autor ja meie keha. 423 00:23:23,370 --> 00:23:26,290 Teine asi, mida ma lähen tegema, on praegu 424 00:23:26,290 --> 00:23:29,820 seadistada minu veebirakenduse et ta teab, kuidas ühendada andmebaas 425 00:23:29,820 --> 00:23:31,950 ja see omakorda on midagi, mida sa pead tegema kõik veebirakendusi. 426 00:23:31,950 --> 00:23:34,790 Sa pead ütlema seda kasutajanime ja parooli 427 00:23:34,790 --> 00:23:36,990 ja nimi andmebaasi ja nii edasi ja nii edasi 428 00:23:36,990 --> 00:23:40,000 et aru saada, kuidas tegelikult ühendada oma andmebaasi. 429 00:23:40,000 --> 00:23:58,710 >> In Kohana, meil on midagi, mida nimetatakse andmebaasi moodul, 430 00:23:58,710 --> 00:24:02,690 ja konfiguratsiooni kausta meil see kaust nimega andmebaas 431 00:24:02,690 --> 00:24:07,330 ja nagu näete, on kamp seaded sul määrata siin 432 00:24:07,330 --> 00:24:09,860 öelda seda, mis on kasutaja nimi ja parool 433 00:24:09,860 --> 00:24:13,110 andmebaasi, et ma saaks tegelikult ühendada see. 434 00:24:13,110 --> 00:24:15,010 Ja kuna ma ei taha, et te tegelikult teadma 435 00:24:15,010 --> 00:24:17,190 kasutajanime ja parooli oma andmebaasi, 436 00:24:17,190 --> 00:24:23,840 Mul on fail, kus ma juba pani kõik, ja ma lähen kopeeri ja kleebi see üle. 437 00:24:33,080 --> 00:24:36,870 Lahe. 438 00:24:36,870 --> 00:24:39,880 Okei. Ma arvan, et kõik konfiguratsiooni ma pean tegema, 439 00:24:39,880 --> 00:24:41,070 aga vaatame. 440 00:24:41,070 --> 00:24:43,720 Me töötame selles, ja kui midagi kokku jookseb, 441 00:24:43,720 --> 00:24:47,490 siis me seda parandada. 442 00:24:47,490 --> 00:24:51,830 Nüüd, mida ma lähen tegema, on ma lähen luua uue kontroller. 443 00:24:51,830 --> 00:24:53,190 Või tegelikult, vabandust. 444 00:24:53,190 --> 00:24:55,080 Esiteks pean ma luua uue mudeli. 445 00:24:55,080 --> 00:25:01,620 Ma luua uue mudeli nimega Post.php, 446 00:25:01,620 --> 00:25:12,440 ja see, mida me teeme, on me nimetame seda klassi Model_Post. 447 00:25:12,440 --> 00:25:15,390 Saaksin süntaksi esiletõstmine, 448 00:25:15,390 --> 00:25:19,750 ja nii kui ma ütlen "laieneb ORM," mis on põhimõtteliselt 449 00:25:19,750 --> 00:25:21,210 mõned rohkem objektorienteeritud programmeerimine, 450 00:25:21,210 --> 00:25:23,340 mis kahjuks te pole õppinud CS50 veel 451 00:25:23,340 --> 00:25:25,290 kuid see on üsna lihtne kiirenemist. 452 00:25:25,290 --> 00:25:27,950 See annab mulle kõik see lisafunktsionaalsus mis tuleb, see ORM paketi 453 00:25:27,950 --> 00:25:31,120 ja nii ma saan hunnik lisafunktsioone ja puha tasuta 454 00:25:31,120 --> 00:25:34,810 mis sa näed natuke teine. 455 00:25:34,810 --> 00:25:37,670 >> Just praegu tegelikult kõik, mida ma vaja teha, on luua selle klassi. 456 00:25:37,670 --> 00:25:39,160 Ma ei pea isegi mingit funktsiooni või midagi, 457 00:25:39,160 --> 00:25:41,770 aga ma olen loodud klass, mis tähistab tabelis 458 00:25:41,770 --> 00:25:44,140 ja kuna ma olen laiendanud ORM klass, 459 00:25:44,140 --> 00:25:51,080 Ma saan hunnik asju tasuta, nii et nüüd teil ei ole midagi seadistada rohkem üles. 460 00:25:51,080 --> 00:25:53,530 Ja nüüd, mida ma lähen tegema, on ma lähen luua uus regulaator, 461 00:25:53,530 --> 00:25:58,480 mis ma nimetada blog.php, 462 00:25:58,480 --> 00:26:04,350 ja ma lähen kopeerige Tere kontroller 463 00:26:04,350 --> 00:26:11,950 nii et ma ei pea uuesti sisestama mõned asjad, 464 00:26:11,950 --> 00:26:20,720 ja nüüd ma pean ümber nimetada. 465 00:26:20,720 --> 00:26:24,710 Nüüd, mida ma lähen tegema, et test veendumaks, et kõik töötab välja, 466 00:26:24,710 --> 00:26:27,820 Ma lähen haarata esimene postitus minu andmebaas 467 00:26:27,820 --> 00:26:32,680 ja printida keha post ekraanil. 468 00:26:32,680 --> 00:26:37,920 Selleks, et see, mida ma lähen tegema, esimene on ma lähen salvestada postitusi 469 00:26:37,920 --> 00:26:48,770 muutuja nii et mida me teeme, on - 470 00:26:48,770 --> 00:26:52,090 aastal Kohana, mida te teete on haarata post objekt 471 00:26:52,090 --> 00:26:55,380 see on selline tülikas, kuid sa pead tegema seda asja nimetatakse ORM :: tehas 472 00:26:55,380 --> 00:26:57,750 ja siis liigu nime mudel, mida soovite, 473 00:26:57,750 --> 00:27:00,490 ja ta naaseb ORM objekt, mis esindab seda mudelit. 474 00:27:00,490 --> 00:27:04,860 Ja siis, nagu ma ütlesin, kui me laiendada ORM objekt 475 00:27:04,860 --> 00:27:07,320 saame kõik need meetodid on tasuta, nii et näiteks 476 00:27:07,320 --> 00:27:09,200 saame selle uue funktsiooni nimega "kõik" 477 00:27:09,200 --> 00:27:12,160 mis automaatselt tagastab iga postitus andmebaasis 478 00:27:12,160 --> 00:27:14,850 mis on üsna mugav. 479 00:27:14,850 --> 00:27:17,480 >> Ja nüüd kehas ma lähen tagasi 480 00:27:17,480 --> 00:27:24,860 esimene postitus ja tagasi oma keha. 481 00:27:24,860 --> 00:27:27,930 Ja muidugi, mul on vaja luua ametikoht, 482 00:27:27,930 --> 00:27:31,880 niiet lisada uus postitus. 483 00:27:31,880 --> 00:27:37,870 Ma ütlen, "Brandon, minu kõige esimene postitus." 484 00:27:37,870 --> 00:27:40,010 Lahe. 485 00:27:40,010 --> 00:27:45,910 Ja nüüd me läheme blogid 486 00:27:45,910 --> 00:27:50,960 ja kui kõik toimib hästi - oh, see on mingi muu loll faili loata asi uuesti. 487 00:27:50,960 --> 00:27:56,090 Hoia 1 sekund. See on selline absurd. 488 00:28:06,700 --> 00:28:08,490 Niimoodi. Okei. 489 00:28:08,490 --> 00:28:10,040 Ma parandasin selle loa probleem. 490 00:28:10,040 --> 00:28:12,040 Ta püüdis luua mõned failid ja mõned samamoodi, 491 00:28:12,040 --> 00:28:15,400 ja load jällegi ei õigesti seadistatud, et ma tegin seda 492 00:28:15,400 --> 00:28:18,320 nii need failid olid kirjutatav ja käivitatava 493 00:28:18,320 --> 00:28:21,090 nii et see võiks tegelikult sisse asju. 494 00:28:21,090 --> 00:28:24,220 Nüüd annab mulle üks erand, öeldes: "klass ORM ei leitud", 495 00:28:24,220 --> 00:28:26,960 ja see on, sest ma unustasin veel ühe sammu. 496 00:28:26,960 --> 00:28:37,010 See on liiga halb. 497 00:28:37,010 --> 00:28:40,270 In bootstrap kausta fail on need moodulid siin 498 00:28:40,270 --> 00:28:42,480 kus saab valida kas lubada või keelata. 499 00:28:42,480 --> 00:28:44,340 Need on hunnik erinevaid funktsioone, mida saate valida, kas kasutada 500 00:28:44,340 --> 00:28:46,180 jooksul Kohana, mis on omamoodi tore. 501 00:28:46,180 --> 00:28:49,090 >> Näiteks neil autentimise moodul 502 00:28:49,090 --> 00:28:51,170 , mida saab kasutada autentimiseks kasutajad. 503 00:28:51,170 --> 00:28:53,390 Neil on caching moodul, kui soovite rakendada 504 00:28:53,390 --> 00:28:57,870 mingisugune vahemällu kolp teha taotlus tööd kiiremini ja tühi-tähi. 505 00:28:57,870 --> 00:29:02,140 Meil on vaja, et võimaldada andmebaasi ja ORM mooduli 506 00:29:02,140 --> 00:29:04,280 sest nagu ma ütlesin, me kasutame andmebaasi ilmselt 507 00:29:04,280 --> 00:29:08,200 ja me peame ka võimaldada ORM mooduli 508 00:29:08,200 --> 00:29:12,220 sest me tahaks olla ekstra funktsionaalsust, mis on tore on. 509 00:29:12,220 --> 00:29:14,240 Kõik ma pean tegema, on uncomment need 2 rida, 510 00:29:14,240 --> 00:29:18,760 ja nüüd, kui ma värskendada, ta andis mulle teise vea. 511 00:29:18,760 --> 00:29:22,100 Ta ütleb: "Klass Model_Post ei leitud." 512 00:29:22,100 --> 00:29:30,210 Nüüd on hea probleem on. 513 00:29:30,210 --> 00:29:37,660 Vaatame. 514 00:29:37,660 --> 00:29:42,200 Tee avalik. 515 00:29:42,200 --> 00:29:46,450 Ei Oota. 516 00:30:11,610 --> 00:30:13,160 Oh, kallis. 517 00:30:13,160 --> 00:30:18,590 Ma ei tea, miks see ei ole võimalik leida, et. 518 00:30:18,590 --> 00:30:21,030 See on tõesti kummaline. 519 00:30:21,030 --> 00:30:23,820 Mul on selle klassi siinsamas. 520 00:30:23,820 --> 00:30:28,650 Ma arvan, et võib-olla - oh. 521 00:30:28,650 --> 00:30:32,010 Ma olen nii loll. Ma unustasin lisada PHP tag. 522 00:30:32,010 --> 00:30:34,670 Sellepärast. 523 00:30:34,670 --> 00:30:41,260 Nüüd on mul tagasi võtta, et 1 muutus just tegin. 524 00:30:41,260 --> 00:30:44,270 >> Ok. Niimoodi. 525 00:30:44,270 --> 00:30:47,500 See oli tõesti rumal. Mul ei olnud ava PHP tag. 526 00:30:47,500 --> 00:30:49,900 Aga nagu näete, nüüd see töötab korralikult, eks? 527 00:30:49,900 --> 00:30:51,240 Meil on 1 postitus. 528 00:30:51,240 --> 00:30:54,730 Me haarasid esimene postitus, ja nüüd välja printida oma keha. 529 00:30:54,730 --> 00:30:58,010 Suur. Fantastiline. 530 00:30:58,010 --> 00:31:01,470 Küsimusi nii palju? 531 00:31:01,470 --> 00:31:04,100 Ei? Kas on küsimusi? 532 00:31:04,100 --> 00:31:08,340 Okei, nii et me lihtsalt loodud post mudel, väga lihtne, 533 00:31:08,340 --> 00:31:10,930 ja me lisada mõned funktsioonid hiljem. 534 00:31:10,930 --> 00:31:13,600 Me võime lisada kinnituste ja filtreerimist. 535 00:31:13,600 --> 00:31:15,650 Kinnitused on üks neist asjadest, 536 00:31:15,650 --> 00:31:18,150 et raamistike lahendada sinu jaoks tõesti hästi, 537 00:31:18,150 --> 00:31:21,310 ja ma ei usu, et teil oli seda teha oma CS50 pset, 538 00:31:21,310 --> 00:31:24,000 aga kui sa veebi arengut oma lõpliku projekti 539 00:31:24,000 --> 00:31:26,280 sa oled tõenäoliselt läheb taha teha mingisugune valideerimine 540 00:31:26,280 --> 00:31:28,290 nagu millel ei ole tühi kasutajanimed, 541 00:31:28,290 --> 00:31:31,950 võibolla võttes salasõna vähemalt põhjalikkusega, asjad niimoodi. 542 00:31:31,950 --> 00:31:34,750 Ja see on tõesti ebamugav rakendada neid asju ise, 543 00:31:34,750 --> 00:31:37,390 ja päris palju iga web raamistikku see sinu jaoks 544 00:31:37,390 --> 00:31:41,140 ja võimaldab teil teha seda väga puhas viis. 545 00:31:41,140 --> 00:31:44,340 Ja mudel, kus teil tavaliselt väljendada neid kontrolli eeskirju, 546 00:31:44,340 --> 00:31:48,790 sest see on kinnitamise kas mudel on kehtiv või mitte. 547 00:31:48,790 --> 00:31:51,350 >> Aga nüüd, me ei kavatse panna, et alles hiljem, 548 00:31:51,350 --> 00:31:53,520 ja nüüd me ei kavatse tööd teine ​​osa, 549 00:31:53,520 --> 00:31:55,400 ja me ei kavatse proovida ja teha uus vaade 550 00:31:55,400 --> 00:31:59,580 kus on loetletud kõik postitused. 551 00:31:59,580 --> 00:32:02,490 Etappe tegemist uue hagi, milles loetletakse kõik postitused 552 00:32:02,490 --> 00:32:04,810 on haarata nimekirja kõigist postitustest 553 00:32:04,810 --> 00:32:11,990 ja siis muuta nimekirja kõigist postitustest läbi vaadata. 554 00:32:11,990 --> 00:32:16,420 Siinsamas, õnneks piisavalt, me juba haaras kõik postitused 555 00:32:16,420 --> 00:32:20,310 Kasutades seda esimest rida, kõik funktsioon, 556 00:32:20,310 --> 00:32:22,520 ja nüüd me teeme on seni 557 00:32:22,520 --> 00:32:25,350 Olen otse millega keha reageerimine 558 00:32:25,350 --> 00:32:29,090 sooritades string, kuid nüüd ma tahan kasutada selleks, 559 00:32:29,090 --> 00:32:31,870 ja vahe vaade ja teen seda 560 00:32:31,870 --> 00:32:35,330 on eesmärgiga saan kena, suur HTML template, 561 00:32:35,330 --> 00:32:37,710 ja mida ma saan teha, on anda kellelegi teatud muutujate 562 00:32:37,710 --> 00:32:42,200 ja siis on seisukohal automaatselt asustada oma mall 563 00:32:42,200 --> 00:32:44,690 kasutades neid muutujaid. 564 00:32:44,690 --> 00:32:50,780 Mida ma teen on ma luua uus vaade, 565 00:32:50,780 --> 00:32:55,940 ja ma nimetaks silmas midagi "blog / index" 566 00:32:55,940 --> 00:33:08,480 ja ma lähen põhimõtteliselt siduda see - oh, mida ma kirjalikult? 567 00:33:08,480 --> 00:33:12,910 Mu aju on kuskil mujal. 568 00:33:12,910 --> 00:33:16,600 Ma lähen siduda postitusi muutuja arvates 569 00:33:16,600 --> 00:33:19,950 nii et kuidas vaade on juurdepääs postitus muutuja. 570 00:33:19,950 --> 00:33:26,140 >> Ja nüüd ma pean luua seda seisukohta, 571 00:33:26,140 --> 00:33:28,500 nii siin me oleme seda kausta nimega "Views" 572 00:33:28,500 --> 00:33:32,150 ja esimene, ma lähen luua uue kausta, et nn "blogi". 573 00:33:32,150 --> 00:33:35,810 See on kena. Nii et meil on kena hierarhia meie seisukohti. 574 00:33:35,810 --> 00:33:43,910 Ja siis ma lähen luua uue faili sinna nimega "index.php". 575 00:33:43,910 --> 00:33:45,780 Lahe. 576 00:33:45,780 --> 00:33:52,930 Tegelikult olgem neid nii siin. 577 00:33:52,930 --> 00:33:56,760 Making vaade fail on ilmselt kõige lihtsam osa kõik see, 578 00:33:56,760 --> 00:33:59,090 ja need on ilmselt asjad, mida sa oled juba tuttav. 579 00:33:59,090 --> 00:34:01,240 Me teeme midagi tõeliselt lihtne, 580 00:34:01,240 --> 00:34:05,360 alustada, öeldes: "Mu nimekiri blogi postitusi." 581 00:34:05,360 --> 00:34:14,860 Siis me ei lähe läbi, 582 00:34:14,860 --> 00:34:17,920 ja me võime kinnitada, läbi postitust massiiv, 583 00:34:17,920 --> 00:34:21,760 haarata iga post ja öelda midagi sellist - 584 00:34:21,760 --> 00:34:25,290 võibolla lisada rida 585 00:34:25,290 --> 00:34:42,460 ja siis välja printida autori ja keha. 586 00:34:42,460 --> 00:34:44,480 Seda mõtet nii palju? 587 00:34:44,480 --> 00:34:50,870 Ja vaatame, kas see toimib. 588 00:34:50,870 --> 00:34:53,489 Midagi ei juhtunud. 589 00:34:53,489 --> 00:34:55,090 Ma ei tea, miks. 590 00:34:55,090 --> 00:34:58,760 Oh, mul jäi 1 samm. Väga rumal minust. 591 00:34:58,760 --> 00:35:01,640 Olen loonud vaadata, kuid ma ei pannud Vaata vastust 592 00:35:01,640 --> 00:35:03,190 nii et sa pead tegema 1 asi veel. 593 00:35:03,190 --> 00:35:12,610 Sa pead tegema "see vastus keha" ja määra see vaade. 594 00:35:12,610 --> 00:35:14,760 Niimoodi. 595 00:35:14,760 --> 00:35:17,200 Meil on rubriik, ja siis meil on post, 596 00:35:17,200 --> 00:35:20,500 ja lihtsalt peksab, olgem lisada teine ​​postitus 597 00:35:20,500 --> 00:35:23,390 nii et me saame näha nimekirja. 598 00:35:31,800 --> 00:35:36,650 Ja lisada need 2 ametikohta, 599 00:35:36,650 --> 00:35:39,500 ja nüüd, kui ma värskenda lehekülge, 600 00:35:39,500 --> 00:35:42,060 me näeme kõiki neid postitusi siin. 601 00:35:42,060 --> 00:35:44,250 >> Kas see on mõtet nii palju? 602 00:35:44,250 --> 00:35:46,400 Jah, küsimus? Oh, okei. 603 00:35:46,400 --> 00:35:51,440 Nagu näete, oleme suutnud eraldada kõik need koodid välja 604 00:35:51,440 --> 00:35:53,920 eri osadeks ja siis näete et see on kõige selge vaade kood. 605 00:35:53,920 --> 00:35:57,810 See fail siin, mis tähistab arvates 606 00:35:57,810 --> 00:36:01,220 ta hoolib ainult esindavad andmed, andmete kuvamiseks. 607 00:36:01,220 --> 00:36:04,310 Läheb edasi mingi info ja kõik see on lihtsalt näidata seda sulle. 608 00:36:04,310 --> 00:36:07,660 Kõigil muudel osad oma kood, et sa ei pea muretsema mis tahes selle, 609 00:36:07,660 --> 00:36:10,480 ja samamoodi oma seisukohta kood ei pea muretsema midagi 610 00:36:10,480 --> 00:36:13,390 kuidas juurdepääs andmebaasi ja nii edasi ja nii edasi, 611 00:36:13,390 --> 00:36:19,950 mis on tõesti hea ja teeb oma koodi palju hooldatav. 612 00:36:19,950 --> 00:36:23,390 Nagu ma ütlesin, vaated, nad dünaamiline selles 613 00:36:23,390 --> 00:36:27,080 see on 1 faili, kuid see tooks kaasa erinevad seisukohad 614 00:36:27,080 --> 00:36:29,940 põhinevad muutujad sa tegelikult läbima, 615 00:36:29,940 --> 00:36:32,370 ja lisaks on olemas palju erinevaid helper funktsioone 616 00:36:32,370 --> 00:36:34,230 , mida saab kasutada, et aidata teil kirjutada koodi kiiremini, 617 00:36:34,230 --> 00:36:36,320 kus ma näitan sulle lihtsalt teine. 618 00:36:36,320 --> 00:36:38,050 Jah. 619 00:36:38,050 --> 00:36:42,490 >> [Student] So $ 0 on kontroller, eks? 620 00:36:42,490 --> 00:36:44,000 See teine ​​asi. 621 00:36:44,000 --> 00:36:46,090 Küsimus on on 0 $ controller? 622 00:36:46,090 --> 00:36:48,610 0 $ on muutuja lõin siin. 623 00:36:48,610 --> 00:36:51,320 Olen loonud eesmärgiga esimene. Ma määras selle teatud muutuja. 624 00:36:51,320 --> 00:36:54,960 Siis võttis ta arvesse seda funktsiooni, seadke see keha reageerimine. 625 00:36:54,960 --> 00:36:57,260 Kas see on mõtet? 626 00:36:57,260 --> 00:37:02,200 [Student] Nii on vaade :: tehas on seisukohal, nagu klassi 627 00:37:02,200 --> 00:37:06,610 või raamatukogu [kuuldamatu] tehase funktsioon? 628 00:37:06,610 --> 00:37:10,640 Küsimus on vaade :: tehase funktsioon, 629 00:37:10,640 --> 00:37:14,020 ja põhimõtteliselt on see veel objektorienteeritud programmeerimine sisuliselt. 630 00:37:14,020 --> 00:37:18,000 View vaade klassi, ja see on meetod, mida nimetatakse "Factory" 631 00:37:18,000 --> 00:37:24,170 ja see on viis haarata objekti, mis on nimega "blog / index." 632 00:37:24,170 --> 00:37:27,140 Ja see on veel objektorienteeritud programmeerimise värk 633 00:37:27,140 --> 00:37:33,010 et ma ei lähe siin liiga palju. 634 00:37:33,010 --> 00:37:36,400 Nüüd ilmselt tahame luua uusi ametikohti, 635 00:37:36,400 --> 00:37:38,790 aga me ei tahtnud seda teha läbi andmebaasi, 636 00:37:38,790 --> 00:37:41,280 Nii et me luua uusi meetmeid, et luua uus ametikoht, 637 00:37:41,280 --> 00:37:43,050 ja seal on palju asju me peame tegema. 638 00:37:43,050 --> 00:37:45,910 >> Esimene asi, mida me teeme - Räägime need asjad ükshaaval. 639 00:37:45,910 --> 00:37:48,320 Esimene asi, mida me teeme on meil luua vormi 640 00:37:48,320 --> 00:37:54,460 sisseviimiseks uus postitus, 641 00:37:54,460 --> 00:37:57,360 aga ma olen ka kavatse lisada uus tegevus esiteks 642 00:37:57,360 --> 00:38:01,050 nii lisades uusi meetmeid on lihtsalt nii lihtne, nagu 643 00:38:01,050 --> 00:38:03,490 lisada uus funktsioon oma kontroller, 644 00:38:03,490 --> 00:38:13,710 ja nüüd ma teen midagi väga lihtne, 645 00:38:13,710 --> 00:38:20,850 lihtsalt haarata see vaade ja pärast seda, lihtsalt näidata seda teile. 646 00:38:20,850 --> 00:38:26,220 Ja siis nüüd ma lähen luua uue vaate faili 647 00:38:26,220 --> 00:38:33,690 ja ma lähen alustada kirjalikult mõned asjad. 648 00:38:33,690 --> 00:38:36,540 Mis on ilus umbes Kohana on see, et nad pakuvad palju erinevaid helper funktsioone 649 00:38:36,540 --> 00:38:38,790 teile kirjutada vaade kood kergemini 650 00:38:38,790 --> 00:38:41,970 ja 1 neist helper funktsioone või abimees moodulid 651 00:38:41,970 --> 00:38:45,860 on ümber kirjutamise vorme. 652 00:38:45,860 --> 00:38:49,460 Kirjutamiseks vormid, ma tõesti ei pea otse kirjutada mistahes HTML ise. 653 00:38:49,460 --> 00:38:51,100 Te olete kirjutanud HTML kujul. 654 00:38:51,100 --> 00:38:54,850 Sa tead, kuidas see võib olla tõesti valus ja tülikas kirjutada kujul. 655 00:38:54,850 --> 00:38:59,970 See ei ole lõbus, siis õnneks 656 00:38:59,970 --> 00:39:04,860 saame põhimõtteliselt kirjutada kujul kasutades Kohana on 657 00:39:04,860 --> 00:39:11,190 moodustavad helper funktsioone seda teha meie jaoks. 658 00:39:11,190 --> 00:39:17,340 Me põhimõtteliselt on väljad iga asi mis meil on, 659 00:39:17,340 --> 00:39:23,160 nii üks autoreid ja ühe vahel. 660 00:39:23,160 --> 00:39:27,090 Me läheme olema silt, ja me ei kavatse on sisend. 661 00:39:37,450 --> 00:39:41,360 >> Ja lõpuks, me ei kavatse olla esitamist. 662 00:39:49,350 --> 00:39:52,230 Ja nagu näete, see on palju puhtam kirjutada 663 00:39:52,230 --> 00:39:58,150 kui kõik, et räpane HTML, mis on omamoodi tore. 664 00:39:58,150 --> 00:40:00,930 Tõsi, on ka teisi web raamistikku, mis on see isegi puhtam, kui et 665 00:40:00,930 --> 00:40:04,440 kuid vähemalt on see parem kui kirjalikult HTML ise. 666 00:40:09,400 --> 00:40:11,130 Awesome, nii et see on see, mida sa näed. 667 00:40:11,130 --> 00:40:13,530 See on selline räpane, 668 00:40:13,530 --> 00:40:19,720 nii et ma lähen lisada line break seal 669 00:40:19,720 --> 00:40:21,180 teha, et vaadata veidi kenamaks. 670 00:40:21,180 --> 00:40:23,330 Noh, muidugi, see ikka tundub tõesti, tõesti halb, kuid me lihtsalt keskendunud 671 00:40:23,330 --> 00:40:26,050 funktsionaalsusele nüüd ja mitte esteetika. 672 00:40:26,050 --> 00:40:28,010 Pole aega teha kõike. 673 00:40:28,010 --> 00:40:30,600 Ja nagu näete, nüüd on meil super põhivormi, 674 00:40:30,600 --> 00:40:32,080 mis on omamoodi tore. 675 00:40:32,080 --> 00:40:36,730 See kood ütleksin on puhtam kui üritan kirjutada HTML-vormi ise, 676 00:40:36,730 --> 00:40:40,290 nii see on tore. 677 00:40:40,290 --> 00:40:42,030 Mis edasi? 678 00:40:42,030 --> 00:40:49,260 Nüüd peame tegema asju koos tegutsemist. 679 00:40:49,260 --> 00:40:51,240 Tavaliselt, kui sa kirjutad HTML vormid 680 00:40:51,240 --> 00:40:54,070 teil on öelda seda, kus see saab esitada vormi. 681 00:40:54,070 --> 00:40:56,050 Vaikimisi kõige web raamistike 682 00:40:56,050 --> 00:40:58,200 Ta väidab, et täpselt sama URL, nii et asi on selles, 683 00:40:58,200 --> 00:41:01,310 Kui saadate GET päringu / blog / uus, 684 00:41:01,310 --> 00:41:03,240 siis näidatakse teile vormi, 685 00:41:03,240 --> 00:41:06,810 aga kui sa saata postiga taotluse / blog / uus andmetega, 686 00:41:06,810 --> 00:41:10,000 see peaks tegelikult proovite salvestada et postitus 687 00:41:10,000 --> 00:41:13,300 ja midagi teha. 688 00:41:20,630 --> 00:41:22,180 >> Mida me teeme on 689 00:41:22,180 --> 00:41:25,320 põhimõtteliselt kõik me peame tegema, et kontrollida, kas see postitus taotluse või GET taotluse 690 00:41:25,320 --> 00:41:29,350 on vaadata, millised on postitus muutujad saate. 691 00:41:29,350 --> 00:41:34,560 Ja kui pärast muutuja on määratud, siis me läheme, et proovida ja luua uus ametikoht. 692 00:41:34,560 --> 00:41:38,440 Jällegi, me lihtsalt seda, 693 00:41:38,440 --> 00:41:41,090 ja mis loob uue postituse ja me sõna otseses mõttes läheb 694 00:41:41,090 --> 00:41:51,150 seada oma valdkondades nagu see, 695 00:41:51,150 --> 00:41:55,640 ja siis me läheme, salvestage see. 696 00:41:55,640 --> 00:41:59,200 Ja siis ma lähen ümber 697 00:41:59,200 --> 00:42:07,660 esilehele, et nad saaksid näha oma ametikohtade loetelu uuesti. 698 00:42:07,660 --> 00:42:09,620 Proovime seda. 699 00:42:09,620 --> 00:42:15,160 Ma ütlen, "Brandon" 700 00:42:15,160 --> 00:42:18,140 ja siis esitada posti teel, ja kui kõik hästi läheb, 701 00:42:18,140 --> 00:42:21,390 nagu näete, see suunatakse mind esilehele, 702 00:42:21,390 --> 00:42:24,140 ja kui ma kerige meil äsja sisestatud postitus. 703 00:42:24,140 --> 00:42:26,430 Jee! 704 00:42:26,430 --> 00:42:28,430 Jah, küsimus. 705 00:42:28,430 --> 00:42:31,760 >> [Student] Mis siis, kui oli sisenenud täpselt sama asi 706 00:42:31,760 --> 00:42:33,380 varem sisestatud? 707 00:42:33,380 --> 00:42:36,950 Kas veenduge, sa ei ole dubleerida 708 00:42:36,950 --> 00:42:38,810 Samal esitamine? 709 00:42:38,810 --> 00:42:41,660 Ole default, ei, sest vaikimisi - 710 00:42:41,660 --> 00:42:46,470 Vabandust, küsimus on, kui sisestate täpselt sama andmete kujul 711 00:42:46,470 --> 00:42:50,180 ja väidavad, et on see võimaldab teil sisestada eksemplaris objekt 712 00:42:50,180 --> 00:42:52,550 topeltkirje sisuliselt? 713 00:42:52,550 --> 00:42:54,070 Just nüüd, jah, see võimaldab teil seda teha, 714 00:42:54,070 --> 00:42:58,860 sest andmebaasid on täiesti kehtiv on täiesti duplikaatridu, 715 00:42:58,860 --> 00:43:02,260 aga kui see on mure, siis saad lisada kinnituste, näiteks 716 00:43:02,260 --> 00:43:06,430 veenduda, et kui see on täpselt sama, midagi, mis on juba olemas, 717 00:43:06,430 --> 00:43:08,720 siis öelda, et see on vale objekt 718 00:43:08,720 --> 00:43:11,200 ja siis saate isegi määrata oma veateate 719 00:43:11,200 --> 00:43:14,390 ja ütlevad: "Vale, sest see on juba olemas" või midagi sellist. 720 00:43:14,390 --> 00:43:22,420 Aga sel juhul, ma võiks lihtsalt luua midagi eksemplaris. 721 00:43:22,420 --> 00:43:26,010 Nüüd proovime ja lisada mõned kinnituste. 722 00:43:26,010 --> 00:43:30,400 Probleemiks on see just nüüd on, et 723 00:43:30,400 --> 00:43:34,220 Võiksin sõnalt esitada täiesti tühi postitus. 724 00:43:34,220 --> 00:43:37,500 Ma ei klõpsa seda nuppu kohe, ja seal me läheme. 725 00:43:37,500 --> 00:43:40,290 Sa ei saa tõesti näha, kuid see ekstra joont siin 726 00:43:40,290 --> 00:43:43,830 näitab, et ma sõna otseses mõttes on uus ametikoht. 727 00:43:43,830 --> 00:43:46,050 See lihtsalt on tühi autor ja tühi keha, 728 00:43:46,050 --> 00:43:48,630 ja me ei taha, et inimesed saaksid seda teha. 729 00:43:48,630 --> 00:43:52,550 See on koht, kus kinnitamise on sisse 730 00:43:52,550 --> 00:43:57,540 >> Ma ei saa minna minu mudel objekt, 731 00:43:57,540 --> 00:43:59,530 ja nüüd ma saan lisada uut funktsiooni, mis määrab 732 00:43:59,530 --> 00:44:02,000 mida valideerimisreeglite ma peaks lisama selle mudeli 733 00:44:02,000 --> 00:44:06,840 veenduda, et see on kehtiv või täpsustada, mida see tähendab, et kehtiv post? 734 00:44:06,840 --> 00:44:10,210 Ja ma tahan öelda, et see on ainus kehtiv post kui autor ja keha 735 00:44:10,210 --> 00:44:15,150 ei ole tühi, ja see on, kuidas sa seda Kohana. 736 00:44:15,150 --> 00:44:18,750 Loote uue funktsiooni nimega "Reeglid" 737 00:44:18,750 --> 00:44:20,210 ja siis sa põhimõtteliselt tagasi assotsiatiivne massiiv 738 00:44:20,210 --> 00:44:24,230 mis määratleb kinnitamise eeskirjad seda objekti. 739 00:44:24,230 --> 00:44:27,530 Me läheme tagasi massiivi ja siis mida me teeme on 740 00:44:27,530 --> 00:44:32,820 öelda "autor," see läheb massiivi 741 00:44:32,820 --> 00:44:37,720 mis läheb teise massiivi nimetatakse "ei ole tühi." 742 00:44:37,720 --> 00:44:41,480 Ja siis ma lähen ütlen "keha." 743 00:44:50,980 --> 00:44:54,120 Okei, ja süntaks see ja struktuur selle 744 00:44:54,120 --> 00:44:56,530 võib tunduda natuke kohmakas ja veidi keeruline. 745 00:44:56,530 --> 00:44:59,330 Kui sa loed dokumendid, see on üsna lihtne välja nuputada, 746 00:44:59,330 --> 00:45:02,500 Aga sisuliselt on see, mida sa pead tegema, et täpsustada 747 00:45:02,500 --> 00:45:04,130 mõned kontrolli eeskirju, ja seal on palju erinevaid reegleid 748 00:45:04,130 --> 00:45:06,810 et Kohana teile tasuta, nagu võite lisada eeskirjad öelda 749 00:45:06,810 --> 00:45:08,410 see peab olema vähemalt selle pikkuse. 750 00:45:08,410 --> 00:45:11,800 Võib-olla tuleb see numbriline. Võib-olla tuleb see tähtnumbriline. 751 00:45:11,800 --> 00:45:14,410 Võibolla see on äärmisel pikkust, nii edasi ja nii edasi. 752 00:45:14,410 --> 00:45:17,730 Seal on palju erinevaid reegleid, mis Kohana annab teile, 753 00:45:17,730 --> 00:45:19,610 ja võid minna oma veebilehel, vaadata dokumentatsiooni, 754 00:45:19,610 --> 00:45:23,150 ja näed kõiki erinevaid asju, mida saab teha. 755 00:45:23,150 --> 00:45:25,650 >> Aga see on kõik, mida ma pean tegema, 756 00:45:25,650 --> 00:45:30,490 ja nüüd vaatame, mis juhtub 757 00:45:30,490 --> 00:45:34,060 kui ma esitada tühi postitus. 758 00:45:34,060 --> 00:45:36,960 Mis juhtub? Oh, ei, ma saan veateate. 759 00:45:36,960 --> 00:45:39,440 Ma saan valideerimise erand. 760 00:45:39,440 --> 00:45:41,070 Noh, see on hea. 761 00:45:41,070 --> 00:45:43,200 Ta ütles mulle, et mu mudel on kehtetu, 762 00:45:43,200 --> 00:45:45,780 aga ma ei taha, et näidata, välja arvatud 763 00:45:45,780 --> 00:45:48,720 minu kasutajad, kui nad püüavad esitada midagi vale, eks? 764 00:45:48,720 --> 00:45:51,560 Ma tahan anda neile mingi sõbralikumaks veateade 765 00:45:51,560 --> 00:45:53,610 kui midagi läheb valesti. 766 00:45:53,610 --> 00:46:01,830 Mida me teeme, on me 767 00:46:01,830 --> 00:46:04,490 wrap kõike proovida saak loop. 768 00:46:04,490 --> 00:46:06,750 Tegelikult ma arvan, et see on ka midagi, mida sa ei ole õppinud veel 769 00:46:06,750 --> 00:46:10,820 aastal CS50, sest C programmeerimiskeelt C, 770 00:46:10,820 --> 00:46:14,000 ei ole erandeid, kuid peaaegu iga muu keel 771 00:46:14,000 --> 00:46:16,700 on erandeid, nii tõesti lühidalt 772 00:46:16,700 --> 00:46:19,430 Erandiks on midagi, mis on tükk koodi saab 773 00:46:19,430 --> 00:46:21,430 viska välja arvatud siis, kui midagi läheb valesti, 774 00:46:21,430 --> 00:46:23,410 kuid siis võib-olla mõned teised tükk kood kõrgemal 775 00:46:23,410 --> 00:46:25,810 ei saagi, et erand ja sellega midagi teha. 776 00:46:25,810 --> 00:46:27,710 >> Näiteks sel juhul, 777 00:46:27,710 --> 00:46:29,940 tükk kood, mis üritab päästa mudeli 778 00:46:29,940 --> 00:46:33,170 see kinnitab mudel, ja kui ta ütleb: "Okei, see mudel on kehtetu" 779 00:46:33,170 --> 00:46:36,150 see läheb visata erand, ja see on omamoodi võrdväärne 780 00:46:36,150 --> 00:46:39,870 C võite tagasi -1 või midagi sellist. 781 00:46:39,870 --> 00:46:42,320 Ja siis minu jaoks on see funktsioon, minu kood 782 00:46:42,320 --> 00:46:46,310 kõrgemal tasandil, võin proovida ja püüda seda erandit 783 00:46:46,310 --> 00:46:49,330 ja põhimõtteliselt öelda: "Okei, kui ma saagi, välja arvatud, mida ma teen?" 784 00:46:49,330 --> 00:46:51,570 Või ma ei soovi, ei saagi, et erand ja las keegi kõrgemal 785 00:46:51,570 --> 00:46:54,400 saagi erand või kui keegi saagi seda, 786 00:46:54,400 --> 00:46:56,820 siis kogu programm jookseb ja ütleb: 787 00:46:56,820 --> 00:46:59,170 "Midagi läks valesti, ja ma ei saanud sellega hakkama." 788 00:46:59,170 --> 00:47:04,490 >> Aga mida me teeme, on mässida tükk koodi proovida plokk, 789 00:47:04,490 --> 00:47:09,030 ja siis ka lisada midagi, mida nimetatakse saagi plokk, 790 00:47:09,030 --> 00:47:17,300 mis on omamoodi kood, mis püüdke erandeid, mis võivad tekkida. 791 00:47:17,300 --> 00:47:20,430 Ja kui ma saagi seda konkreetset erandit 792 00:47:20,430 --> 00:47:23,110 või kehtetuks, välja arvatud, siis see, mida ma lähen tegema, on 793 00:47:23,110 --> 00:47:31,210 Ma panen vead - ma arvan, et see, kuidas ma seda teen - 794 00:47:31,210 --> 00:47:35,370 ja ma panen vigu mõnele asjale. 795 00:47:35,370 --> 00:47:40,920 Ja siis see, mida ma lähen tegema, on see, kui see tabab see erand, 796 00:47:40,920 --> 00:47:43,090 ta ei kavatse suunata, ja kui see ei suunata, 797 00:47:43,090 --> 00:47:46,160 see läheb välja tulema, kui blogi 798 00:47:46,160 --> 00:47:49,920 ja tabas selle blogi / uus, mis tahad mida ma tahan teha. 799 00:47:49,920 --> 00:47:53,190 Kui on viga, siis ma tahan minna tagasi vormi 800 00:47:53,190 --> 00:47:55,100 ja näidata neid vigu. 801 00:47:55,100 --> 00:48:00,780 Nüüd, mida ma tahan teha, on Ma tahan läbida neid vigu 802 00:48:00,780 --> 00:48:07,010 seisukohale. 803 00:48:07,010 --> 00:48:10,360 Okei, ma arvan, et ma pean silmas siin, 804 00:48:10,360 --> 00:48:14,660 ja põhimõtteliselt ma tahan, et kuvada need vead, kui need on olemas. 805 00:48:14,660 --> 00:48:19,740 Enne kui ma kirjutada HTML eest, ma lähen tõesti kiiresti 806 00:48:19,740 --> 00:48:21,720 näidata, mida selle struktuur vigu muutuja Paistab, 807 00:48:21,720 --> 00:48:23,080 ja see on hea tava üldiselt. 808 00:48:23,080 --> 00:48:25,070 Palju kordi sa saad midagi tagasi teatud meetod, 809 00:48:25,070 --> 00:48:27,250 mõned funktsiooni web raamistikku, 810 00:48:27,250 --> 00:48:29,410 ja sa ei tea, mida muutuja välja näeb, 811 00:48:29,410 --> 00:48:31,210 nii et sa ei tea, kuidas sellega tegeleda. 812 00:48:31,210 --> 00:48:37,790 Ma lähen kasutada print r meetod põhiliselt printida. 813 00:48:37,790 --> 00:48:41,100 >> Ja nagu näete, see ütleb mulle, et see on assotsieerunud massiiv, 814 00:48:41,100 --> 00:48:44,880 ja sul on võti, autor, osutab see string, 815 00:48:44,880 --> 00:48:47,050 autor ei tohi olla tühi ja teine ​​võti, keha, 816 00:48:47,050 --> 00:48:49,680 punkti teise string, keha ei tohi olla tühi. 817 00:48:49,680 --> 00:48:52,130 Ma olen nagu, okei, lahe. 818 00:48:52,130 --> 00:48:56,230 Siis ma saan kinnitada, läbi massiivi ja printida iga sõnum. 819 00:48:56,230 --> 00:49:02,150 See on põhimõtteliselt nagu assotsiatiivne massiiv hunnik sõnumeid. 820 00:49:02,150 --> 00:49:13,500 Mida ma teen, on "kui vigu," 821 00:49:13,500 --> 00:49:17,140 ja ma lähen Tavalise nimekirja loomiseks, 822 00:49:17,140 --> 00:49:20,860 ja ma lähen itereerima läbi kõik vead. 823 00:49:33,730 --> 00:49:38,710 Ja see, ja nüüd ma lähen proovi saata see uuesti 824 00:49:38,710 --> 00:49:41,200 ja vaatame, mis me saame. 825 00:49:41,200 --> 00:49:45,370 Nüüd saame seda kena vigade nimekirja, 826 00:49:45,370 --> 00:49:48,630 ja see on ikka päris kole, kuid see ilmselt võimalik vormindatud vaadata kena, 827 00:49:48,630 --> 00:49:51,620 kuid põhiidee on ainult paar rida koodi, 828 00:49:51,620 --> 00:49:53,720 suutsime kinnitada meie mudel, 829 00:49:53,720 --> 00:49:56,510 veenduge, et teatud valdkondades ei olnud tühjad, 830 00:49:56,510 --> 00:49:59,740 ja kui midagi läks valesti, siis tagasi mingi veateate 831 00:49:59,740 --> 00:50:01,760 Ma võiks siis esitada kasutajale tagasi. 832 00:50:01,760 --> 00:50:03,910 Samuti saate kohandada oma valideerimine 833 00:50:03,910 --> 00:50:07,590 nii et saate tegelikult on veateade 834 00:50:07,590 --> 00:50:09,620 mis on konkreetselt teie taotluse või midagi sellist. 835 00:50:09,620 --> 00:50:14,600 Kõik, mis on üldiselt kohandatav. 836 00:50:14,600 --> 00:50:17,150 >> Kahjuks meil hakkab aeg otsa saama, 837 00:50:17,150 --> 00:50:20,040 nii et ma lähen on lõigata live kodeerimine istungil siin. 838 00:50:20,040 --> 00:50:22,980 Seal on hunnik muid funktsioone, mis ma tahan näidata teile 839 00:50:22,980 --> 00:50:25,650 Käesolevas näites. 840 00:50:25,650 --> 00:50:27,620 Näiteks võite lisada malle saidile 841 00:50:27,620 --> 00:50:31,110 et äkki on mingi HTML-koodi, mida soovite rakendada 842 00:50:31,110 --> 00:50:35,190 et iga lehekülje saidile, ja selle asemel, et kleepida, et 843 00:50:35,190 --> 00:50:40,630 igas ühes vaates faili pead, mis ilmselt oleks halb tava, 844 00:50:40,630 --> 00:50:43,020 saab põhimõtteliselt määratleda need mallid, 845 00:50:43,020 --> 00:50:46,660 ja siis oma kontroller öelda: "Okei, ma kasutan seda malli." 846 00:50:46,660 --> 00:50:50,130 "Kas kõik mu vaated seda malli kasutada." 847 00:50:50,130 --> 00:50:52,470 Ja viimane asi, mida ma tahan näidata teile samuti 848 00:50:52,470 --> 00:50:57,800 et meil ei ole aega, on piiriülese saidi skriptimine 849 00:50:57,800 --> 00:51:01,430 ja põhimõtteliselt ma arvan, et te olete ilmselt näinud CS50 - 850 00:51:01,430 --> 00:51:03,770 Ma arvan, et David Malan ilmselt rääkis, kuidas saab tavaliselt süstida 851 00:51:03,770 --> 00:51:08,040 JavaScript kood - olete sellest rääkinud? 852 00:51:08,040 --> 00:51:10,220 Võib-olla? Võib-olla mitte? 853 00:51:10,220 --> 00:51:12,670 >> Aga palju kordi võite süstida pahatahtlik JavaScript koodi 854 00:51:12,670 --> 00:51:15,630 kellegi andmebaas ning kui nad ei pääse, et õigesti, 855 00:51:15,630 --> 00:51:18,280 siis, kui tegemist on, et andmed tagasi kasutaja 856 00:51:18,280 --> 00:51:21,310 siis võib joosta mingi juhuslik JavaScript koodi sa ei taha juhtuda, 857 00:51:21,310 --> 00:51:23,050 ja ma läksin näitama, kuidas sa seda tegid jooksul Kohana. 858 00:51:23,050 --> 00:51:25,380 See on tegelikult tõesti lihtne. 859 00:51:25,380 --> 00:51:31,920 Ma võiksin seda teha just nüüd on 2 sekundit sõnalt. 860 00:51:31,920 --> 00:51:34,560 Kõik, mida pead tegema, on põhimõtteliselt wrap neid asju 861 00:51:34,560 --> 00:51:46,920 Selles asi nimega HTML üksused. 862 00:51:46,920 --> 00:51:51,180 Ja et automaatselt pääseda kõik märgid õigesti 863 00:51:51,180 --> 00:51:54,730 ja veenduge, et sa ei saa seda probleemi lahendada. 864 00:51:54,730 --> 00:51:57,220 [Student] Sa kirjutatud esimene test valesti. 865 00:51:57,220 --> 00:52:01,030 [Brandon Liu] Oh, oops. 866 00:52:01,030 --> 00:52:06,420 >> Olgu, see on kõik, mis mul oli, et jagada teiega täna. 867 00:52:06,420 --> 00:52:09,930 Need slaidid saab olema postitatud, kuid need on tavaliselt 868 00:52:09,930 --> 00:52:13,900 vaid vahendeid sa peaksid tõesti vaja alustada Kohana. 869 00:52:13,900 --> 00:52:16,770 Võite minna veebilehel. Neil on kasutusjuhend, ja neil on ka API explorer. 870 00:52:16,770 --> 00:52:20,630 Me saame uurida kõiki erinevaid funktsioone ja helper funktsioone nad on teile. 871 00:52:20,630 --> 00:52:22,070 Nad on üldiselt piisavalt teavet veebilehel 872 00:52:22,070 --> 00:52:25,310 , mida saab kasutada, et alustada ja hakkan minema Kohana. 873 00:52:25,310 --> 00:52:30,840 Seal ei ole nii palju õpetused, ma arvan, sest Kohana, väljaspool 874 00:52:30,840 --> 00:52:33,880 mis neil kodulehel siin, nii et see on ilmselt parim valik. 875 00:52:33,880 --> 00:52:35,600 Aga kui sa tahad minna koos web raamistik 876 00:52:35,600 --> 00:52:37,120 ja sa ei taha olla kiirenemist uut keelt, 877 00:52:37,120 --> 00:52:39,780 ja sa tahad midagi, mis on suhteliselt kerge ja on lihtne õppimiskõver 878 00:52:39,780 --> 00:52:41,570 Tahaksin kindlasti soovitada Kohana. 879 00:52:41,570 --> 00:52:44,040 See on ilmselt parim pakkumine selle eest. 880 00:52:44,040 --> 00:52:46,830 Naljakas, aga see, kui olime kasutades Ruby on Rails, 881 00:52:46,830 --> 00:52:48,550 oleksime korratud mida tegime 882 00:52:48,550 --> 00:52:51,430 ja ilmselt rohkem alla 3 minuti. 883 00:52:51,430 --> 00:52:54,710 No nali, kuid õppe Ruby on Rails võtab palju kauem 884 00:52:54,710 --> 00:52:56,780 kui see võtaks õppida Kohana. 885 00:52:56,780 --> 00:52:58,840 See on põhimõtteliselt oma valik, mida soovite valida, et õppida, 886 00:52:58,840 --> 00:53:01,260 aga kui sa tahad saada ja töötab kiiresti, 887 00:53:01,260 --> 00:53:03,870 Kohana on kindlasti väga hea valik. 888 00:53:03,870 --> 00:53:06,730 >> Kõik viimase küsimusi, enne kui me lõpuks? Jah. 889 00:53:06,730 --> 00:53:08,020 [Student] Kuidas me integreerida see 890 00:53:08,020 --> 00:53:13,120 aastal CSS raamistikku nagu sa kasutasid kui sa juhendades? 891 00:53:13,120 --> 00:53:16,700 Küsimus on selles, kuidas me integreerida et koos CSS raamistik? 892 00:53:16,700 --> 00:53:18,740 Mida me ilmselt teha, on meil ilmselt sisaldama 893 00:53:18,740 --> 00:53:21,090 uus kaust, kuhu me pane kõiki oma CSS faili, 894 00:53:21,090 --> 00:53:23,010 ja siis me ka lisada uue malli. 895 00:53:23,010 --> 00:53:26,090 Malli me hulka kuuluvad CSS failid 896 00:53:26,090 --> 00:53:28,410 veenduge, et nad on viidatud igal ühel leheküljel, 897 00:53:28,410 --> 00:53:32,220 ja siis, kui sa tegelikult kirjutad HTML, 898 00:53:32,220 --> 00:53:34,010 sa lihtsalt lisada asjakohane klasside ja tühi-tähi, 899 00:53:34,010 --> 00:53:36,100 ja näiteks, kui te kasutate midagi vorm 900 00:53:36,100 --> 00:53:40,710 abistaja funktsiooni, võite lisada rohkem parameetreid pärast 901 00:53:40,710 --> 00:53:42,830 täpsustada, mis liiki soovite siduda erinevaid asju 902 00:53:42,830 --> 00:53:47,820 et nad saaksid stiil korralikult, ja see on põhiliselt, kuidas teil läheb. 903 00:53:47,820 --> 00:53:50,100 >> Kõik muud küsimused? 904 00:53:50,100 --> 00:53:52,090 Lahe. 905 00:53:52,090 --> 00:53:58,540 Tänan teid teie aja eest, ja tänan teid, et tulite. 906 00:53:58,540 --> 00:54:05,170 Ma ei kavatse lisada väga palju muud, 907 00:54:05,170 --> 00:54:08,560 vaid 1 tõeliselt kiire asi on meil ei ole link 908 00:54:08,560 --> 00:54:12,590 vormi. 909 00:54:12,590 --> 00:54:14,310 Tõesti loll. 910 00:54:14,310 --> 00:54:20,110 Lisame - tegelikult vaadata, blogi, indeks, 911 00:54:20,110 --> 00:54:23,890 olgem tõesti kiiresti lisada link, mis läheb uue lehekülje, 912 00:54:23,890 --> 00:54:26,770 lehele, kus me saame lisada uus postitus. 913 00:54:26,770 --> 00:54:29,950 Me teeme seda. 914 00:54:29,950 --> 00:54:34,020 Mis on tore on on kogu rühma HTML helper funktsioone 915 00:54:34,020 --> 00:54:37,090 mis teha erinevaid asju, nii et sul juba nägin üksuste 916 00:54:37,090 --> 00:54:41,980 toimi siin, kuid neil on ka funktsioon nimega "ankur" 917 00:54:41,980 --> 00:54:45,400 kuhu saab kirjutada blogi / uus 918 00:54:45,400 --> 00:54:49,550 ja ütlevad: "Post uue blogi." 919 00:54:49,550 --> 00:54:51,850 Ja see tekitaks see link teile, 920 00:54:51,850 --> 00:54:54,120 ja see tundub tõesti triviaalne teha, aga see on tore, 921 00:54:54,120 --> 00:54:58,720 sest arvan, et te olete liigub oma kodulehel alates 1. domeen teise. 922 00:54:58,720 --> 00:55:01,390 Ja kui sa lihtsalt kirjutas URL ise, 923 00:55:01,390 --> 00:55:04,350 siis oleks muuta kõik URL-id. 924 00:55:04,350 --> 00:55:06,850 Või äkki kolis ta alates 1. alamkataloogi teise alamkataloogi. 925 00:55:06,850 --> 00:55:08,790 Sa ei pea muutma kõik need URL-ise, 926 00:55:08,790 --> 00:55:12,180 ja see ei ole lõbus. 927 00:55:12,180 --> 00:55:14,510 Võite kasutada seda ankur siin, 928 00:55:14,510 --> 00:55:18,950 ja saab muuta domeeni või alamkausta eesliide 929 00:55:18,950 --> 00:55:20,640 konfiguratsioonifailis kord, 930 00:55:20,640 --> 00:55:22,980 ja siis rakendab seda kõikjal, ja see on jällegi 931 00:55:22,980 --> 00:55:26,930 Hea näide ei korda ennast, kuivatamine oma koodi välja. 932 00:55:26,930 --> 00:55:30,370 Kus sa oled, korrates ise proovida ja väljavõtte mingisugune konfiguratsioonifaili 933 00:55:30,370 --> 00:55:34,160 või erinev funktsioon ja on seda käsitleda, et teile. 934 00:55:34,160 --> 00:55:42,930 >> Ja kõige viimane asi, mida ma tahtsin teile näidata, oli 935 00:55:42,930 --> 00:55:50,250 arvan, et me oleme tagasi alguses postitus, ja ma olin koosneb mõned väga pikk essee, 936 00:55:50,250 --> 00:55:52,670 aga ma unustasin lisada minu autor. 937 00:55:52,670 --> 00:55:55,210 Nüüd, kui ma vajuta "Submit Post" 938 00:55:55,210 --> 00:55:57,270 Ma kaotasin kõik. 939 00:55:57,270 --> 00:56:00,000 Ei! Tõesti kurb. 940 00:56:00,000 --> 00:56:03,870 Niisiis, kuidas sa tegeleda sellega? 941 00:56:03,870 --> 00:56:06,070 See on see, mida me teeme. 942 00:56:06,070 --> 00:56:09,340 Mis me teeme, on siin nende panuse ja teksti ala funktsioonid 943 00:56:09,340 --> 00:56:12,700 kui arvestada ka teine ​​parameeter, siis selle väärtus, teine ​​parameeter 944 00:56:12,700 --> 00:56:16,620 saab olema see, mis valdkonnas läheb esialgu asustatud. 945 00:56:16,620 --> 00:56:23,570 Mida me teha saame on meie blogi kontroller, 946 00:56:23,570 --> 00:56:25,360 võiksime siduda teise muutuja. 947 00:56:25,360 --> 00:56:27,050 Nimetagem seda "väärtused" võibolla. 948 00:56:27,050 --> 00:56:30,620 Ja liigu post massiiv, sõna otseses mõttes. 949 00:56:30,620 --> 00:56:32,620 See tähendab, et kui valideerimine ebaõnnestus 950 00:56:32,620 --> 00:56:36,570 andke mulle post massiivi esitasin viimase nõudmisel 951 00:56:36,570 --> 00:56:38,420 ja nii ma saan kasutada väärtused minu viimane esitamine 952 00:56:38,420 --> 00:56:44,540 repopulate väljad. 953 00:56:44,540 --> 00:56:49,600 Nüüd ma saan teha midagi väärtused autor 954 00:56:49,600 --> 00:56:55,180 ja väärtustab keha, ja nii nüüd kui ma mõne juhusliku kraami 955 00:56:55,180 --> 00:57:01,490 ja vajuta "Submit Post", siis ta jääb sinna. 956 00:57:01,490 --> 00:57:03,830 Aga me ei kavatse joosta teise probleem. 957 00:57:03,830 --> 00:57:07,670 See toimib, kuid kui ma lähen lehele esimest korda, 958 00:57:07,670 --> 00:57:09,720 see läheb krahhi, ja see on, sest esimest korda 959 00:57:09,720 --> 00:57:13,730 me minna lehele, postitus muutuja ei ole veel määratletud. 960 00:57:13,730 --> 00:57:18,170 See on null. Seda pole olemas. 961 00:57:18,170 --> 00:57:21,630 >> Ja mida me tahame öelda, on see, kui see võti on olemas, 962 00:57:21,630 --> 00:57:27,750 siis tagasi väärtuse selles array, 963 00:57:27,750 --> 00:57:30,450 kuid kui võti ei ole olemas, siis tagastab tühja stringi. 964 00:57:30,450 --> 00:57:32,150 See on funktsionaalsus, mida me tahame siin. 965 00:57:32,150 --> 00:57:34,690 Me tahame, et kontrollida, kui võti on olemas, enne kui proovite juurdepääsu massiivi 966 00:57:34,690 --> 00:57:36,580 ja õnneks piisavalt, 967 00:57:36,580 --> 00:57:38,570 Kohana annab meile abistaja funktsiooni eest. 968 00:57:38,570 --> 00:57:41,040 Nad on kogu see komplekt funktsioone 969 00:57:41,040 --> 00:57:43,660 nime all ARR, lühike massiiv, 970 00:57:43,660 --> 00:57:45,800 ja neil on 1 funktsioon nimega "saada" 971 00:57:45,800 --> 00:57:48,690 ja saab edasi massiivi, 972 00:57:48,690 --> 00:57:50,740 ja te ei liigu nime võti. 973 00:57:50,740 --> 00:57:54,330 Siis põhiliselt, mida ta teeb on see püüab saada, et võti, 974 00:57:54,330 --> 00:57:56,470 kuid kui võti ei eksisteeri massiivi 975 00:57:56,470 --> 00:58:00,900 siis naaseb tühi, või saame ka määrata vaikimisi, ma usun, 976 00:58:00,900 --> 00:58:03,500 mis on tore. 977 00:58:09,740 --> 00:58:13,150 Nüüd, kui me teeme sama asja uuesti, 978 00:58:13,150 --> 00:58:15,970 siis näed nüüd see töötab esimest korda ümber, 979 00:58:15,970 --> 00:58:18,080 ja uuesti, kui me kirjuta mingi suvaline värk 980 00:58:18,080 --> 00:58:23,210 ja proovida ja esitab siis ta jääb sinna. 981 00:58:23,210 --> 00:58:31,640 >> Ja ma arvan, et saan ka teile näidata, kuidas lisada malli tõesti kiiresti. 982 00:58:31,640 --> 00:58:36,140 Mida me saame teha, esiteks me saame lisada uus vaade nimega "template.php" 983 00:58:36,140 --> 00:58:38,890 jooksul Views kausta 984 00:58:38,890 --> 00:58:44,730 ja mida ma lähen tegema, on ma lähen välja printida midagi, mida nimetatakse "sisu" 985 00:58:44,730 --> 00:58:49,130 mis saab olema minu peamine sisu. 986 00:58:49,130 --> 00:58:51,380 Ja võib-olla väga põhjas ma lisada, ütleme, 987 00:58:51,380 --> 00:58:53,340 autoriõigus. 988 00:58:53,340 --> 00:58:56,150 [Kuuldamatu õpilane küsimus] 989 00:58:56,150 --> 00:58:58,050 [Brandon Liu] Võibolla see on super põhi template ma tahan kasutada. 990 00:58:58,050 --> 00:59:02,840 Ma tahan olla kausta minu autoriõigus igal ühel leheküljel, 991 00:59:02,840 --> 00:59:05,560 ja nüüd, mida ma lähen tegema sees minu kontroller 992 00:59:05,560 --> 00:59:07,740 Nüüd on selle asemel, et öelda: "laieneb Controller" 993 00:59:07,740 --> 00:59:11,870 Ma ütlen: "laieneb Controller_Template" 994 00:59:11,870 --> 00:59:15,890 ja nüüd selle asemel, et öelda: "Vastuseks keha on võrdne selle eesmärgiga," 995 00:59:15,890 --> 00:59:24,110 Ma ütlen, et "seda malli sisu -" 996 00:59:24,110 --> 00:59:27,690 ja ma arvan, et - ma panen võrdusmärk? 997 00:59:27,690 --> 00:59:32,710 Ma unustan. Jah, nii ma arvasin. 998 00:59:32,710 --> 00:59:37,710 Ja nüüd ma seda sisu muutuja võrdseks vaade. 999 00:59:37,710 --> 00:59:40,960 Ma võin teha sama siin. 1000 00:59:49,620 --> 00:59:57,170 Ja nüüd, kui ma värskendada, näete nüüd see autoriõiguse lisatakse sinna 1001 00:59:57,170 --> 01:00:00,350 ja lihtsalt mingi suvaline post, 1002 01:00:00,350 --> 01:00:06,760 ja siis jälle, siis tuleb tõdeda, et autoriõigus on väga lehekülje allosas. 1003 01:00:06,760 --> 01:00:10,730 >> Great. See on kõik, mida ma tahtsin näidata teile poisid. 1004 01:00:10,730 --> 01:00:14,970 [Aplaus] 1005 01:00:14,970 --> 01:00:18,950 Kas on küsimusi? 1006 01:00:18,950 --> 01:00:21,000 [CS50.TV]