1 00:00:00,000 --> 00:00:02,150 >> [Seminè] [Kohana: A lejè PHP chapant] 2 00:00:02,150 --> 00:00:04,000 [Brandon Liu] [Harvard University] 3 00:00:04,000 --> 00:00:07,270 [Sa a se CS50.] [CS50.TV] 4 00:00:07,270 --> 00:00:09,130 >> Hi tout moun. Non mwen se Brandon. 5 00:00:09,130 --> 00:00:11,000 Mwen se yon jinyò isit la nan kolèj fè syans konpitè a, ak jodi a nou pral pale sou 6 00:00:11,000 --> 00:00:14,460 Kohana, ki se yon fondasyon devlopman web PHP. 7 00:00:14,460 --> 00:00:17,260 Jodi a se pral fè yon seminè ap viv kodaj, 8 00:00:17,260 --> 00:00:21,000 se konsa mwen fondamantalman pral depanse 5-10 minit esplike ou kisa ki Kohana se, 9 00:00:21,000 --> 00:00:25,000 ak Lè sa a, mwen literalman ale nan bati yon blog super senp 10 00:00:25,000 --> 00:00:28,570 pou ou isit la literalman nan grate. 11 00:00:28,570 --> 00:00:32,229 Nou pral download kòd la soti nan sit entènèt la Kohana, 12 00:00:32,229 --> 00:00:35,000 e nou pral kòmanse bati yon blog, ak èspere ke li pral trè édikatif, 13 00:00:35,000 --> 00:00:37,000 paske ou pral wè petèt petèt mwen pral fè kèk erè, 14 00:00:37,000 --> 00:00:39,000 epi ou ap wè m 'refè nan men yo, 15 00:00:39,000 --> 00:00:42,040 oswa ou pral wè pwosesis te panse mwen jan mwen bati nan blog sa a, 16 00:00:42,040 --> 00:00:44,000 ak pandan se tan, ou pral jwenn ki abitye avèk fondasyon nan tèt li tou. 17 00:00:44,000 --> 00:00:48,000 Nou swete ke li pral yon fè egzèsis trè édikatif. 18 00:00:48,000 --> 00:00:51,370 >> Premyèman, ki sa egzakteman se yon ankadreman? 19 00:00:51,370 --> 00:00:54,000 Si ou ve yo te pran CS50 twò lwen, ou pa t 'reyèlman te travay ak nenpòt ki 20 00:00:54,000 --> 00:00:56,000 cadres ankò, ak bagay la se sa a. 21 00:00:56,000 --> 00:01:00,000 Ou te pwobableman fè 1 devlopman web pset deja, 22 00:01:00,000 --> 00:01:03,000 epi kite pou nou di ou kontinye bati sou sit entènèt epi kenbe sou sit entènèt bilding nan. 23 00:01:03,000 --> 00:01:05,000 Ou ap kòmanse a yon avi yon bagay kèk. 24 00:01:05,000 --> 00:01:07,000 Premye bagay ou ap remake se ke ou ap pwobableman ap fè menm bagay yo 25 00:01:07,000 --> 00:01:09,150 sou yo ak sou ankò tout tan tout tan an, 26 00:01:09,150 --> 00:01:13,000 bagay sa yo tankou netwaye done opinyon itilizatè, 27 00:01:13,000 --> 00:01:17,250 bagay sa yo tankou òganize dosye ou nan yon sèten fason. 28 00:01:17,250 --> 00:01:19,000 Lòt bagay ou pral tou pwobableman remake se ke Kòd ou 29 00:01:19,000 --> 00:01:21,000 kapab kòmanse yo vin trè, trè sal, 30 00:01:21,000 --> 00:01:24,000 epi ou ka kite li sal ak jis gen yon tan trè difisil kenbe li, 31 00:01:24,000 --> 00:01:26,000 oswa ou kapab kòmanse estrikti Kòd ou ak fè li modilè 32 00:01:26,000 --> 00:01:28,510 a nan sèten fason fè li plis soutnabl. 33 00:01:28,510 --> 00:01:31,020 >> Sa a se kote cadres entènèt fondamantalman te vin pous 34 00:01:31,020 --> 00:01:33,680 Moun sa yo ki te fin bati yon anpil nan sit entènèt, yo di: 35 00:01:33,680 --> 00:01:35,820 "Nou pa bezwen refè sa a chak fwa yon sèl nou bati yon sit entènèt." 36 00:01:35,820 --> 00:01:39,050 "Poukisa nou pa nou jis fè yon pake ki fè tout bagay sa yo pou ou 37 00:01:39,050 --> 00:01:41,250 chak fwa yon sèl ou vle bati yon sit entènèt? " 38 00:01:41,250 --> 00:01:43,030 Se konsa, ki lè ou fè yon nouvo sit wèb, 39 00:01:43,030 --> 00:01:45,880 ou jis konsantre sou ki sa egzakteman sou sit wèb sa a an patikilye se sou yo. 40 00:01:45,880 --> 00:01:48,630 Ou pa bezwen repete tout configuration la, te divès kalite 41 00:01:48,630 --> 00:01:53,070 ak separasyon kòd ak reekri Kòd 42 00:01:53,070 --> 00:01:56,180 ke ou souvan gen w dwe fè lè ou ap fè sit entènèt. 43 00:01:56,180 --> 00:01:59,410 Lide a se ke yon fondasyon pèmèt ou ekri yon kòd pi wo-nivo 44 00:01:59,410 --> 00:02:01,030 san yo pa gen enkyete sou detay pi ba-nivo. 45 00:02:01,030 --> 00:02:03,670 Yon detay pi ba-nivo ta kapab yon bagay tankou 46 00:02:03,670 --> 00:02:07,250 fè fas ak netwaye done opinyon itilizatè. 47 00:02:07,250 --> 00:02:09,320 Sa se yon bagay ke ou pa ta dwe reyèlman bezwen enkyete sou. 48 00:02:09,320 --> 00:02:12,370 Ou ta dwe konsantre sou sa alokasyon entènèt ou an se aktyèlman sou yo. 49 00:02:12,370 --> 00:02:14,790 Li elimine yon anpil nan Kòd boilerplate. 50 00:02:14,790 --> 00:02:16,640 Li se yon achitekti pou pwojè ou. 51 00:02:16,640 --> 00:02:18,680 >> Youn nan ki pi popilè ta dwe ki gen konpòtman egzanplè-View-Kontwolè, 52 00:02:18,680 --> 00:02:20,380 ki mwen pral pale sou yo nan yon dezyèm fwa. 53 00:02:20,380 --> 00:02:22,790 Ak yon anpil nan fwa cadres sa yo enkòpore yon seri pwosedi, 54 00:02:22,790 --> 00:02:25,750 règ yo, ak pi bon pratik pou ou pou w sèvi ak 55 00:02:25,750 --> 00:02:28,190 se konsa ke lè ou adopte kad wèb la 56 00:02:28,190 --> 00:02:30,050 ou gen yo ekri kòd ou a nan yon sèten fason, 57 00:02:30,050 --> 00:02:32,430 epi li jeneralman yon dakò sou seri prensip 58 00:02:32,430 --> 00:02:34,290 nan kominote a ki se jeneralman aksepte yo dwe 59 00:02:34,290 --> 00:02:36,230 yon bon fason nan kòd ekri. 60 00:02:36,230 --> 00:02:38,260 Li fè kòd ou plis soutnabl, plis ka itilize, 61 00:02:38,260 --> 00:02:40,030 Se konsa, sou ak pou fè. 62 00:02:40,030 --> 00:02:42,740 E finalman, bagay la mwen vle mete aksan sou sou cadres 63 00:02:42,740 --> 00:02:45,980 kont bibliyotèk se lide sa a sou entèrvèrsyon nan kontwòl, ak bagay la se sa a. 64 00:02:45,980 --> 00:02:48,430 Diferans ki genyen ant yon bibliyotèk ak yon fondasyon se ke ak yon bibliyotèk 65 00:02:48,430 --> 00:02:51,990 ou toujou ekri pwogram nan prensipal yo, 66 00:02:51,990 --> 00:02:54,460 , epi ou ap sòt de envoke bibliyotèk la 67 00:02:54,460 --> 00:02:56,810 ak lè w rele sou bibliyotèk la fè yon bagay pou ou. 68 00:02:56,810 --> 00:02:58,180 Diferans ki genyen ant yon bibliyotèk ak yon fondasyon 69 00:02:58,180 --> 00:03:01,620 se ke fondasyon an kòmanse soti ak kontwòl la, 70 00:03:01,620 --> 00:03:03,260 epi li susit Kòd ou, 71 00:03:03,260 --> 00:03:06,190 Se konsa, ou ka panse a li kòm - sa a se poukisa sa yo rele li yon fondasyon - 72 00:03:06,190 --> 00:03:09,700 fondasyon an bay ankadreman sa a ak estrikti pou kòd ou a, 73 00:03:09,700 --> 00:03:11,320 epi ou ranpli nan twou yo, 74 00:03:11,320 --> 00:03:13,990 ak sa a ap vin pi aparan nan yon dezyèm 75 00:03:13,990 --> 00:03:16,670 lè ou wè m 'kòmanse ekri kòd ki nan kontèks la nan fondasyon an. 76 00:03:16,670 --> 00:03:19,130 Ou pral wè ke mwen ranpli nan twou vid ki genyen yo, 77 00:03:19,130 --> 00:03:22,450 ak fondasyon an ki kalite kontwole tout moso yo k ap deplase, 78 00:03:22,450 --> 00:03:27,420 ak mwen gen yo mete moso yo nan tout tanp zidòl yo dwat. 79 00:03:27,420 --> 00:03:29,360 >> Jodi a nou pwal pale osijè Kohana, 80 00:03:29,360 --> 00:03:31,610 ki se youn nan anpil cadres PHP. 81 00:03:31,610 --> 00:03:34,550 Gen cadres entènèt, e gen moun nan pwatikman chak lang yon sèl, 82 00:03:34,550 --> 00:03:38,330 ak mwen davwa Kohana paske Kohana se joui 83 00:03:38,330 --> 00:03:43,250 epi jeneralman rekonèt kòm fondasyon an PHP pi fasil yo ranmase. 84 00:03:43,250 --> 00:03:45,940 Li nan pi lejè a. 85 00:03:45,940 --> 00:03:48,470 Gen lòt moun yo deyò ki vini ak anpil, anpil plis karakteristik, 86 00:03:48,470 --> 00:03:51,590 men yo gen tandans yo dwe pi difisil nan ranmase. 87 00:03:51,590 --> 00:03:54,920 E finalman, Kohana sèvi ak achitekti a mv. 88 00:03:54,920 --> 00:03:57,780 Li nan ki lejè ase pou nou ka literalman bati yon pwojè 89 00:03:57,780 --> 00:03:59,620 dwa isit la dwat devan je ou, epi ou ka bèl anpil 90 00:03:59,620 --> 00:04:02,780 swiv ansanm trè fasil. 91 00:04:02,780 --> 00:04:04,420 >> Ki sa ki se achitekti nan mv? 92 00:04:04,420 --> 00:04:06,540 Li vle di pou ki gen konpòtman egzanplè-View-Kontwolè, 93 00:04:06,540 --> 00:04:09,560 e petèt si ou panse sou kòd la ou ve yo te ekri byen lwen tèlman 94 00:04:09,560 --> 00:04:11,280 pou kèk nan psets devlopman entènèt ou an 95 00:04:11,280 --> 00:04:14,710 ou kapab wè kèk nan sa a, men anjeneral lè ou kòmanse ekri 96 00:04:14,710 --> 00:04:16,500 yon aplikasyon sou entènèt pi konplèks, 97 00:04:16,500 --> 00:04:21,209 divizyon ki genyen ant 3 segments sa yo vin pi plis ak plis evidan. 98 00:04:21,209 --> 00:04:26,740 Mwen mete deyò mv a isit la sòt de kòm yon pil, 99 00:04:26,740 --> 00:04:29,920 epi byen souvan yo ou pral tande moun pale sou pil nan devlopman entènèt, 100 00:04:29,920 --> 00:04:33,760 ak sa a se ilistre lide ki fè konnen 101 00:04:33,760 --> 00:04:37,510 chak kouch, chak eleman reyèlman ap eseye sèlman kominike 102 00:04:37,510 --> 00:04:40,750 ant 2 lòt konpozan. 103 00:04:40,750 --> 00:04:44,550 Yon moun jwenn aksè sit entènèt ou a tankou yon kliyan oswa yon navigatè. 104 00:04:44,550 --> 00:04:48,870 Yo kominike avèk pwogram ou nan kòd la vi. 105 00:04:48,870 --> 00:04:50,500 Kòd la View reyaji ak kontwolè a. 106 00:04:50,500 --> 00:04:52,400 Kontwolè a reyaji ak modèl la, 107 00:04:52,400 --> 00:04:55,090 ak modèl la reyaji ak baz done a SQL. 108 00:04:55,090 --> 00:04:59,670 Li pa gen okenn soteur nan ant si ou ekri kòd ou a byen. 109 00:04:59,670 --> 00:05:01,670 >> Ki sa ki tout bagay sa yo fè? 110 00:05:01,670 --> 00:05:06,020 Modèl la esansyèlman se moso nan nan kòd ki boule ak done ou. 111 00:05:06,020 --> 00:05:09,100 Nenpòt bagay ki boule ak baz done ou a, avèk objè yo ke ou sere, 112 00:05:09,100 --> 00:05:11,280 oswa retwouve moun ki objè nan baz done a, 113 00:05:11,280 --> 00:05:13,450 Sa a tout pa lantremiz modèl an. 114 00:05:13,450 --> 00:05:15,290 Petèt ou gen objè ki nan baz done ou. 115 00:05:15,290 --> 00:05:17,700 Nou pral kreye yon modèl ki gen fè ak posts, 116 00:05:17,700 --> 00:05:19,760 Se konsa, yon pòs kapab gen kèk atribi nan li. 117 00:05:19,760 --> 00:05:23,900 Ou ka gen fonksyon alantou estoke moun ki posts oswa retwouve posts 118 00:05:23,900 --> 00:05:26,270 oswa filtraj poto yo ak sou sa ak pou fè, 119 00:05:26,270 --> 00:05:28,880 e ke sa a tout kòd la ki nan okipe pa modèl la. 120 00:05:28,880 --> 00:05:31,780 Kontwolè a se sòt de lojik aplikasyon an, 121 00:05:31,780 --> 00:05:37,910 ak yon anpil nan bagay diferan ka ale nan lojik aplikasyon an. 122 00:05:37,910 --> 00:05:39,790 Si w ap pale ak yon API diferan, 123 00:05:39,790 --> 00:05:42,310 ki ka kote w ap fè fas ak lojik aplikasyon an. 124 00:05:42,310 --> 00:05:47,990 Si ou ap eseye gen pote nan done ki sòti nan plizyè modèl diferan 125 00:05:47,990 --> 00:05:51,540 epi yo gen nan konbine yo nan kèk fason, ki souvan yo ka lantremiz kontwolè la. 126 00:05:51,540 --> 00:05:53,820 Pou egzanp, sou Facebook, si ou zanmi yon moun, 127 00:05:53,820 --> 00:05:58,500 Lè sa a, petèt ke zak etabli ke relasyon 128 00:05:58,500 --> 00:06:00,490 Yo ka fè pa kontwolè la. 129 00:06:00,490 --> 00:06:04,350 >> E finalman, gade nan se kòd la ki nan génération sa ou aktyèlman wè. 130 00:06:04,350 --> 00:06:07,410 Yon anpil fwa mwen panse ke nan psets yo CS50 131 00:06:07,410 --> 00:06:10,050 yo pa vrèman ankouraje w mesye yo separe 3 bagay sa yo. 132 00:06:10,050 --> 00:06:12,430 Ou ap pwobableman gen sa a gwo, dosye lontan kote nan tèt la 133 00:06:12,430 --> 00:06:15,130 ou fè kèk rechèch SQL e petèt fè kèk pwosesis 134 00:06:15,130 --> 00:06:17,020 sou done la ou Retrieved soti nan baz done a, 135 00:06:17,020 --> 00:06:19,370 ak Lè sa a, ou gen tout HTML ou nan pati anba a. 136 00:06:19,370 --> 00:06:22,840 Apre sa, ou pouvwa jwenn ke menm jan ou kreye pi plis ak plis paj 137 00:06:22,840 --> 00:06:25,790 ke w ap ale nan gen kèk repetisyon Kòd, epi tou li, 138 00:06:25,790 --> 00:06:29,600 bagay la se dosye ou vin vrèman gwo ak long 139 00:06:29,600 --> 00:06:32,370 ak vin maladwa jere. 140 00:06:32,370 --> 00:06:34,500 Rezon an pou kisa mv se konsa byen konsidere 141 00:06:34,500 --> 00:06:36,120 se pou yon kantite rezon. 142 00:06:36,120 --> 00:06:38,110 Premye bagay la se yon bagay yo rele separasyon enkyetid 143 00:06:38,110 --> 00:06:40,370 ki se lide ki fè konnen lè ou gen - 144 00:06:40,370 --> 00:06:43,520 depreferans 1 moso nan Kòd ta dwe fè 1 bagay ak fè li vrèman byen, 145 00:06:43,520 --> 00:06:47,210 ak ou pa ta dwe konbine moso nan kòd ki fè bagay sa yo disparate. 146 00:06:47,210 --> 00:06:49,230 Pou egzanp, wè kòd ak kòd modèl, 147 00:06:49,230 --> 00:06:51,040 yo pa vrèman gen yo dwe ki gen rapò. 148 00:06:51,040 --> 00:06:53,290 Yo pa gen yo dwe nan dosye yo menm, Se konsa, lè w kapab, separe yo soti 149 00:06:53,290 --> 00:06:55,300 Se konsa, li fasil yo kenbe. 150 00:06:55,300 --> 00:06:57,130 >> Bagay la lòt se kòd ankò. 151 00:06:57,130 --> 00:06:59,770 Ou kapab jwenn tèt ou ekri rechèch la SQL menm oubyen w ap fè 152 00:06:59,770 --> 00:07:03,060 demann menm jan an ki te kapab distrè nan 1 fonksyon, 153 00:07:03,060 --> 00:07:05,440 e ke sa a lide a dèyè modèl ak contrôleur, 154 00:07:05,440 --> 00:07:09,690 gen l 'nan yon fonksyon apa ke ou ka jam itilize nan diferan kote nan pwojè ou. 155 00:07:09,690 --> 00:07:12,420 E finalman, ki nan mare nan seche Kòd ou, 156 00:07:12,420 --> 00:07:14,700 oswa ou pa repete tèt ou, pa repete tèt ou. 157 00:07:14,700 --> 00:07:18,090 Sa a se trè konpreyansib nan devlopman. 158 00:07:18,090 --> 00:07:20,110 Chak fwa ou kapab, ou pa vle repete tèt ou, paske si ou repete tèt ou, 159 00:07:20,760 --> 00:07:23,400  li nan pi plis ki koute chè yo kenbe. 160 00:07:23,400 --> 00:07:26,040 Si ou vle chanje 1 bagay, ou gen mande chanje li tout kote, 161 00:07:26,040 --> 00:07:30,230 ak nan ki kondwi a pinèz, epi li efreyan ankò. 162 00:07:30,230 --> 00:07:32,010 >> Tout dwa. 163 00:07:32,010 --> 00:07:37,270 Nenpòt kesyon byen lwen tèlman sou Kohana nan tout? 164 00:07:37,270 --> 00:07:39,200 Great. 165 00:07:39,200 --> 00:07:42,300 Koulye a, nou ap ale nan plonje nan sesyon-an ap viv kodaj, 166 00:07:42,300 --> 00:07:48,050 ak èspere ke tout bagay ale byen. 167 00:07:57,200 --> 00:08:00,050 Mwen pral fondamantalman bati sit entènèt sa a 168 00:08:00,050 --> 00:08:03,910 sou youn nan serveurs aleka mwen an, epi fason sa ou nèg ka tou 169 00:08:03,910 --> 00:08:06,310 gade sou sit entènèt la ak jwenn aksè nan sit wèb la, 170 00:08:06,310 --> 00:08:10,990 epi tou li anviwònman an se pi bon konfigirasyon pase machin aleka m 'yo, 171 00:08:10,990 --> 00:08:14,580 paske li te kouri Linux olye pou yo OS X. 172 00:08:14,580 --> 00:08:16,260 Nou ap literalman pral kòmanse. 173 00:08:16,260 --> 00:08:18,110 KohanaFramework.org. 174 00:08:18,110 --> 00:08:21,350 Mwen pral download kòd la soti nan sit entènèt la. 175 00:08:21,350 --> 00:08:24,610 Mwen pral kopye adrès la lyen, 176 00:08:24,610 --> 00:08:29,770 ale nan sèvè m 'yo, desann li, 177 00:08:29,770 --> 00:08:33,000 ak Mwen pral ekstrè li. 178 00:08:38,330 --> 00:08:45,710 >> [Elèv] Ki sa ki nan pi gwo a ou ka fè tèks la? 179 00:08:45,710 --> 00:08:47,330 [Brandon Liu] Eske se sa ke pi byen? 180 00:08:47,330 --> 00:08:50,070 [Elèv] Eske se sa ke pratik? >> [Brandon Liu] Yeah, sa a, se amann. 181 00:08:50,070 --> 00:08:54,500 Mwen telechaje yon dosye postal ak dekonprese ki nan yon anyè yo rele Kohana, 182 00:08:54,500 --> 00:08:58,820 epi nou ap ale nan chanje non ki CS50-Kohana, 183 00:08:58,820 --> 00:09:01,140 Epi ann ale pous 184 00:09:01,140 --> 00:09:03,610 Pè. 185 00:09:03,610 --> 00:09:06,870 Isit la ou wè yon pakèt moun sou dosye diferan. 186 00:09:06,870 --> 00:09:10,140 Pifò nan nou ka inyore - we're pa pral yo ale nan chak dosye yon sèl sa a, se nan isit la 187 00:09:10,140 --> 00:09:13,130 paske yo te kontrent tan nou an, 188 00:09:13,130 --> 00:09:16,310 men jeneralman lè ou enstale Kohana, premye bagay la ou fè 189 00:09:16,310 --> 00:09:23,210 se ou ale nan anyè a, 190 00:09:23,210 --> 00:09:26,050 epi ou pral fondamantalman fè kèk tès anviwònman ak etajèr 191 00:09:26,050 --> 00:09:28,640 asire w se anviwònman ou byen mete nan kouri Kohana 192 00:09:28,640 --> 00:09:31,450 ak asire w ke tout bagay se tout dwa. 193 00:09:31,450 --> 00:09:35,510 Ou ka wè ki pi bagay sa yo fin pase, men anjeneral ou toujou kouri antre nan pwoblèm sa a 1 194 00:09:35,510 --> 00:09:38,180 kote li plenyen ke gen kèk anyè se pa écritures, 195 00:09:38,180 --> 00:09:40,410 e ke sa a paske nan kèk otorizasyon. 196 00:09:40,410 --> 00:09:43,080 Mwen pa konnen konbyen lajan ou nèg te aprann sou autorisations dosye ki nan CS50, 197 00:09:43,080 --> 00:09:47,920 Men, si ou fè devlopman entènèt, w ap ale nan kouri antre nan pwoblèm sa a anpil. 198 00:09:47,920 --> 00:09:58,340 Mwen pral fè l 'écritures 199 00:09:58,340 --> 00:10:03,390 e mwen panse mwen menm mwen te gen - gen nou ale. 200 00:10:03,390 --> 00:10:07,040 >> Oke, kidonk kounye a ou ka wè tout bagay te pase, 201 00:10:07,040 --> 00:10:10,000 epi kounye a li ap di ou chanje non dosye a install.php. 202 00:10:10,000 --> 00:10:15,630 Mwen pral pou avanse pou pi dosye a install.php installed.php, 203 00:10:15,630 --> 00:10:19,610 e kounye a, si mwen rafrechi, 204 00:10:19,610 --> 00:10:22,810 li ban m 'kèk erè, e sa se kote debogaj la vini pous 205 00:10:22,810 --> 00:10:25,610 Sa a se kote ou ka wè sa ki aktyèlman pral rive. 206 00:10:25,610 --> 00:10:28,460 Bagay la se, pa default, Kohana sipoze ke 207 00:10:28,460 --> 00:10:31,480 pwojè ou a se nan anyè a rasin nan domèn ou, 208 00:10:31,480 --> 00:10:35,920 Se konsa, li la ap tann ou yo dwe nan demo.brandonkliu.com. 209 00:10:35,920 --> 00:10:37,540 Nou dwe di li ke li la aktyèlman nan yon subfolder. 210 00:10:37,540 --> 00:10:39,820 Li nan nan yon subfolder rele CS50 Kohana. 211 00:10:39,820 --> 00:10:42,640 Bagay la se, li la misinterpreting CS50-Kohana 212 00:10:42,640 --> 00:10:45,680 kòm yon lòt bagay, ki mwen pral eksplike jwenn ou nan yon dezyèm fwa. 213 00:10:45,680 --> 00:10:49,910 Men, mwen ta dwe di ou ke se yon bagay ki nan yo dwe atann. 214 00:10:49,910 --> 00:10:53,700 Ki sa nou ap ale nan fè se nou pral antre nan sa a folder rele bootstrap.php, 215 00:10:53,700 --> 00:10:59,260 ki se dosye a konfigirasyon ki kote yo yon bann bagay sa diferan fè fè a. 216 00:10:59,260 --> 00:11:01,570 Mwen louvri ki yo. 217 00:11:01,570 --> 00:11:09,790 Lè sa a, petèt youn nan bagay ki premye mwen pral fè se chanje zòn nan tan. 218 00:11:09,790 --> 00:11:13,910 >> Lè sa a, se pou yo wè. 219 00:11:13,910 --> 00:11:15,180 Wi! Dwa isit la. 220 00:11:15,180 --> 00:11:18,690 Gen yon pakèt moun sou diferan pawòl konfigirasyon nan isit la, 221 00:11:18,690 --> 00:11:21,700 men se yon sèl la m 'ap chache se bagay sa yo rele baz URL, 222 00:11:21,700 --> 00:11:24,570 ak pa default mwen jwenn li mete nan Kohana, 223 00:11:24,570 --> 00:11:29,020 Men, mwen pral chanje ke yo CS50-Kohana, 224 00:11:29,020 --> 00:11:32,880 e mwen panse ke yo ta dwe fikse li. 225 00:11:32,880 --> 00:11:34,150 Wi, gwo. 226 00:11:34,150 --> 00:11:39,530 Pa default, yo wè ke li nan travay, li di: "Alo Mondyal." 227 00:11:39,530 --> 00:11:42,930 Ki kote te fè ki soti? Ki jan nou t 'jwenn Alo Mondyal? 228 00:11:42,930 --> 00:11:47,640 Ki kote egzakteman se kòd la ki aktyèlman te ekri sa? 229 00:11:47,640 --> 00:11:50,240 Pou konprann sa, mwen pral prezante konsèp sa a yo rele wout lan. 230 00:11:50,240 --> 00:11:52,590 Bèl anpil tout cadres entènèt gen konsèp la yo rele tras, 231 00:11:52,590 --> 00:11:57,230 ki se moso nan nan lojisyèl an ki pral kat jeyografik yon URL sèten 232 00:11:57,230 --> 00:12:01,550 nan yon moso sèten nan kòd nan kad ou. 233 00:12:01,550 --> 00:12:07,510 Pou egzanp, si ou gen kèk URL, epi ou ale nan kèk URL tankou foo.com / blog / tout 234 00:12:07,510 --> 00:12:11,170 Lè sa a, sa ki fondasyon an ki pral fè - oswa omwen sa ki Kohana ki pral fè - 235 00:12:11,170 --> 00:12:15,540 se li pral jwenn yon klas yo rele kontwolè blog, 236 00:12:15,540 --> 00:12:18,720 epi li pral kouri fonksyon yo te rele aksyon an tout. 237 00:12:18,720 --> 00:12:20,160 Mwen konnen mwen ap pale de klas-la ak fonksyon, 238 00:12:20,160 --> 00:12:23,860 e mwen konnen ou nèg pa t 'kouvri klas ak fonksyon 239 00:12:23,860 --> 00:12:26,470 nan CS50 ankò, men pou kounye a, 240 00:12:26,470 --> 00:12:29,800 ou ka panse a kou kòm jis yon gwoup de fonksyon, 241 00:12:29,800 --> 00:12:32,900 yon fason pou gwoupman fonksyon yo ansanm. 242 00:12:32,900 --> 00:12:37,690 Sa ki nan vrèman tout sa ou bezwen konnen. 243 00:12:37,690 --> 00:12:43,120 >> Koulye a, si nou gade nan estrikti katab nou an, 244 00:12:43,120 --> 00:12:47,110 andedan folder nan aplikasyon gen yon lòt katab rele klas, 245 00:12:47,110 --> 00:12:49,200 ak lòt dosye yo yo rele yo Kontwolè ak ki gen konpòtman egzanplè. 246 00:12:49,200 --> 00:12:52,530 Si ou gade andedan folder nan kontwolè, 247 00:12:52,530 --> 00:12:56,330 nou wè ke gen yon dosye rele Byenveni, 248 00:12:56,330 --> 00:13:00,370 epi ou ka wè isit la se yon klas yo rele Kontwolè Byenveni, 249 00:13:00,370 --> 00:13:02,340 epi gen yon fonksyon rele Aksyon Index, 250 00:13:02,340 --> 00:13:06,360 ak ki sa li fè a se li kouche kò a nan repons ou a Bonjou Mondyal la. 251 00:13:06,360 --> 00:13:08,730 Sa a kote se kòd la ke yo te ekri. 252 00:13:08,730 --> 00:13:11,610 Kesyon an lòt la, byen, mwen pa t 'ale nan 253 00:13:11,610 --> 00:13:13,680 bla, bla, bla, / akeyi / Konpayi paran yo. 254 00:13:13,680 --> 00:13:16,250 Ki jan mwen te fini isit la? 255 00:13:16,250 --> 00:13:20,410 Oke, sa a, se tou senpleman paske 256 00:13:20,410 --> 00:13:22,410 isit la nan pati anba a nan dosye demaraj nou 257 00:13:22,410 --> 00:13:24,550 kote nou mete wout nou 258 00:13:24,550 --> 00:13:26,570 ou ka wè yo ke yo mete kèk défaut pou ou. 259 00:13:26,570 --> 00:13:28,990 Kontwolè a default se Byenveni. Aksyon an default se Index. 260 00:13:28,990 --> 00:13:31,600 Se poutèt sa lè nou mete anyen nan gen li otomatikman te ale nan kontwolè a Byenveni 261 00:13:31,600 --> 00:13:33,940 ak Aksyon nan endèks. 262 00:13:33,940 --> 00:13:37,460 >> Tout fè sans byen lwen tèlman? 263 00:13:37,460 --> 00:13:40,850 Koulye a, ou ka fè pi plis pase jis ale nan contrôleur 264 00:13:40,850 --> 00:13:43,670 ak yon aksyon espesifik. 265 00:13:43,670 --> 00:13:48,480 Ou kapab tou pase nan paramèt kontwolè la. 266 00:13:48,480 --> 00:13:56,390 Menm jan yon egzanp, 267 00:13:56,390 --> 00:14:04,070 Mwen pral ajoute yon lòt aksyon yo kontwolè sa a yo montre ou. 268 00:14:04,070 --> 00:14:09,130 Se pou yo rele aksyon sa a repete apre lòt fin, paske li pral di ou tou sa ou bay peyi a, 269 00:14:09,130 --> 00:14:17,510 Se poutèt sa mwen ap fondamantalman ale nan gen tan pwan 270 00:14:17,510 --> 00:14:20,960 yon paramèt ki nan yo pral voye nan m 'nan pwogram nan tras, 271 00:14:20,960 --> 00:14:24,440 ak jan ou ka wè isit la, 272 00:14:24,440 --> 00:14:28,440 liy sa a dwa isit la, ou ka wè ke 273 00:14:28,440 --> 00:14:31,270 sa a fondamantalman vle di ou gen kontwolè, epi ou gen yon /, 274 00:14:31,270 --> 00:14:33,480 epi ou gen aksyon, epi ou gen yon lòt /, 275 00:14:33,480 --> 00:14:39,140 Epi sa a, pral fè paramèt, ak paske nou gen sa a ID Non 276 00:14:39,140 --> 00:14:42,450 nan parantèz ang, sa vle di ke nou ap nonmen sa a ID paramèt. 277 00:14:42,450 --> 00:14:45,490 Pita nan Kòd kontwolè m 'si mwen vle gen tan pwan yon kenbe nan ki paramèt, 278 00:14:45,490 --> 00:14:51,790 Mwen kapab itilize kòd la mwen te ekri, jwenn paramèt nan yo te rele ID. 279 00:14:51,790 --> 00:14:59,290 Sa a ki sa m 'te fè isit la, ak mwen pral retounen ak di, 280 00:14:59,290 --> 00:15:07,090 "Ou te di" sa a. 281 00:15:07,090 --> 00:15:10,760 Se konsa, kounye a si mwen ale nan sit entènèt nou an, 282 00:15:10,760 --> 00:15:19,550 M 'ale nan cs50-kohana/welcome/echo/Helloooo-- 283 00:15:19,550 --> 00:15:21,420 oh, sa a, se dwa. 284 00:15:21,420 --> 00:15:23,930 Gen 1 etap mwen te kite deyò. 285 00:15:23,930 --> 00:15:27,020 Sa a se yon pati nan lide nan ap viv kodaj. 286 00:15:27,020 --> 00:15:36,100 >> Isit la nan 1 bagay. Ann wè. 287 00:15:36,100 --> 00:15:38,870 Se konsa, nòmalman pa default avèk yon anpil nan aplikasyon pou entènèt sa yo 288 00:15:38,870 --> 00:15:42,820 ou gen yo mete bagay sa a index.php nan URL ou a, 289 00:15:42,820 --> 00:15:46,410 paske lide a se index.php se sòt de pwen nan antre 290 00:15:46,410 --> 00:15:48,250 nan aplikasyon w lan, men nan kou, 291 00:15:48,250 --> 00:15:50,110 sa a, se sòt de anmèdan genyen. 292 00:15:50,110 --> 00:15:53,790 Ou pa vle gen index.php parèt nan URL ou a, 293 00:15:53,790 --> 00:15:56,080 ak bèl anpil chak fondasyon entènèt soti nan bwat la 294 00:15:56,080 --> 00:15:58,440 gen pwoblèm sa a index.php, 295 00:15:58,440 --> 00:16:03,370 yo ak pou ou dwe pran kèk mezi pou kapab retire sa a. 296 00:16:03,370 --> 00:16:07,540 Se konsa, nan ka sa a, 297 00:16:07,540 --> 00:16:11,450 ki sa nou pwal fè se nou pral sèvi ak yon dosye rele. takses, 298 00:16:11,450 --> 00:16:13,900 ak sa a se yon bagay ki espesifik nan sèvè wèb la Apache, 299 00:16:13,900 --> 00:16:16,290 epi li ka fè bagay sa yo tankou reyekri URL 300 00:16:16,290 --> 00:16:19,350 ak redireksyon URL yo ak sou sa ak pou fè, 301 00:16:19,350 --> 00:16:24,280 ak Kohana se bèl ase bay yon dosye takses template. ke nou ka itilize. 302 00:16:24,280 --> 00:16:28,300 >> Kòm ou ka wè, gen yon dosye gen rele example.htaccess, 303 00:16:28,300 --> 00:16:33,410 e nou pral a kapab bay kopi ke yo. takses. 304 00:16:33,410 --> 00:16:36,950 Mwen pral louvri sa a epi modifye li, 305 00:16:36,950 --> 00:16:40,840 ak fondamantalman li fè sa yon pakèt moun sou bagay diferan. 306 00:16:40,840 --> 00:16:45,320 Liy kle a ou ka vle gade nan ki dwat isit la. 307 00:16:45,320 --> 00:16:49,840 Lide a se ke sa a kouche moute yon règ ki di, 308 00:16:49,840 --> 00:16:56,400 "Oke, tou sa ou tape nan, prepan index.php ak sa yo ki." 309 00:16:56,400 --> 00:16:58,710 Ou ka wè sa. 310 00:16:58,710 --> 00:17:00,370 . * A kanpe pou anyen, matche ak anyen, 311 00:17:00,370 --> 00:17:03,300 ak Lè sa a, dezyèm pati a se index.php / $ 0, 312 00:17:03,300 --> 00:17:07,410 ak $ 0 refere a tou sa te matche deja. 313 00:17:07,410 --> 00:17:09,500 ki fè sans? 314 00:17:09,500 --> 00:17:12,190 Men, bagay la reyèlman kle mwen ta vle chanje a se chanje sa a baz reyekri, 315 00:17:12,190 --> 00:17:14,300 ki se baz la URL. 316 00:17:14,300 --> 00:17:17,780 Li sòt de pansé ké kote w ap travay nan. 317 00:17:17,780 --> 00:17:22,560 Mwen pral ajoute CS50 Kohana ak sa yo ki, 318 00:17:22,560 --> 00:17:26,530 ak fason sa a kounye a si mwen retire index.php a, 319 00:17:26,530 --> 00:17:32,110 li ta dwe travay, epi mwen pral ajoute kèk nimewo 320 00:17:32,110 --> 00:17:36,380 montre w ke li t 'fè travay la. 321 00:17:36,380 --> 00:17:38,130 Son bon. 322 00:17:38,130 --> 00:17:40,260 >> Nenpòt kesyon byen lwen tèlman? 323 00:17:40,260 --> 00:17:42,300 [Elèv] Ki jan li t 'konnen yo fè 123 a? 324 00:17:42,300 --> 00:17:44,120 Eske se sa ke yon diskisyon? 325 00:17:44,120 --> 00:17:46,560 Egzakteman. Ou ka panse a li jis tankou yon diskisyon. 326 00:17:46,560 --> 00:17:52,410 Men, bagay la etranj, menm si, se ke wout la Kohana fè li 327 00:17:52,410 --> 00:17:54,910 se yo pa fè l 'egzakteman menm jan ak yon diskisyon. 328 00:17:54,910 --> 00:17:56,930 Ou gen gen tan pwan li tankou sa a. 329 00:17:56,930 --> 00:18:01,030 Ou gen gen tan pwan objè a demann epi mande pou paramèt nan ki nan yo te rele ID, 330 00:18:01,030 --> 00:18:03,240 e ke ID Non soti nan ke dosye demaraj 331 00:18:03,240 --> 00:18:06,990 ke mwen te montre pi bonè, ak ID la te rele nan sa yo parantèz ang, 332 00:18:06,990 --> 00:18:11,580 e ke sa a ki jan ou gen tan pwan paramèt sa yo. 333 00:18:11,580 --> 00:18:14,010 Pè. 334 00:18:14,010 --> 00:18:17,550 Nenpòt lòt kesyon? 335 00:18:17,550 --> 00:18:20,500 Tankou mwen te di, contrôleur yo, yo okipe aplikasyon lojik, 336 00:18:20,500 --> 00:18:22,980 Se konsa, sa a, se 1 egzanp kote ou ka wè that's - 337 00:18:22,980 --> 00:18:24,830 li trè debaz yo, men li la toujou aplikasyon lojik, 338 00:18:24,830 --> 00:18:27,980 lide a nan arachman paramèt la ak kreye yon nouvo fil 339 00:18:27,980 --> 00:18:31,920 ki di, "Ou te di bla," ak Lè sa a, voye krache ki tounen ba ou. 340 00:18:31,920 --> 00:18:34,030 Epi jeneralman ki sa ou fè se ou kreye contrôleur diferan. 341 00:18:34,030 --> 00:18:36,450 Ou kreye contrôleur apa pou diferan pati nan sit entènèt ou. 342 00:18:36,450 --> 00:18:38,160 >> Jodi a nou pwal fè yon sit entènèt trè senp, 343 00:18:38,160 --> 00:18:40,420 epi li pral fè yon blog anpil debaz. 344 00:18:40,420 --> 00:18:43,780 Nou pwal fè yon nouvo kontwolè jis pou poto yo nan yon blog. 345 00:18:43,780 --> 00:18:47,060 Men, Lè sa a, si m 'te tou ajoute kòmantè nan post la blog, 346 00:18:47,060 --> 00:18:50,140 Lè sa a, mwen ta pwobableman vle fè yon nouvo kontwolè pou moun kòmantè. 347 00:18:50,140 --> 00:18:53,380 Si mwen te vle ajoute itilizatè, mwen ta pwobableman ajoute yon nouvo kontwolè pou moun ki itilizatè yo, 348 00:18:53,380 --> 00:18:57,000 epi an jeneral, lide a se ke chak fwa ou gen yon nouvo modèl, 349 00:18:57,000 --> 00:18:59,630 yon done nouvo objè ke w ap fè fas ak, 350 00:18:59,630 --> 00:19:02,970 ou gen yon kontwolè sèl pou ke objè done. 351 00:19:02,970 --> 00:19:04,370 Jodi a nou ap sèlman ale nan travay ak 1 done objè, 352 00:19:04,370 --> 00:19:06,250 Epi sa a, pral fè pòs, 353 00:19:06,250 --> 00:19:08,710 epi tou ou ka panse a done objè tankou ki koresponn ak tab. 354 00:19:08,710 --> 00:19:12,160 Anjeneral chak tab koresponn ak 1 di ki kalite done objè, 355 00:19:12,160 --> 00:19:15,160 Se konsa, tab la pòs ap gen 1 pòs modèl, 356 00:19:15,160 --> 00:19:18,230 ki pral gen 1 pòs kontwolè ki koresponn a sa, 357 00:19:18,230 --> 00:19:22,190 ak menm pou kòmantè, menm bagay la pou itilizatè yo, ak sou sa ak pou fè. la 358 00:19:22,190 --> 00:19:24,070 Epi sa a, yon règ jeneral nan gwo pous. 359 00:19:24,070 --> 00:19:27,460 Gen pral fè ka espesyal kote ou ka diferan de sa, 360 00:19:27,460 --> 00:19:29,300 Men, 90% nan moman an se sa ki w ap ale nan dwe ap fè, 361 00:19:29,300 --> 00:19:32,810 epi mwen pral montre w sa a, se sa nou ap ale nan dwe ap fè jodi a. 362 00:19:32,810 --> 00:19:35,490 1 plis konsèp anvan nou plonje tounen antre nan kòd la, 363 00:19:35,490 --> 00:19:37,710 ide sa a nan objè relasyon kat. 364 00:19:37,710 --> 00:19:41,200 >> Ou mesye te deja fè yon pset devlopman entènèt, 365 00:19:41,200 --> 00:19:43,820 epi ou te wè ke ou fè yon rechèch SQL, 366 00:19:43,820 --> 00:19:46,510 ak tou sa li retounen nan ou se ranje. 367 00:19:46,510 --> 00:19:50,040 Ou jwenn liy sa yo, epi ou endèks yo pa kèk non, 368 00:19:50,040 --> 00:19:55,480 non an nan kolòn nan epi tab la, 369 00:19:55,480 --> 00:19:57,630 e ke sa a ki jan ou ap travay ak li, 370 00:19:57,630 --> 00:19:59,290 epi li ka yon ti jan ankonbran. 371 00:19:59,290 --> 00:20:01,810 Men, ankò, si ou gen relasyon ki nan baz done ou a, 372 00:20:01,810 --> 00:20:05,280 tankou pou egzanp si mwen gen kòmantè ak posts, 373 00:20:05,280 --> 00:20:11,240 Lè sa a, petèt mwen vle gen tan pwan post la paran an yon kòmantè. 374 00:20:11,240 --> 00:20:14,350 Si mwen itilize jis ranje nan SQL, lè sa a tout mwen ka jwenn se ID a 375 00:20:14,350 --> 00:20:19,310 nan post la paran epi yo pa pòs aktyèl la tèt li. 376 00:20:19,310 --> 00:20:21,680 Men, lè nou ap kodaj, ki sa nou aktyèlman vle se aktyèlman gen tan pwan 377 00:20:21,680 --> 00:20:23,550  paran an afiche tèt li pafwa. 378 00:20:23,550 --> 00:20:25,730 Ki sa ki objè kat relasyon fè se 379 00:20:25,730 --> 00:20:29,480 li pran rezilta yo nan rechèch la baz done 380 00:20:29,480 --> 00:20:32,420 ak mete l 'nan objè pou ou yo, ki se anpil joli yo travay avèk 381 00:20:32,420 --> 00:20:34,770 pase ranje klè ak ranje. 382 00:20:34,770 --> 00:20:37,550 >> Pou egzanp, kounye a lè mwen gen yon kòmantè petèt, 383 00:20:37,550 --> 00:20:40,900 e mwen vle gen tan pwan pòs paran li yo, 384 00:20:40,900 --> 00:20:43,440 ak mwen petèt kòmantè pòs flèch, 385 00:20:43,440 --> 00:20:45,230 Lè sa a, li pral aktyèlman ban m 'pòs objè a 386 00:20:45,230 --> 00:20:47,940 ki koresponn a post la paran aktyèl, pa sèlman kèk ID, 387 00:20:47,940 --> 00:20:52,210 nan Tanp kote mwen ta gen yo sèvi ak, epi fè yon lòt rechèch SQL gen tan pwan post la, 388 00:20:52,210 --> 00:20:57,430 ki se ankonbran ak nesesè. 389 00:20:57,430 --> 00:21:01,840 Apre sa, Anplis de sa, pa gewografik tout bagay sa yo ranje done nan objè, 390 00:21:01,840 --> 00:21:03,760 ou ka tou kole plis fonksyon nan objè, 391 00:21:03,760 --> 00:21:09,700 Se konsa, pou egzanp, mwen te pale osijè de ki jan kou yo se esansyèlman gwoupman nan fonksyon. 392 00:21:09,700 --> 00:21:11,620 Ou ka panse a li tankou sa. 393 00:21:11,620 --> 00:21:15,290 Pou egzanp, petèt mwen gen pòs sa a objè, 394 00:21:15,290 --> 00:21:17,830 e petèt mwen ta renmen gen kèk sòt de fonksyon marye ak li 395 00:21:17,830 --> 00:21:20,300 ki fondamantalman di m 'li te resamman te poste? 396 00:21:20,300 --> 00:21:23,570 Li te afiche nan semèn ki sot pase a, vre oubyen fo? 397 00:21:23,570 --> 00:21:27,320 Epi sa a, yon fonksyon mwen ka tache sou ki objè, 398 00:21:27,320 --> 00:21:31,300 ak li vrèman pratik yo genyen li an plas an menm, 399 00:21:31,300 --> 00:21:33,820 e gen yon lame nan fonksyon diferan ou kapab kreye 400 00:21:33,820 --> 00:21:37,990 pou bagay sa yo, ak li vrèman bèl pou kapab mete li ak yon klas, 401 00:21:37,990 --> 00:21:41,700 nan yon objè, Lè nou konsidere ke si ou jis te gen ranje ki sòti nan baz done ou a, 402 00:21:41,700 --> 00:21:43,790 Lè sa a, ou pa ka vrèman tache nenpòt fonksyonalite nan sa. 403 00:21:43,790 --> 00:21:47,850 Li nan literalman jis done. 404 00:21:47,850 --> 00:21:50,550 Nenpòt kesyon sou ki nan tout? 405 00:21:50,550 --> 00:21:52,710 ORMs yo se devlopman web trè komen, 406 00:21:52,710 --> 00:21:56,330 e gen yon anpil nan diferan kalite ORMs, 407 00:21:56,330 --> 00:21:58,450 ak Kohana gen pwòp ORM li yo. 408 00:21:58,450 --> 00:22:05,050 Li trè debaz, men ou pral jwenn yon gou nan sa li sanble. 409 00:22:05,050 --> 00:22:08,780 >> Se pou yo kreye yon modèl pou posts blog nou an, 410 00:22:08,780 --> 00:22:12,350 ak premye bagay nou evidamman bezwen fè se yo kreye yon tab aktyèl 411 00:22:12,350 --> 00:22:16,680 nan baz done nou an ki aktyèlman magazen done nou an pou moun ki posts. 412 00:22:16,680 --> 00:22:19,260 Premye bagay mwen pral fè se ale nan fpmyadmen. 413 00:22:19,260 --> 00:22:21,410 Èske w mesye yo itilize fpmyadmen ye anvan an? 414 00:22:21,410 --> 00:22:23,400 Oke, pè, kidonk, ou nèg deja konnen sa se sa ki, 415 00:22:23,400 --> 00:22:32,200 ak mwen pral yo kreye yon tab nouvo rele Kohana Posts, 416 00:22:32,200 --> 00:22:37,820 epi li pral fè vrèman senp. 417 00:22:37,820 --> 00:22:40,190 Mwen pral oblije ale tounen pous 418 00:23:02,620 --> 00:23:04,640 Tout sa nou ap ale nan fè jodi a se gen yon otè ak yon kò, 419 00:23:04,640 --> 00:23:11,930 jis kenbe li senp. 420 00:23:11,930 --> 00:23:15,620 Mwen pral kreye ki tab, 421 00:23:15,620 --> 00:23:19,620 epi kounye a nou jis gen yon tab reprezante posts nou 422 00:23:19,620 --> 00:23:23,370 ak 2 jaden pou otè nou yo ak kò nou yo. 423 00:23:23,370 --> 00:23:26,290 Lòt bagay la, mwen pral fè kounye a se 424 00:23:26,290 --> 00:23:29,820 configured aplikasyon entènèt mwen se konsa li konnen ki jan pou konekte avèk baz done a, 425 00:23:29,820 --> 00:23:31,950 ak sa a, ankò, se yon bagay ki ou pral gen fè ak tout aplikasyon sou entènèt. 426 00:23:31,950 --> 00:23:34,790 Ou dwe pale li non an itilizatè ak modpas la 427 00:23:34,790 --> 00:23:36,990 ak non an nan baz done a ak sou sa ak pou fè 428 00:23:36,990 --> 00:23:40,000 figi konnen kouman ou aktyèlman konekte nan baz done ou. 429 00:23:40,000 --> 00:23:58,710 >> Nan Kohana, nou gen yon bagay yo rele yon modil baz done, 430 00:23:58,710 --> 00:24:02,690 ak nan folder nan konfigirasyon nou gen sa a folder rele baz done, 431 00:24:02,690 --> 00:24:07,330 ak jan ou ka wè, gen yon pakèt moun sou anviwònman ou gen yo mete isit la 432 00:24:07,330 --> 00:24:09,860 di li sa ki nan non an itilizatè ak modpas la 433 00:24:09,860 --> 00:24:13,110 pou baz done a pou m ka aktyèlman konekte nan li. 434 00:24:13,110 --> 00:24:15,010 E depi mwen pa vle ou nèg ki aktyèlman konnen 435 00:24:15,010 --> 00:24:17,190 non an itilizatè ak modpas nan baz done m 'yo, 436 00:24:17,190 --> 00:24:23,840 Mwen gen yon dosye kote mwen deja mete l 'tout leve, ak mwen pral fè kopi epi kole li sou. 437 00:24:33,080 --> 00:24:36,870 Pè. 438 00:24:36,870 --> 00:24:39,880 Oke. Mwen panse ke nan tout configuration la, te mwen bezwen fè, 439 00:24:39,880 --> 00:24:41,070 men kite a wè. 440 00:24:41,070 --> 00:24:43,720 Nou pwal kenbe k ap travay nan li, e si gen yon bagay aksidan, 441 00:24:43,720 --> 00:24:47,490 Lè sa a, nou pral fikse li. 442 00:24:47,490 --> 00:24:51,830 Kounye a ki sa mwen pral fè se mwen pral kreye yon nouvo kontwolè. 443 00:24:51,830 --> 00:24:53,190 Oswa aktyèlman, regrèt. 444 00:24:53,190 --> 00:24:55,080 Premye fwa mwen gen yo kreye yon nouvo modèl. 445 00:24:55,080 --> 00:25:01,620 Mwen pral kreye yon nouvo modèl yo rele Post.php, 446 00:25:01,620 --> 00:25:12,440 ak sa nou ap ale nan fè se nou pral rele li klas Model_Post. 447 00:25:12,440 --> 00:25:15,390 Jwenn kèk sentaks en sou li a, 448 00:25:15,390 --> 00:25:19,750 yo ak pou lè m 'di, "fin ORM," sa a, se fondamantalman 449 00:25:19,750 --> 00:25:21,210 kèk plis objè-oryante pwogram, 450 00:25:21,210 --> 00:25:23,340 ki malerezman ou nèg pa te aprann nan CS50 ankò, 451 00:25:23,340 --> 00:25:25,290 men li la trè fasil ranmase. 452 00:25:25,290 --> 00:25:27,950 Li bay m 'tout fonctionnalités anplis sa a ki vini nan pake ORM sa a, 453 00:25:27,950 --> 00:25:31,120 Se poutèt sa mwen jwenn yon pakèt moun sou fonksyon siplemantè ak etajèr pou gratis, 454 00:25:31,120 --> 00:25:34,810 ki ou pral wè yon ti jan nan nan yon dezyèm fwa. 455 00:25:34,810 --> 00:25:37,670 >> Dwa koulye a aktyèlman tout mwen bezwen fè se kreye klas sa a. 456 00:25:37,670 --> 00:25:39,160 Mwen pa menm bezwen fè nenpòt oswa nenpòt bagay, 457 00:25:39,160 --> 00:25:41,770 men mwen te kreye yon klas ki reprezante tab la, 458 00:25:41,770 --> 00:25:44,140 epi paske mwen te pwolonje sa a klas ORM, 459 00:25:44,140 --> 00:25:51,080 Mwen jwenn yon pakèt moun sou bagay sa yo pou gratis, se konsa pou kounye a ou pa bezwen mete anyen pi plis yo. 460 00:25:51,080 --> 00:25:53,530 Koulye a, kisa mwen pral fè se mwen pral kreye yon nouvo kontwolè, 461 00:25:53,530 --> 00:25:58,480 ki mwen pral nan non blog.php, 462 00:25:58,480 --> 00:26:04,350 ak mwen pral fè kopi sou kontwolè a Byenveni 463 00:26:04,350 --> 00:26:11,950 Se konsa, mwen pa bezwen tape kèk bagay, 464 00:26:11,950 --> 00:26:20,720 e kounye a, mwen gen chanje non sa a. 465 00:26:20,720 --> 00:26:24,710 Kounye a ki sa mwen pral fè pou teste a asire w tout bagay ap travay soti, 466 00:26:24,710 --> 00:26:27,820 Mwen pral gen tan pwan pòs premye a soti nan baz done m ' 467 00:26:27,820 --> 00:26:32,680 epi enprime kò a nan post la sou ekran an. 468 00:26:32,680 --> 00:26:37,920 Pou fè sa sa m ap pral fè premye se mwen pral pou konsève pou poto yo 469 00:26:37,920 --> 00:26:48,770 nan yon varyab Se konsa, sa nou pral fè se - 470 00:26:48,770 --> 00:26:52,090 nan Kohana sa ou fè se gen tan pwan pòs objè a 471 00:26:52,090 --> 00:26:55,380 li nan kalite ankonbran, men sa ou dwe fè bagay sa yo rele ORM :: faktori, 472 00:26:55,380 --> 00:26:57,750 ak Lè sa a, ou pase nan non an nan modèl la ou vle, 473 00:26:57,750 --> 00:27:00,490 epi li retounen objè a ORM ki reprezante ki modèl. 474 00:27:00,490 --> 00:27:04,860 Lè sa a,, tankou mwen te di, lè nou pwolonje objè a ORM, 475 00:27:04,860 --> 00:27:07,320 nou jwenn tout metòd sa yo pou gratis, se konsa pou egzanp, 476 00:27:07,320 --> 00:27:09,200 nou jwenn fonksyon sa a nouvo rele "jwenn tout," 477 00:27:09,200 --> 00:27:12,160 ki otomatikman retounen chak pòs yon sèl nan baz done a, 478 00:27:12,160 --> 00:27:14,850 ki se trè pratik. 479 00:27:14,850 --> 00:27:17,480 >> Epi, koulye a nan kò a mwen pral retounen 480 00:27:17,480 --> 00:27:24,860 pòs premye a epi retounen kò li yo. 481 00:27:24,860 --> 00:27:27,930 Ak nan kou, mwen bezwen yo kreye yon pòs, 482 00:27:27,930 --> 00:27:31,880 Se konsa, kite a insert yon pòs nouvo. 483 00:27:31,880 --> 00:27:37,870 Mwen pral di, "Brandon, pòs trè premye mwen an." 484 00:27:37,870 --> 00:27:40,010 Pè. 485 00:27:40,010 --> 00:27:45,910 Epi, koulye a nou pral pou yo ale nan blogs 486 00:27:45,910 --> 00:27:50,960 epi si tout travay byen - o, sa a se kèk lòt bagay bèbè dosye pèmisyon ankò. 487 00:27:50,960 --> 00:27:56,090 Kenbe sou 1 dezyèm fwa. Li nan kalite absid. 488 00:28:06,700 --> 00:28:08,490 Gen nou ale. Oke. 489 00:28:08,490 --> 00:28:10,040 Mwen fiks ke pwoblèm pèmisyon pou sa. 490 00:28:10,040 --> 00:28:12,040 Li te ap eseye kreye kèk dosye ak kèk boutèy demi lit, 491 00:28:12,040 --> 00:28:15,400 ak autorisations yo, ankò, yo te pa byen mete, se konsa mwen te fè li 492 00:28:15,400 --> 00:28:18,320 Se konsa, moun ki dosye yo te écritures ak ègzèkutabl 493 00:28:18,320 --> 00:28:21,090 Se konsa, li te kapab aktyèlman ale nan bagay yo. 494 00:28:21,090 --> 00:28:24,220 Kounye a li nan bay m 'yon lòt pawòl eksepsyon, "ORM klas pa jwenn," 495 00:28:24,220 --> 00:28:26,960 e ke sa a paske mwen bliye yon lòt etap. 496 00:28:26,960 --> 00:28:37,010 Sa a twò move. 497 00:28:37,010 --> 00:28:40,270 Nan dosye a folder demaraj, gen modil sa yo isit la, 498 00:28:40,270 --> 00:28:42,480 kote ou ka chwazi yo ki ap pèmèt oswa enfim. 499 00:28:42,480 --> 00:28:44,340 Sa yo se yon pakèt moun sou karakteristik diferan ke ou ka chwazi yo itilize 500 00:28:44,340 --> 00:28:46,180 nan Kohana, ki se sòt de bèl. 501 00:28:46,180 --> 00:28:49,090 >> Pou egzanp, yo gen yon modil otantifikasyon 502 00:28:49,090 --> 00:28:51,170 ki ou ka itilize pou otantifye itilizatè. 503 00:28:51,170 --> 00:28:53,390 Yo te gen yon modil caching si ou vle aplike 504 00:28:53,390 --> 00:28:57,870 kèk sòt de caching tounen fen nan fè travay aplikasyon an pi vit ak pi etajèr. 505 00:28:57,870 --> 00:29:02,140 Nou bezwen yo ki ap pèmèt baz done a ak modil la ORM, 506 00:29:02,140 --> 00:29:04,280 paske tankou mwen te di, n ap lè l sèvi avèk baz done a, evidamman, 507 00:29:04,280 --> 00:29:08,200 e nou bezwen tou yo ki ap pèmèt modil la ORM, 508 00:29:08,200 --> 00:29:12,220 paske nou ta renmen gen fonctionnalités siplemantè a, ki se bon gen. 509 00:29:12,220 --> 00:29:14,240 Tout sa mwen te fè se de moun ki 2 liy, 510 00:29:14,240 --> 00:29:18,760 e kounye a, si mwen rafrechi, li te ban m 'yon lòt erè. 511 00:29:18,760 --> 00:29:22,100 Li di: "Gwoup Model_Post pa jwenn." 512 00:29:22,100 --> 00:29:30,210 Koulye a, sa a se yon bon pwoblèm ki gen. 513 00:29:30,210 --> 00:29:37,660 Ann wè. 514 00:29:37,660 --> 00:29:42,200 Fè li piblik. 515 00:29:42,200 --> 00:29:46,450 No Kenbe sou. 516 00:30:11,610 --> 00:30:13,160 Oh, mwen renmen anpil. 517 00:30:13,160 --> 00:30:18,590 Mwen pa konnen poukisa li pa kapab jwenn sa a. 518 00:30:18,590 --> 00:30:21,030 Sa ki nan vrèman etranj. 519 00:30:21,030 --> 00:30:23,820 Mwen gen klas sa a isit la menm. 520 00:30:23,820 --> 00:30:28,650 Mwen devine mwen ka gen yo - oh. 521 00:30:28,650 --> 00:30:32,010 Se mwen menm se konsa bèbè. Mwen te bliye ajoute yon tag PHP. 522 00:30:32,010 --> 00:30:34,670 Se poutèt sa. 523 00:30:34,670 --> 00:30:41,260 Koulye a, mwen gen defèt ke 1 chanjman mwen jis te fè. 524 00:30:41,260 --> 00:30:44,270 >> Okay. Gen nou ale. 525 00:30:44,270 --> 00:30:47,500 Sa te vrèman dwòl. Mwen pa t 'gen yon tag PHP ouvèti. 526 00:30:47,500 --> 00:30:49,900 Men, jan ou ka wè, kounye a li nan travay byen, dwa? 527 00:30:49,900 --> 00:30:51,240 Nou gen 1 pòs. 528 00:30:51,240 --> 00:30:54,730 Nou te pwan pòs premye a, epi kounye a nou enprime soti kò li yo. 529 00:30:54,730 --> 00:30:58,010 Great. Kokenn. 530 00:30:58,010 --> 00:31:01,470 Nenpòt kesyon byen lwen tèlman? 531 00:31:01,470 --> 00:31:04,100 Nope? Nenpòt kesyon? 532 00:31:04,100 --> 00:31:08,340 Oke, kidonk nou jis kreye modèl la pòs, trè debaz yo, 533 00:31:08,340 --> 00:31:10,930 e nou pral ajoute kèk fonksyon pita sou. 534 00:31:10,930 --> 00:31:13,600 Nou kapab ajoute validation ak filtraj. 535 00:31:13,600 --> 00:31:15,650 Validation yo se youn nan bagay ki 536 00:31:15,650 --> 00:31:18,150 ki cadres fè solisyon an pou ou reyèlman, reyèlman byen, 537 00:31:18,150 --> 00:31:21,310 epi mwen pa panse ke ou nèg te fè sa a pou pset CS50 ou a, 538 00:31:21,310 --> 00:31:24,000 Men, si ou fè devlopman web pou pwojè final ou a, 539 00:31:24,000 --> 00:31:26,280 w ap gen anpil chans ale nan vle fè kèk sòt de validation, 540 00:31:26,280 --> 00:31:28,290 tankou pa gen non itilizatè vid, 541 00:31:28,290 --> 00:31:31,950 petèt li te gen yon modpas ki gen omwen kèk longè, bagay sa yo tankou sa a. 542 00:31:31,950 --> 00:31:34,750 Epitou, se vrèman ankonbran aplike bagay sa yo pa tèt nou, 543 00:31:34,750 --> 00:31:37,390 ak bèl anpil chak fondasyon entènèt yon sèl fè li pou ou 544 00:31:37,390 --> 00:31:41,140 ak pèmèt ou fè l 'nan yon fason trè pwòp. 545 00:31:41,140 --> 00:31:44,340 Apre sa, modèl la se kote ou jeneralman eksprime sa yo règ validation, 546 00:31:44,340 --> 00:31:48,790 paske li te validation si wi ou non yon modèl sa a valab oswa ou pa. 547 00:31:48,790 --> 00:31:51,350 >> Men, pou kounye a, nou ap ale nan mete sa jouk lè pita, 548 00:31:51,350 --> 00:31:53,520 ak pou kounye a nou ap ale nan travay sou yon lòt pati, 549 00:31:53,520 --> 00:31:55,400 e nou pral eseye, epi fè yon View nouvo 550 00:31:55,400 --> 00:31:59,580 Li bay yon lis tout poto yo. 551 00:31:59,580 --> 00:32:02,490 Etap sa yo ki patisipe nan fè yon nouvo aksyon pou non tout posts yo 552 00:32:02,490 --> 00:32:04,810 se gen tan pwan yon lis tout posts yo 553 00:32:04,810 --> 00:32:11,990 ak Lè sa a rann lis la nan tout poto yo nan yon vi. 554 00:32:11,990 --> 00:32:16,420 Dwa isit la, erezman ase, nou deja te pwan tout posts yo 555 00:32:16,420 --> 00:32:20,310 lè l sèvi avèk liy sa a an premye, jwenn nan tout fonksyon, 556 00:32:20,310 --> 00:32:22,520 e kounye a, ki sa nou pwal fè se byen lwen tèlman 557 00:32:22,520 --> 00:32:25,350 Mwen te dirèkteman mete kò a nan repons lan 558 00:32:25,350 --> 00:32:29,090 pa pase fisèl la, men kounye a mwen vle sèvi ak yon vi, 559 00:32:29,090 --> 00:32:31,870 ak diferans ki genyen ant yon View ak jis ap fè sa 560 00:32:31,870 --> 00:32:35,330 se ak yon View mwen ka gen yon bèl, gwo modèl HTML, 561 00:32:35,330 --> 00:32:37,710 ak ki sa mwen kapab fè se pase l sèten varyab 562 00:32:37,710 --> 00:32:42,200 ak Lè sa a, yo te wè a otomatikman peple modèl li yo 563 00:32:42,200 --> 00:32:44,690 lè l sèvi avèk sa yo varyab. 564 00:32:44,690 --> 00:32:50,780 Ki sa mwen pral fè se mwen pral kreye yon View nouvo, 565 00:32:50,780 --> 00:32:55,940 epi mwen pral non wè yon bagay a tankou "blog / endèks," 566 00:32:55,940 --> 00:33:08,480 ak Mwen pral fondamantalman mare sa a - oh, ki sa mwen ekri? 567 00:33:08,480 --> 00:33:12,910 Nan sèvo mwen an se yon lòt kote. 568 00:33:12,910 --> 00:33:16,600 Mwen pral mare poto yo varyab gade nan, 569 00:33:16,600 --> 00:33:19,950 Se konsa, nan fason sa a gade nan gen aksè a sa a varyab post. 570 00:33:19,950 --> 00:33:26,140 >> Se konsa, koulye a, mwen bezwen yo kreye sa a wè, 571 00:33:26,140 --> 00:33:28,500 se konsa isit la nou gen sa a folder yo rele "Vizitè," 572 00:33:28,500 --> 00:33:32,150 ak premye, mwen pral kreye yon nouvo dosye anba ki rele "Blog." 573 00:33:32,150 --> 00:33:35,810 Sa a se bèl. Nan fason sa a nou ka gen yon yerachi bèl pou opinyon nou an. 574 00:33:35,810 --> 00:33:43,910 Lè sa a, mwen pral kreye yon lòt dosye ki nan gen yo rele "index.php." 575 00:33:43,910 --> 00:33:45,780 Pè. 576 00:33:45,780 --> 00:33:52,930 Aktyèlman, se pou yo fè yo tou de isit la. 577 00:33:52,930 --> 00:33:56,760 Fè yon dosye View se pwobableman pati nan ki pi senp lan nan tout sa a, 578 00:33:56,760 --> 00:33:59,090 ak sa yo se pwobableman bagay sa yo w ap deja abitye avèk yo. 579 00:33:59,090 --> 00:34:01,240 Nou pwal fè yon bagay vrèman senp, 580 00:34:01,240 --> 00:34:05,360 kòmanse li di yo: "lis mwen an nan posts blog." 581 00:34:05,360 --> 00:34:14,860 Lè sa a, nou ka ale nan, 582 00:34:14,860 --> 00:34:17,920 epi nou ka repňte nan etalaj la posts, 583 00:34:17,920 --> 00:34:21,760 gen tan pwan chak pòs yon sèl ak di yon bagay tankou - 584 00:34:21,760 --> 00:34:25,290 petèt ajoute yon liy 585 00:34:25,290 --> 00:34:42,460 ak Lè sa a, enprime soti otè a ak kò a. 586 00:34:42,460 --> 00:34:44,480 Sa fè sans byen lwen tèlman? 587 00:34:44,480 --> 00:34:50,870 Li kite yo wè si li fonksyone. 588 00:34:50,870 --> 00:34:53,489 Pa gen anyen ki te pase. 589 00:34:53,489 --> 00:34:55,090 Mwen mande pou ki rezon. 590 00:34:55,090 --> 00:34:58,760 Oh, mwen rate 1 etap. Trè komik sou mwen. 591 00:34:58,760 --> 00:35:01,640 Mwen te kreye yon View, men mwen pa t 'mete gade nan kòm repons lan, 592 00:35:01,640 --> 00:35:03,190 Se konsa, sa ou dwe fè 1 plis bagay. 593 00:35:03,190 --> 00:35:12,610 Sa ou dwe fè "kò repons sa a" li mete l 'yo dwe gade nan. 594 00:35:12,610 --> 00:35:14,760 Gen nou ale. 595 00:35:14,760 --> 00:35:17,200 Nou gen tit nou yo, epi Lè sa a, nou gen yon pòs, 596 00:35:17,200 --> 00:35:20,500 ak jis pou anvwaye, se pou yo insert yon lòt pòs 597 00:35:20,500 --> 00:35:23,390 pou nou ka wè yon lis. 598 00:35:31,800 --> 00:35:36,650 Apre sa, insert 2 pòs sa yo, 599 00:35:36,650 --> 00:35:39,500 e kounye a, si mwen rafrechi paj la, 600 00:35:39,500 --> 00:35:42,060 nou wè tout posts sa yo isit la. 601 00:35:42,060 --> 00:35:44,250 >> Ki fè sans byen lwen tèlman? 602 00:35:44,250 --> 00:35:46,400 Yeah, yon kesyon? Oh, oke. 603 00:35:46,400 --> 00:35:51,440 Kòm ou ka wè, nou te te kapab separe tout kòd sa yo soti 604 00:35:51,440 --> 00:35:53,920 nan seksyon diferan, ak Lè sa a, ou ka wè li nan pi klè ak kòd la vi. 605 00:35:53,920 --> 00:35:57,810 Dosye sa a isit la ki reprezante gade nan, 606 00:35:57,810 --> 00:36:01,220 li sèlman gen sousi pou reprezante done, ap montre done. 607 00:36:01,220 --> 00:36:04,310 Li vin pase kèk sòt de done, ansanm ak tout sa li fè se jis montre li nan ou. 608 00:36:04,310 --> 00:36:07,660 Nan tout lòt pati nan Kòd ou, ou pa pral gen enkyete sou nenpòt nan sa, 609 00:36:07,660 --> 00:36:10,480 ak Menm jan an tou, kòd gade ou pa gen enkyete anyen sou 610 00:36:10,480 --> 00:36:13,390 ki jan yo jwenn aksè nan baz done a ak sou sa ak pou fè, 611 00:36:13,390 --> 00:36:19,950 ki se reyèlman bon ak fè kòd ou yon anpil plis soutnabl. 612 00:36:19,950 --> 00:36:23,390 Tankou mwen te di, gade, yo ap dinamik nan ki 613 00:36:23,390 --> 00:36:27,080 li nan 1 dosye, men li ta jenere opinyon diferan 614 00:36:27,080 --> 00:36:29,940 ki baze sou varyab yo ou aktyèlman pase nan, 615 00:36:29,940 --> 00:36:32,370 ak Anplis de sa, gen yon anpil nan fonksyon k'ap vin ede diferan 616 00:36:32,370 --> 00:36:34,230 ki ou ka itilize yo ede w ekri kòd ou a pi vit, 617 00:36:34,230 --> 00:36:36,320 ki mwen pral montre w nan jis yon dezyèm fwa. 618 00:36:36,320 --> 00:36:38,050 Yeah. 619 00:36:38,050 --> 00:36:42,490 >> [Elèv] Se konsa, $ 0 a se yon kontwolè, dwa? 620 00:36:42,490 --> 00:36:44,000 Sa dezyèm bagay. 621 00:36:44,000 --> 00:36:46,090 Kesyon an se ki $ 0 yon kontwolè? 622 00:36:46,090 --> 00:36:48,610 $ 0 a se yon varyab mwen te kreye isit la menm. 623 00:36:48,610 --> 00:36:51,320 Mwen te kreye yon View premye. Mwen plase li nan kèk varyab. 624 00:36:51,320 --> 00:36:54,960 Apre sa, mwen te pase l 'nan fonksyon sa a, mete l' kòm kò a nan repons lan. 625 00:36:54,960 --> 00:36:57,260 ki fè sans? 626 00:36:57,260 --> 00:37:02,200 [Elèv] Se konsa, se wè :: faktori, se wè tankou yon klas 627 00:37:02,200 --> 00:37:06,610 oswa yon bibliyotèk [fèbl] fonksyon faktori? 628 00:37:06,610 --> 00:37:10,640 Kesyon an se sou fonksyon an vi :: faktori, 629 00:37:10,640 --> 00:37:14,020 ak fondamantalman sa a se kèk plis objè-oryante pwogram esansyèlman. 630 00:37:14,020 --> 00:37:18,000 View la se klas la vi, epi li gen yon metòd ki rele "faktori," 631 00:37:18,000 --> 00:37:24,170 e ke sa a yon fason yo gen tan pwan objè a ki nan te nonmen li "blog / Konpayi paran yo." 632 00:37:24,170 --> 00:37:27,140 Epi sa a, kèk plis objè-oryante bagay pwogram 633 00:37:27,140 --> 00:37:33,010 ke mwen pa ale nan ale nan isit la twòp. 634 00:37:33,010 --> 00:37:36,400 Koulye a, evidamman, nou vle kreye nouvo pòs, 635 00:37:36,400 --> 00:37:38,790 men nou pa vle gen fè li nan yon baz done, 636 00:37:38,790 --> 00:37:41,280 se konsa nou ap ale nan kreye yon nouvo aksyon pou kreye yon pòs nouvo, 637 00:37:41,280 --> 00:37:43,050 epi gen yon anpil nan bagay nou dwe fè. 638 00:37:43,050 --> 00:37:45,910 >> Premye bagay nou pral fè - kite la atake tout bagay sa yo youn pa youn. 639 00:37:45,910 --> 00:37:48,320 Premye bagay nou pral fè se nou te gen yo kreye yon fòm 640 00:37:48,320 --> 00:37:54,460 pou yo mete yon pòs nouvo, 641 00:37:54,460 --> 00:37:57,360 men mwen tou ale nan ajoute yon nouvo aksyon an premye, 642 00:37:57,360 --> 00:38:01,050 Se konsa, pandan l ajoute ke yon nouvo aksyon se jis kòm fasil tankou 643 00:38:01,050 --> 00:38:03,490 ajoute yon fonksyon nouvo ak kontwolè ou a, 644 00:38:03,490 --> 00:38:13,710 ak pou kounye a mwen pral fè yon bagay trè debaz yo, 645 00:38:13,710 --> 00:38:20,850 jis gen tan pwan sa a wè epi nap mete li, jis montre li pou ou. 646 00:38:20,850 --> 00:38:26,220 Lè sa a, kounye a mwen pral kreye yon nouvo dosye vi, 647 00:38:26,220 --> 00:38:33,690 ak mwen pral kòmanse ekri kèk bagay. 648 00:38:33,690 --> 00:38:36,540 Ki sa ki nan bèl sou Kohana se yo ke yo bay yon anpil nan fonksyon k'ap vin ede diferan 649 00:38:36,540 --> 00:38:38,790 pou ou pou w ekri kòd wè pi fasil, 650 00:38:38,790 --> 00:38:41,970 ak 1 moun ki fonksyon k'ap vin ede oswa modil k'ap vin ede 651 00:38:41,970 --> 00:38:45,860 se alantou ekri fòm. 652 00:38:45,860 --> 00:38:49,460 Pou ekri fòm, mwen pa reyèlman gen dirèkteman ekri nenpòt HTML tèt mwen. 653 00:38:49,460 --> 00:38:51,100 Ou mesye yo te ekri fòm HTML. 654 00:38:51,100 --> 00:38:54,850 Ou konnen jan li kapab reyèlman, reyèlman douloure ak ankonbran yo ekri fòm. 655 00:38:54,850 --> 00:38:59,970 Li pa plezi, se konsa erezman, 656 00:38:59,970 --> 00:39:04,860 nou ka fondamantalman ekri yon fòm lè l sèvi avèk Kohana a 657 00:39:04,860 --> 00:39:11,190 fòme fonksyon k'ap vin ede fè li pou nou. 658 00:39:11,190 --> 00:39:17,340 Nou pral fondamantalman gen jaden pou chak bagay yon sèl nou genyen, 659 00:39:17,340 --> 00:39:23,160 Se konsa, yonn pou otè ak yonn pou kò yo nan. 660 00:39:23,160 --> 00:39:27,090 Nou pral gen yon etikèt sou yo, epi nou ap ale nan gen yon opinyon. 661 00:39:37,450 --> 00:39:41,360 >> Lè sa a, finalman, nou pral gen yon soumèt. 662 00:39:49,350 --> 00:39:52,230 Apre sa, kòm ou ka wè, sa a se pi cleaner yo ekri 663 00:39:52,230 --> 00:39:58,150 pase tout sa ki HTML sal, ki se kalite bèl. 664 00:39:58,150 --> 00:40:00,930 Akòde, gen lòt cadres wèb ki genyen li menm cleaner pase sa, 665 00:40:00,930 --> 00:40:04,440 men omwen sa a se pi bon pase ekri HTML nan tèt ou. 666 00:40:09,400 --> 00:40:11,130 Awesome, se konsa sa a se sa ou wè. 667 00:40:11,130 --> 00:40:13,530 Sa a kalite sal, 668 00:40:13,530 --> 00:40:19,720 Se konsa, mwen pral ajoute yon ti repo liy gen 669 00:40:19,720 --> 00:40:21,180 fè ki gade yon ti kras joli. 670 00:40:21,180 --> 00:40:23,330 Oke, nan kou, li toujou sanble reyèlman, reyèlman move, men nou ap jis konsantre 671 00:40:23,330 --> 00:40:26,050 sou fonksyonalite a pou kounye a epi yo pa sou estetik yo. 672 00:40:26,050 --> 00:40:28,010 Pa gen tan fè tout bagay. 673 00:40:28,010 --> 00:40:30,600 Apre sa, kòm ou ka wè, kounye a nou gen yon fòm super debaz yo, 674 00:40:30,600 --> 00:40:32,080 ki se kalite bèl. 675 00:40:32,080 --> 00:40:36,730 Kòd sa a mwen ta ka di se pi pwòp pase ap eseye ekri yon HTML fòme tèt ou, 676 00:40:36,730 --> 00:40:40,290 Se konsa, sa a, se bèl. 677 00:40:40,290 --> 00:40:42,030 Ki sa ki nan pwochen? 678 00:40:42,030 --> 00:40:49,260 Koulye a, nou bezwen fè bagay sa yo ak aksyon an. 679 00:40:49,260 --> 00:40:51,240 Nòmalman lè ou ekri fòm HTML, 680 00:40:51,240 --> 00:40:54,070 ou gen lè sa a kote li ale nan soumèt fòm nan. 681 00:40:54,070 --> 00:40:56,050 Pa default nan pi fò cadres entènèt, 682 00:40:56,050 --> 00:40:58,200 li soumèt ba egzak URL la menm, se konsa bagay la ye, se 683 00:40:58,200 --> 00:41:01,310 si ou voye yon demann ale nan / blog / nouvo, 684 00:41:01,310 --> 00:41:03,240 li ta dwe montre ou fòm nan, 685 00:41:03,240 --> 00:41:06,810 men si ou voye yon demann poste nan / blog / nouvo ak done yo, 686 00:41:06,810 --> 00:41:10,000 li ta dwe aktyèlman eseye sove pòs sa a 687 00:41:10,000 --> 00:41:13,300 ak fè yon bagay ak li. 688 00:41:20,630 --> 00:41:22,180 >> Ki sa nou ap ale nan fè se 689 00:41:22,180 --> 00:41:25,320 fondamantalman tout sa nou gen pou fè pou tcheke si li nan yon demann pòs oswa yon demann Pran 690 00:41:25,320 --> 00:41:29,350 se tcheke ki sa yo varyab yo pòs ou ka mete. 691 00:41:29,350 --> 00:41:34,560 Men, si se varyab la pòs mete, lè sa a nou pral eseye ak kreye yon pòs nouvo. 692 00:41:34,560 --> 00:41:38,440 Yon fwa ankò, nou jis fè sa, 693 00:41:38,440 --> 00:41:41,090 ak ki ka kreye yon pòs nouvo, epi nou ap literalman ale nan 694 00:41:41,090 --> 00:41:51,150 mete jaden li yo tankou sa a, 695 00:41:51,150 --> 00:41:55,640 ak Lè sa a, nou pral sove li. 696 00:41:55,640 --> 00:41:59,200 Lè sa a, mwen pral redireksyon 697 00:41:59,200 --> 00:42:07,660 nan paj an endèks pou yo ka wè lis nou an nan posts ankò. 698 00:42:07,660 --> 00:42:09,620 Ann eseye sa a. 699 00:42:09,620 --> 00:42:15,160 Mwen pral di, "Brandon," 700 00:42:15,160 --> 00:42:18,140 ak Lè sa a, soumèt post la, epi si tout bagay ale byen, 701 00:42:18,140 --> 00:42:21,390 jan ou ka wè, li reyorante resous m 'nan paj la endèks, 702 00:42:21,390 --> 00:42:24,140 Si m 'woulo liv nan fon an, nou gen yon pòs ki fèk antre. 703 00:42:24,140 --> 00:42:26,430 Ye! 704 00:42:26,430 --> 00:42:28,430 Yeah, kesyon. 705 00:42:28,430 --> 00:42:31,760 >> [Elèv] E si ou te antre nan menm bagay la egzak 706 00:42:31,760 --> 00:42:33,380 ou te antre ye anvan an? 707 00:42:33,380 --> 00:42:36,950 li tcheke asire w ke ou pa te double 708 00:42:36,950 --> 00:42:38,810 soumèt a menm? 709 00:42:38,810 --> 00:42:41,660 Fè default, pa gen okenn, paske pa default - 710 00:42:41,660 --> 00:42:46,470 regrèt sa, kesyon an se si w antre nan nan done yo egzak menm nan fòm lan 711 00:42:46,470 --> 00:42:50,180 epi soumèt sa a, li pral pèmèt ou mete yon objè kopi, 712 00:42:50,180 --> 00:42:52,550 yon kopi antre, esansyèlman? 713 00:42:52,550 --> 00:42:54,070 Dwa koulye a, repons lan se wi, li pral pèmèt ou fè sa, 714 00:42:54,070 --> 00:42:58,860 paske nan baz done li nan parfe ki valab yo gen ranje konplètman kopi, 715 00:42:58,860 --> 00:43:02,260 Men, si ke se yon pwoblèm, Lè sa a, ou ka ajoute validation, pou egzanp, 716 00:43:02,260 --> 00:43:06,430 a asire w ke si sa a se egzakteman menm jan yon bagay ki deja egziste, 717 00:43:06,430 --> 00:43:08,720 Lè sa a, di ke li nan yon objè valab, 718 00:43:08,720 --> 00:43:11,200 ak Lè sa a, ou ka menm presize mesaj erè ou 719 00:43:11,200 --> 00:43:14,390 ak di, "Envalid paske sa a deja egziste" oswa yon bagay tankou sa. 720 00:43:14,390 --> 00:43:22,420 Men, nan ka sa a, mwen te kapab jis kreye yon bagay kopi. 721 00:43:22,420 --> 00:43:26,010 Koulye a, kite nan eseye epi ajoute kèk validation. 722 00:43:26,010 --> 00:43:30,400 Pwoblèm nan ak sa a kounye a se ke 723 00:43:30,400 --> 00:43:34,220 Mwen te kapab literalman soumèt yon post konplètman vid. 724 00:43:34,220 --> 00:43:37,500 Mwen ka klike sou bouton sa a kounye a, epi gen nou ale. 725 00:43:37,500 --> 00:43:40,290 Ou pa ka vrèman wè l ', men sa a liy siplemantè isit la 726 00:43:40,290 --> 00:43:43,830 endike ke mwen literalman gen yon pòs nouvo. 727 00:43:43,830 --> 00:43:46,050 Li jis gen yon otè vid ak yon kò vid, 728 00:43:46,050 --> 00:43:48,630 epi nou pa vle pèmèt moun yo fè sa. 729 00:43:48,630 --> 00:43:52,550 Sa a se kote validation vini pous 730 00:43:52,550 --> 00:43:57,540 >> Mwen ka ale nan modèl mwen an objè, 731 00:43:57,540 --> 00:43:59,530 e kounye a, mwen ka ajoute yon fonksyon nouvo ki espesifye 732 00:43:59,530 --> 00:44:02,000 sa ki règ validation mwen ta dwe ajoute nan modèl sa a 733 00:44:02,000 --> 00:44:06,840 asire w ke li se ki valab oswa ou presize ki sa sa vle di gen yon pòs valid? 734 00:44:06,840 --> 00:44:10,210 Apre sa, mwen vle di li a sèlman yon pòs ki valab si toude otè a ansanm ak tout kò 735 00:44:10,210 --> 00:44:15,150 yo pa vid, e sa se ki jan ou fè l 'nan Kohana. 736 00:44:15,150 --> 00:44:18,750 Ou kreye yon fonksyon nouvo rele "Règ," 737 00:44:18,750 --> 00:44:20,210 ak Lè sa a, ou fondamantalman retounen yon etalaj asosyatif 738 00:44:20,210 --> 00:44:24,230 ki defini règleman yo Validasyon pou sa a objè. 739 00:44:24,230 --> 00:44:27,530 Nou pral retounen etalaj la, ak Lè sa a, ki sa nou pwal fè se 740 00:44:27,530 --> 00:44:32,820 di "otè," li ale nan yon etalaj, 741 00:44:32,820 --> 00:44:37,720 ki ale nan yon lòt pozisyon yo rele "pa vid." 742 00:44:37,720 --> 00:44:41,480 Lè sa a, mwen pral di "kò a." 743 00:44:50,980 --> 00:44:54,120 Oke, ak sentaks la pou sa a ak estrikti pou sa a 744 00:44:54,120 --> 00:44:56,530 ka sanble yon ti ankonbran ak yon ti kras konplike. 745 00:44:56,530 --> 00:44:59,330 Si w li dokiman an, li a trè senp figi konnen, 746 00:44:59,330 --> 00:45:02,500 Men, esansyèlman sa a se sa ou bezwen fè ou presize 747 00:45:02,500 --> 00:45:04,130 kèk règleman validation, e gen yon anpil nan règleman diferan yo 748 00:45:04,130 --> 00:45:06,810 ki Kohana pral ba ou pou gratis, tankou ou ka ajoute règleman yo di 749 00:45:06,810 --> 00:45:08,410 li dwe gen omwen sa a longè. 750 00:45:08,410 --> 00:45:11,800 Petèt li gen yo dwe nimerik. Petèt li gen yo dwe Alpha nimerik. 751 00:45:11,800 --> 00:45:14,410 Petèt li gen yo dwe nan pifò sa a longè, sou sa ak pou fè. 752 00:45:14,410 --> 00:45:17,730 Gen yon anpil nan règleman diferan ki Kohana bay pou ou, 753 00:45:17,730 --> 00:45:19,610 epi ou ka ale sou sit entènèt yo, gade nan dokiman an, 754 00:45:19,610 --> 00:45:23,150 epi ou ka wè tout bagay sa yo diferan ke ou ka fè. 755 00:45:23,150 --> 00:45:25,650 >> Men, sa a se tout mwen oblije fè sa, 756 00:45:25,650 --> 00:45:30,490 e kounye a, se pou yo wè sa ki rive 757 00:45:30,490 --> 00:45:34,060 , si mwen voye yon pòs vid. 758 00:45:34,060 --> 00:45:36,960 Ki sa ki pral rive? Oh, pa gen okenn, mwen jwenn yon erè. 759 00:45:36,960 --> 00:45:39,440 Mwen jwenn yon eksepsyon validation. 760 00:45:39,440 --> 00:45:41,070 Oke, li la bon. 761 00:45:41,070 --> 00:45:43,200 Li te di m 'ke modèl mwen an se valab, 762 00:45:43,200 --> 00:45:45,780 Men, mwen pa vle montre yon eksepsyon 763 00:45:45,780 --> 00:45:48,720 itilizatè mwen an lè yo eseye soumèt yon bagay valab, dwa? 764 00:45:48,720 --> 00:45:51,560 Mwen vle ba yo kèk sòt de favorable mesaj erè 765 00:45:51,560 --> 00:45:53,610 lè yon bagay ale mal. 766 00:45:53,610 --> 00:46:01,830 Ki sa nou ap ale nan fè se nou pral 767 00:46:01,830 --> 00:46:04,490 vlope tout bagay nan yon bouk eseye trape. 768 00:46:04,490 --> 00:46:06,750 Aktyèlman, mwen panse ke sa a se tou yon bagay ou pa te aprann ankò 769 00:46:06,750 --> 00:46:10,820 nan CS50, paske C, lang programmation C a, 770 00:46:10,820 --> 00:46:14,000 pa gen eksepsyon, men prèske chak yon sèl lòt lang 771 00:46:14,000 --> 00:46:16,700 gen eksepsyon, se konsa reyèlman, reyèlman yon ti tan, 772 00:46:16,700 --> 00:46:19,430 yon eksepsyon se yon bagay ki yon moso nan Kòd kapab 773 00:46:19,430 --> 00:46:21,430 voye jete yon eksepsyon lè yon bagay ale mal, 774 00:46:21,430 --> 00:46:23,410 Men, Lè sa a, petèt kèk lòt moso nan Kòd moute pi wo 775 00:46:23,410 --> 00:46:25,810 ka trape ki eksepsyon ak fè yon bagay ak li. 776 00:46:25,810 --> 00:46:27,710 >> Pou egzanp, nan ka sa a, 777 00:46:27,710 --> 00:46:29,940 moso nan nan kòd ki nan ap eseye sove yon modèl, 778 00:46:29,940 --> 00:46:33,170 li validation modèl la, epi si li di, "Oke, modèl sa a se valab," 779 00:46:33,170 --> 00:46:36,150 li pral voye jete yon eksepsyon, e sa se kalite ekivalan a 780 00:46:36,150 --> 00:46:39,870 nan C ou ta ka retounen yon -1 oswa yon bagay tankou sa. 781 00:46:39,870 --> 00:46:42,320 Lè sa a, pou m ', fonksyon sa a, Kòd mwen 782 00:46:42,320 --> 00:46:46,310 nan yon nivo ki pi wo, mwen ka eseye ak trape ki eksepsyon 783 00:46:46,310 --> 00:46:49,330 ak fondamantalman di, "Oke, si mwen trape eksepsyon nan, ki sa ki mwen pral fè?" 784 00:46:49,330 --> 00:46:51,570 Oswa mwen te kapab chwazi pou pa trape ki eksepsyon epi kite yon moun moute pi wo 785 00:46:51,570 --> 00:46:54,400 trape eksepsyon nan, oswa si pa gen moun atrap li, 786 00:46:54,400 --> 00:46:56,820 Lè sa a, pwogram nan tout antye aksidan e li di, 787 00:46:56,820 --> 00:46:59,170 "Yon bagay ale mal, epi mwen pa t 'kapab manyen li." 788 00:46:59,170 --> 00:47:04,490 >> Men, sa nou fè se ou vlope yon moso nan Kòd nan yon blòk eseye, 789 00:47:04,490 --> 00:47:09,030 ak Lè sa a, nou menm tou nou ajoute yon bagay yo rele yon blòk trape, 790 00:47:09,030 --> 00:47:17,300 ki se sòt nan kòd ki pral eseye ak trape eksepsyon ki kapab rive. 791 00:47:17,300 --> 00:47:20,430 Se konsa, si mwen trape eksepsyon sa a an patikilye 792 00:47:20,430 --> 00:47:23,110 oswa eksepsyon anile, lè sa a sa m ap pral fè se 793 00:47:23,110 --> 00:47:31,210 Mwen pral mete erè yo ki - Mwen panse ke sa a, se ki jan mwen fè li - 794 00:47:31,210 --> 00:47:35,370 ak mwen pral yo mete erè yo ki nan kèk objè. 795 00:47:35,370 --> 00:47:40,920 Lè sa a, sa m ap pral fè se si li frape eksepsyon sa a, 796 00:47:40,920 --> 00:47:43,090 li nan pa ale nan redireksyon, epi si li pa redireksyon, 797 00:47:43,090 --> 00:47:46,160 li k ap pase vin soti nan si blog la 798 00:47:46,160 --> 00:47:49,920 ak frape sa a blog / nouvo, ki se vle mwen vle fè. 799 00:47:49,920 --> 00:47:53,190 Si gen yon erè, Lè sa a, mwen vle ale tounen nan fòm nan 800 00:47:53,190 --> 00:47:55,100 epi montre sa yo erè. 801 00:47:55,100 --> 00:48:00,780 Koulye a, sa m 'vle fè se mwen vle pase nan sa yo erè 802 00:48:00,780 --> 00:48:07,010 gade nan. 803 00:48:07,010 --> 00:48:10,360 Oke, mwen panse ke mwen gen gade nan dwa isit la, 804 00:48:10,360 --> 00:48:14,660 ak fondamantalman mwen vle montre sa yo erè si yo egziste. 805 00:48:14,660 --> 00:48:19,740 Anvan m 'ekri HTML la pou sa, mwen pral vrèman byen vit 806 00:48:19,740 --> 00:48:21,720 montre w sa estrikti a nan sa a erè sanble varyab renmen, 807 00:48:21,720 --> 00:48:23,080 ak sa a se yon bon pratik an jeneral. 808 00:48:23,080 --> 00:48:25,070 Yon anpil fwa ou jwenn yon bagay tounen nan kèk metòd, 809 00:48:25,070 --> 00:48:27,250 kèk fonksyon nan kad wèb la, 810 00:48:27,250 --> 00:48:29,410 epi ou pa konnen ki sa varyab la sanble, 811 00:48:29,410 --> 00:48:31,210 pou w pa konnen ki jan yo travay avèk li. 812 00:48:31,210 --> 00:48:37,790 Mwen pral sèvi ak yon metòd ekri ak lèt ​​detache R rive fondamantalman ekri ak lèt ​​detache li soti. 813 00:48:37,790 --> 00:48:41,100 >> Apre sa, jan ou ka wè, li di m 'li nan yon etalaj asosye, 814 00:48:41,100 --> 00:48:44,880 epi ou gen yon kle, otè, pwen nan fisèl sa a, 815 00:48:44,880 --> 00:48:47,050 otè pa dwe vid, ak yon lòt kle, kò, 816 00:48:47,050 --> 00:48:49,680 pwen nan yon lòt fil, kò pa dwe rete vid. 817 00:48:49,680 --> 00:48:52,130 Mwen se tankou, oke, fre. 818 00:48:52,130 --> 00:48:56,230 Lè sa a, mwen ka repňte nan etalaj la epi enprime soti chak mesaj sèl. 819 00:48:56,230 --> 00:49:02,150 Li nan fondamantalman tankou yon etalaj asosyatif ak yon pakèt moun sou mesaj. 820 00:49:02,150 --> 00:49:13,500 Ki sa ki mwen pral fè se "si erè," 821 00:49:13,500 --> 00:49:17,140 ak mwen pral yo kreye yon lis unordered, 822 00:49:17,140 --> 00:49:20,860 ak Mwen pral repňte nan tout erè yo ki. 823 00:49:33,730 --> 00:49:38,710 Lè sa a, e kounye a, mwen pral eseye soumèt sa a ankò, 824 00:49:38,710 --> 00:49:41,200 e kite yo wè sa ki nou jwenn. 825 00:49:41,200 --> 00:49:45,370 Koulye a, nou jwenn sa a lis bèl nan erè, 826 00:49:45,370 --> 00:49:48,630 ak sa a se toujou trè lèd, men sa a evidamman kapab fòma yo gade bèl, 827 00:49:48,630 --> 00:49:51,620 Men, lide nan debaz la se jis nan yon liy kèk nan kòd, 828 00:49:51,620 --> 00:49:53,720 nou te kapab valide modèl nou an, 829 00:49:53,720 --> 00:49:56,510 asire w ke jaden sèten yo pa t 'vid, 830 00:49:56,510 --> 00:49:59,740 ak si gen yon bagay ale mal, Lè sa a, retounen kèk sòt de mesaj erè 831 00:49:59,740 --> 00:50:01,760 Mwen te kapab Lè sa a, prezante tounen nan itilizatè a. 832 00:50:01,760 --> 00:50:03,910 Ou kapab tou Customize validation ou 833 00:50:03,910 --> 00:50:07,590 pou ke ou ka gen aktyèlman yon mesaj erè 834 00:50:07,590 --> 00:50:09,620 ki pi plis espesifik nan aplikasyon w lan oswa yon bagay tankou sa. 835 00:50:09,620 --> 00:50:14,600 Tout sa ki se jeneralman customizable. 836 00:50:14,600 --> 00:50:17,150 >> Malerezman, nou ap kouri soti nan tan, 837 00:50:17,150 --> 00:50:20,040 se konsa mwen pral fè yo koupe sesyon-an ap viv kod isit la. 838 00:50:20,040 --> 00:50:22,980 Gen yon pakèt moun sou lòt karakteristik ki mwen vle demontre pou ou 839 00:50:22,980 --> 00:50:25,650 nan egzanp sa a. 840 00:50:25,650 --> 00:50:27,620 Pou egzanp, ou ka ajoute modèl nan sit ou a, 841 00:50:27,620 --> 00:50:31,110 Se konsa, petèt gen kèk sòt de kòd HTML ke ou vle pou aplike pou 842 00:50:31,110 --> 00:50:35,190 nan chak paj yon sèl nan sit ou a, ak olye pou yo kole ki 843 00:50:35,190 --> 00:50:40,630 nan chak dosye View Single ou gen, ki evidamman ta dwe yon pratik move, 844 00:50:40,630 --> 00:50:43,020 ou ka fondamantalman defini sa yo modèl, 845 00:50:43,020 --> 00:50:46,660 ak Lè sa a, nan kontwolè ou di, "Oke, mwen lè l sèvi avèk modèl sa a." 846 00:50:46,660 --> 00:50:50,130 "Èske tout pwen de vi mwen an sèvi ak modèl sa a." 847 00:50:50,130 --> 00:50:52,470 Apre sa, yon sèl bagay ki sot pase a mwen vle demontre nou la a kòm byen 848 00:50:52,470 --> 00:50:57,800 ke nou pa gen tan pou se kwa-sit scripting, 849 00:50:57,800 --> 00:51:01,430 ak fondamantalman Mwen panse ke ou nèg te pwobableman gen wè nan CS50 - 850 00:51:01,430 --> 00:51:03,770 Mwen panse ke David Malan pwobableman te pale osijè de ki jan ou ka anjeneral enjekte 851 00:51:03,770 --> 00:51:08,040 Kòd JavaScript nan - ou te pale osijè de sa a? 852 00:51:08,040 --> 00:51:10,220 Petèt? Petèt ou pa? 853 00:51:10,220 --> 00:51:12,670 >> Men, yon anpil nan fwa ou ka enjekte move JavaScript Kòd 854 00:51:12,670 --> 00:51:15,630 nan baz done yon moun nan, epi si yo pa chape anba ki byen, 855 00:51:15,630 --> 00:51:18,280 Lè sa a, lè yo prezante ke done tounen nan itilizatè a, 856 00:51:18,280 --> 00:51:21,310 Lè sa a, li ka kouri kèk sòt de o aza JavaScript Kòd ou pa ta vle rive, 857 00:51:21,310 --> 00:51:23,050 epi mwen te ale nan montre ki jan ou ta fè sa nan lespas Kohana. 858 00:51:23,050 --> 00:51:25,380 Li nan aktyèlman reyèlman, reyèlman fasil. 859 00:51:25,380 --> 00:51:31,920 Mwen te kapab fè li kounye a nan 2 segonn literalman. 860 00:51:31,920 --> 00:51:34,560 Tout sa ou dwe fè se fondamantalman vlope bagay sa yo 861 00:51:34,560 --> 00:51:46,920 nan bagay sa yo rele antite HTML. 862 00:51:46,920 --> 00:51:51,180 Apre sa, ki pral otomatikman chape anba tout karaktè yo byen 863 00:51:51,180 --> 00:51:54,730 ak asire w ke ou pa jwenn pwoblèm sa a. 864 00:51:54,730 --> 00:51:57,220 [Elèv] Ou eple premye tès la mal. 865 00:51:57,220 --> 00:52:01,030 [Brandon Liu] Oh, Wouch. 866 00:52:01,030 --> 00:52:06,420 >> Okay, sa a, se tout mwen te pataje avèk ou pou jodi an. 867 00:52:06,420 --> 00:52:09,930 Glisad sa yo yo ale nan ap afiche, men sa yo yo jeneralman 868 00:52:09,930 --> 00:52:13,900 resous yo sèlman ou ta dwe reyèlman bezwen jwenn te kòmanse avèk Kohana. 869 00:52:13,900 --> 00:52:16,770 Ou ka ale nan sit entènèt la. Yo te gen yon Gid pou Itilizatè, epi yo menm tou yo gen yon eksploratè API. 870 00:52:16,770 --> 00:52:20,630 Nou ka eksplore tout fonksyon yo diferan ak fonksyon k'ap vin ede yo gen pou ou. 871 00:52:20,630 --> 00:52:22,070 Yo jeneralman gen ase enfòmasyon sou sit entènèt la 872 00:52:22,070 --> 00:52:25,310 ke ou ka itilize jwenn te kòmanse epi pou yo jwenn ale ak Kohana. 873 00:52:25,310 --> 00:52:30,840 Pa gen ke anpil leson patikilye, mwen panse, pou Kohana, deyò nan 874 00:52:30,840 --> 00:52:33,880 sa yo genyen sou sit entènèt la isit la, se konsa sa a se pwobableman parye pi bon ou. 875 00:52:33,880 --> 00:52:35,600 Men, si ou vle ale ak fondasyon an sit entènèt 876 00:52:35,600 --> 00:52:37,120 epi ou pa vle gen nan ranmase yon nouvo lang, 877 00:52:37,120 --> 00:52:39,780 epi ou vle yon bagay ki se relativman ki lejè e li gen yon koub aprantisaj fasil, 878 00:52:39,780 --> 00:52:41,570 Mwen ta definitivman sijere Kohana. 879 00:52:41,570 --> 00:52:44,040 Sa a pwobableman ofrann a pi bon pou sa. 880 00:52:44,040 --> 00:52:46,830 Bagay la komik, menm si, se si nou te lè l sèvi avèk Ruby sou ray, 881 00:52:46,830 --> 00:52:48,550 nou ta gen repwodwi sa nou jis te fè 882 00:52:48,550 --> 00:52:51,430 ak pwobableman pi plis nan anba 3 minit. 883 00:52:51,430 --> 00:52:54,710 Pa gen blag, men aprann Ruby sou ray pran yon anpil pi long 884 00:52:54,710 --> 00:52:56,780 pase sa li ta pran yo aprann Kohana. 885 00:52:56,780 --> 00:52:58,840 Li nan fondamantalman chwa ou sou sa ou vle yo chwazi yo aprann, 886 00:52:58,840 --> 00:53:01,260 Men, si ou ta vle jwenn leve, li kouri byen vit, 887 00:53:01,260 --> 00:53:03,870 Kohana se definitivman yon trè bon chwa. 888 00:53:03,870 --> 00:53:06,730 >> Nenpòt kesyon dènye anvan nou fini? Wi. 889 00:53:06,730 --> 00:53:08,020 [Elèv] Ki jan nou ta entegre ki 890 00:53:08,020 --> 00:53:13,120 nan yon fondasyon CSS tankou ou te lè l sèvi avèk lè ou te enstwi? 891 00:53:13,120 --> 00:53:16,700 Kesyon an se ki jan nou ta entegre ke ak yon fondasyon CSS? 892 00:53:16,700 --> 00:53:18,740 Ki sa nou ta pwobableman fè se nou ta pwobableman gen ladan 893 00:53:18,740 --> 00:53:21,090 yon nouvo folder kote nou ta pil fatra tout dosye CSS nou an, 894 00:53:21,090 --> 00:53:23,010 ak Lè sa a, nou ta ajoute tou yon modèl nouvo. 895 00:53:23,010 --> 00:53:26,090 Nan modèl la nou ta gen ladan sa yo ki dosye CSS 896 00:53:26,090 --> 00:53:28,410 asire w yo ap referans sou chak paj yon sèl, 897 00:53:28,410 --> 00:53:32,220 ak Lè sa a, lè ou aktyèlman ap ekri HTML, 898 00:53:32,220 --> 00:53:34,010 ou jis ajoute klas ki apwopriye ak etajèr, 899 00:53:34,010 --> 00:53:36,100 ak pou egzanp, lè w ap itilize yon bagay tankou fòm nan 900 00:53:36,100 --> 00:53:40,710 fonksyon k'ap vin ede, ou ka ajoute plis paramèt apre sa 901 00:53:40,710 --> 00:53:42,830 ou presize ki sa klas ou vle yo dwe tache ak divès kalite bagay sa yo 902 00:53:42,830 --> 00:53:47,820 pou yo te ka style li byen, epi ki nan fondamantalman ki jan ou ta ale. 903 00:53:47,820 --> 00:53:50,100 >> Nenpòt lòt kesyon? 904 00:53:50,100 --> 00:53:52,090 Pè. 905 00:53:52,090 --> 00:53:58,540 Mèsi pou tan ou, ak di ou mèsi pou vini yo. 906 00:53:58,540 --> 00:54:05,170 Mwen pa te ale nan ajoute anpil lòt moun, 907 00:54:05,170 --> 00:54:08,560 men 1 bagay vrèman rapid se nou pa gen yon lyen 908 00:54:08,560 --> 00:54:12,590 nan fòm la. 909 00:54:12,590 --> 00:54:14,310 Vrèman bèbè. 910 00:54:14,310 --> 00:54:20,110 Se pou yo ajoute yon - aktyèlman nan gade la, blog, endèks, 911 00:54:20,110 --> 00:54:23,890 kite a vrèman byen vit ajoute yon lyen ki ale nan paj an nouvo, 912 00:54:23,890 --> 00:54:26,770 paj la kote nou ka mete yon pòs nouvo. 913 00:54:26,770 --> 00:54:29,950 Nou pral fè sa. 914 00:54:29,950 --> 00:54:34,020 Ki sa ki nan bèl ki gen sa a pou tout gwoup la nan HTML k'ap vin ede fonksyon 915 00:54:34,020 --> 00:54:37,090 ki fè bagay sa yo diferan pou ou, kidonk, ou deja wè òganizasyon ki 916 00:54:37,090 --> 00:54:41,980 fonksyone isit la, men yo menm tou yo gen yon fonksyon ki rele "jete lank," 917 00:54:41,980 --> 00:54:45,400 kote ou ka tape nan blog / nouvo 918 00:54:45,400 --> 00:54:49,550 ak di, "Post yon nouvo blog." 919 00:54:49,550 --> 00:54:51,850 Epi li ta kreye ki genyen lyen pou ou, 920 00:54:51,850 --> 00:54:54,120 ak sa a sanble vrèman trivial fè, men sa a se bèl, 921 00:54:54,120 --> 00:54:58,720 paske ta kwè ke ou yo ap deplase sit entènèt ou a soti nan 1 domèn nan yon lòt. 922 00:54:58,720 --> 00:55:01,390 Ak si ou jis te ekri soti URL yo tèt ou, 923 00:55:01,390 --> 00:55:04,350 Lè sa a, ou ta dwe chanje tout URL yo. 924 00:55:04,350 --> 00:55:06,850 Oswa petèt ou te deplase li soti nan 1 subfolder nan yon lòt subfolder. 925 00:55:06,850 --> 00:55:08,790 Ou ta oblije chanje tout moun sa yo URL tèt ou, 926 00:55:08,790 --> 00:55:12,180 e ke sa a pa gen okenn plezi. 927 00:55:12,180 --> 00:55:14,510 Ou kapab sèvi ak jete lank sa a dwa isit la, 928 00:55:14,510 --> 00:55:18,950 epi ou ka chanje domèn nan oswa prefiks la subfolder 929 00:55:18,950 --> 00:55:20,640 nan dosye a konfigirasyon yon fwa, 930 00:55:20,640 --> 00:55:22,980 ak Lè sa a, li pral aplike ke tout kote, epi sa a se, ankò, 931 00:55:22,980 --> 00:55:26,930 yon gwo egzanp sou pa repete tèt ou, siye Kòd nou yo soti kite. 932 00:55:26,930 --> 00:55:30,370 Kèlkeswa kote w ap repete tèt ou, eseye ak ekstrè nan kèk sòt de dosye konfigirasyon 933 00:55:30,370 --> 00:55:34,160 oswa nan yon fonksyon diferan ak te li manyen ke pou ou. 934 00:55:34,160 --> 00:55:42,930 >> Epi bagay la trè pase ke mwen te vle montre ou te 935 00:55:42,930 --> 00:55:50,250 ta kwè nou ap tounen nan pòs sa a, epi mwen te konpoze kèk redaksyon reyèlman long, 936 00:55:50,250 --> 00:55:52,670 men mwen bliye gen ladan otè m 'yo. 937 00:55:52,670 --> 00:55:55,210 Koulye a, lè m 'klike sou "Soumèt Post," 938 00:55:55,210 --> 00:55:57,270 Mwen jis pèdi tout bagay. 939 00:55:57,270 --> 00:56:00,000 Non! Vrèman tris. 940 00:56:00,000 --> 00:56:03,870 Se konsa, kouman ou fè fas avèk sa? 941 00:56:03,870 --> 00:56:06,070 Sa a se sa nou fè. 942 00:56:06,070 --> 00:56:09,340 Ki sa nou fè se isit la pou opinyon yo ak nan zòn tèks fonksyon sa yo, 943 00:56:09,340 --> 00:56:12,700 si nou genyen ladan yo yon dezyèm paramèt, lè sa a valè a nan ki dezyèm paramèt 944 00:56:12,700 --> 00:56:16,620 a pwal sa jaden an se yo pral okòmansman peple avèk yo. 945 00:56:16,620 --> 00:56:23,570 Ki sa nou ta ka fè se nan kontwolè blog nou an, 946 00:56:23,570 --> 00:56:25,360 nou te ka mare yon lòt varyab. 947 00:56:25,360 --> 00:56:27,050 Rele li "valè" petèt. 948 00:56:27,050 --> 00:56:30,620 Epi pase nan etalaj la pòs, literalman. 949 00:56:30,620 --> 00:56:32,620 Sa vle di ke si validation la echwe, 950 00:56:32,620 --> 00:56:36,570 pase m 'pòs etalaj la ke mwen soumèt soti nan sot pase a demann lan, 951 00:56:36,570 --> 00:56:38,420 ak fason sa a mwen ka itilize valè yo soti nan soumèt sot pase a mwen 952 00:56:38,420 --> 00:56:44,540 rpeple jaden yo. 953 00:56:44,540 --> 00:56:49,600 Koulye a, mwen kapab fè yon bagay tankou valè otè 954 00:56:49,600 --> 00:56:55,180 epi yo gen valè kò, ak fason sa a kounye a si m 'fè kèk bagay o aza 955 00:56:55,180 --> 00:57:01,490 epi klike sou "Soumèt Post," Lè sa a, li rete la. 956 00:57:01,490 --> 00:57:03,830 Men, nou ap ale nan kouri antre nan yon lòt pwoblèm. 957 00:57:03,830 --> 00:57:07,670 Ki travay, men si mwen ale nan paj an trè premye fwa a, 958 00:57:07,670 --> 00:57:09,720 li nan ale nan aksidan, epi ki nan paske tan an trè premye 959 00:57:09,720 --> 00:57:13,730 nou ale nan paj la, sa a varyab pòs pa te defini ankò. 960 00:57:13,730 --> 00:57:18,170 Li nan nil. Li pa egziste. 961 00:57:18,170 --> 00:57:21,630 >> Apre sa, ki sa nou vle di se si kle sa a ki egziste, 962 00:57:21,630 --> 00:57:27,750 Lè sa a, retounen valè a nan etalaj sa a, 963 00:57:27,750 --> 00:57:30,450 Men, si kle a pa egziste, Lè sa a, retounen yon kòd vid. 964 00:57:30,450 --> 00:57:32,150 Sa a fonctionnalités a nou vle isit la. 965 00:57:32,150 --> 00:57:34,690 Nou vle tcheke si kle a egziste anvan ou eseye gen aksè etalaj la, 966 00:57:34,690 --> 00:57:36,580 ak erezman ase, 967 00:57:36,580 --> 00:57:38,570 Kohana tou ba nou yon fonksyon k'ap vin ede pou sa. 968 00:57:38,570 --> 00:57:41,040 Yo gen sa a Suite antye nan fonksyon 969 00:57:41,040 --> 00:57:43,660 anba ARR an non, kout pou etalaj, 970 00:57:43,660 --> 00:57:45,800 epi yo gen 1 fonksyon yo rele "jwenn," 971 00:57:45,800 --> 00:57:48,690 epi ou ka pase nan etalaj la, 972 00:57:48,690 --> 00:57:50,740 epi ou ka pase nan non kle a. 973 00:57:50,740 --> 00:57:54,330 Lè sa a, fondamantalman ki sa li pral fè se li pral eseye jwenn ke kle yo, 974 00:57:54,330 --> 00:57:56,470 Men, si ke kle pa egziste nan etalaj la, 975 00:57:56,470 --> 00:58:00,900 Lè sa a, benediksyon an va tounen vid, oubyen nou ka tou presize yon default, mwen kwè, 976 00:58:00,900 --> 00:58:03,500 ki se bèl. 977 00:58:09,740 --> 00:58:13,150 Koulye a, si nou fè menm bagay la ankò, 978 00:58:13,150 --> 00:58:15,970 Lè sa a, ou wè kounye a li ap travay premye fwa a alantou li, 979 00:58:15,970 --> 00:58:18,080 epi ankò, si nou tape nan kèk bagay o aza 980 00:58:18,080 --> 00:58:23,210 epi eseye epi soumèt, lè sa a li rete la. 981 00:58:23,210 --> 00:58:31,640 >> Apre sa, mwen devine mwen kapab tou montre w kouman yo ajoute yon modèl vrèman byen vit. 982 00:58:31,640 --> 00:58:36,140 Kisa nou ka fè premye se nou kapab ajoute yon View nouvo rele "template.php" 983 00:58:36,140 --> 00:58:38,890 nan folder nan Views, 984 00:58:38,890 --> 00:58:44,730 ak sa mwen pral fè se mwen pral enprime soti yon bagay yo rele "kontni," 985 00:58:44,730 --> 00:58:49,130 ki se pral fè kontni prensipal m 'yo. 986 00:58:49,130 --> 00:58:51,380 E petèt nan pati anba a trè mwen pral ajoute, di, 987 00:58:51,380 --> 00:58:53,340 copyright. 988 00:58:53,340 --> 00:58:56,150 [Kesyon elèv fèbl] 989 00:58:56,150 --> 00:58:58,050 [Brandon Liu] Petèt sa a se yon modèl super baz mwen vle itilize. 990 00:58:58,050 --> 00:59:02,840 Mwen vle gen yon katab ki gen copyright mwen an sou chak paj yon sèl, 991 00:59:02,840 --> 00:59:05,560 e kounye a, sa m ap pral fè nan kontwolè m ' 992 00:59:05,560 --> 00:59:07,740 se kounye a olye pou yo di, "fin Kontwolè" 993 00:59:07,740 --> 00:59:11,870 Mwen pral di, "fin Controller_Template," 994 00:59:11,870 --> 00:59:15,890 e kounye a, olye pou yo di, "kò repons ki egal a sa a wè," 995 00:59:15,890 --> 00:59:24,110 Mwen pral di, "sa a kontni modèl se -" 996 00:59:24,110 --> 00:59:27,690 e mwen panse - Mwen mete yon siy egal? 997 00:59:27,690 --> 00:59:32,710 Mwen bliye. Yeah, mwen te panse sa. 998 00:59:32,710 --> 00:59:37,710 Koulye a, mwen mete varyab sa a kontni a egal a gade nan. 999 00:59:37,710 --> 00:59:40,960 Mwen kapab fè menm bagay la tou isit la. 1000 00:59:49,620 --> 00:59:57,170 Epi, koulye a si mwen rafrechi, ou ka wè koulye a, se te ajoute copyright sa a la, 1001 00:59:57,170 --> 01:00:00,350 ak jis fè kèk pòs o aza, 1002 01:00:00,350 --> 01:00:06,760 ak Lè sa a, ankò, ou ta dwe wè ke copyright an se nan pati anba a anpil nan paj la. 1003 01:00:06,760 --> 01:00:10,730 >> Great. Sa a tout mwen te vle montre ou guys. 1004 01:00:10,730 --> 01:00:14,970 [Aplodisman] 1005 01:00:14,970 --> 01:00:18,950 Nenpòt kesyon? 1006 01:00:18,950 --> 01:00:21,000 [CS50.TV]