1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Semèn 8, Kontinye] 2 00:00:02,000 --> 00:00:04,000 [David J. Malan] [Inivèsite Harvard] 3 00:00:04,000 --> 00:00:08,000 [Sa a se CS50.] [CS50.TV] 4 00:00:08,000 --> 00:00:13,000 >> Sa a se CS50, kidonk sa a se nan fen Semèn 8 isit la. 5 00:00:13,000 --> 00:00:16,000 Nou nan kou te gen yon ti jan nan yon siklòn bonè nan semèn sa, 6 00:00:16,000 --> 00:00:19,000 Se konsa kounye a li se reyèlman jis m 'avè ou nan sa a sal konferans, 7 00:00:19,000 --> 00:00:22,000 men jodi a nou kontinye konvèsasyon nou an sou PHP 8 00:00:22,000 --> 00:00:25,000 ak sou pwogram wèb plis jeneralman, ak nou menm tou nou entwodui lide nan 9 00:00:25,000 --> 00:00:29,000 nan baz done, patikilyèman yon rele miskl, ki se trè popilè jou sa yo, 10 00:00:29,000 --> 00:00:34,000 nan gwo pati paske yo te évolutivité li yo kòm byen ke paske li yo ke yo te gratis epi yo louvri sous. 11 00:00:34,000 --> 00:00:37,000 >> Men, an premye, yon gade nan ki kote nou te kite dènye tan. 12 00:00:37,000 --> 00:00:40,000 Sonje byen, nou te gade nan plizyè egzanp yo IMS Frosh, 13 00:00:40,000 --> 00:00:44,000 ak sa a te fòm nan efreyan ke mwen te vini ak kèk 15 ane + Anons sa pibliye depi 14 00:00:44,000 --> 00:00:49,000 yo nan lòd yo gen elèv yo nan rejis kanpis pou elèv nevyèm ane espò nan estad fèmen 15 00:00:49,000 --> 00:00:52,000 san aktyèlman gen yo charyo ankò atravè lakou a Wigglesworth 16 00:00:52,000 --> 00:00:56,000 glise yon moso fizik nan papye anba pòt kèk Proctor an. 17 00:00:56,000 --> 00:00:59,000 Olye de sa nou te bwote tout bagay sou entènèt, men fè sa nou bezwen fè pou sèvi 18 00:00:59,000 --> 00:01:03,000 nan yon teknoloji kèk, se konsa yon sèl, nou bezwen HTML, ipèrtèks markeup lang, 19 00:01:03,000 --> 00:01:07,000 ki ankò se lang sa a baliz ak kote ou fè paj wèb estriktirèl. 20 00:01:07,000 --> 00:01:10,000 >> Lè l sèvi avèk yon ti jan nan CSS jou sa yo, kaskad dra style, 21 00:01:10,000 --> 00:01:16,000 kote nou itilize stylizations nan paj wèb la lè l sèvi avèk yon sentaks yon ti kras diferan, 22 00:01:16,000 --> 00:01:19,000 Lè nou konsidere ke HTML nan te sou tout estrikti a ladan l '. 23 00:01:19,000 --> 00:01:21,000 Nou menm tou nou bezwen entwodui yon lang programmation entènèt. 24 00:01:21,000 --> 00:01:25,000 Nan ka sa a, nou pral sèvi ak PHP, ak PHP ki pral pèmèt nou 25 00:01:25,000 --> 00:01:28,000 dynamique kontni pwodiksyon osi byen ke fè bagay sa yo pwogramatik tankou 26 00:01:28,000 --> 00:01:33,000 voye Imèl, tankou se te ka a sou nòt la nou te kite semèn pase a. 27 00:01:33,000 --> 00:01:35,000 >> Sonje byen, kòd la pou sa a te nan 2 pati yo. 28 00:01:35,000 --> 00:01:38,000 Youn nan, nou te gen froshims3.php, 29 00:01:38,000 --> 00:01:42,000 ak sa a te lajman baliz ak yon fòm HTML andedan nan li, 30 00:01:42,000 --> 00:01:45,000 yon ti jan ti la CSS moute isit la nan atribi yo style 31 00:01:45,000 --> 00:01:48,000 fè sa ki te fòm nan tèt li dwe santre sou paj la, men pi lwen pase sa 32 00:01:48,000 --> 00:01:51,000 nou te gen kèk entrain fòm reprezantan, yon jaden tèks, yon toulède kaz, 33 00:01:51,000 --> 00:01:55,000 kèk radyo bouton, yon meni chwazi, ak yon bouton soumèt. 34 00:01:55,000 --> 00:02:01,000 Ak atravè fòm sa a, nou soumèt nan yon dosye ki te aparamman te rele register3.php, 35 00:02:01,000 --> 00:02:04,000 ki li menm te gade yon ti kras yon bagay tankou sa a. 36 00:02:04,000 --> 00:02:08,000 Koulye a, pi fò nan kòd la nan register3.php, sonje, te sou tout imel. 37 00:02:08,000 --> 00:02:11,000 Li te fè yon ti kras nan validation nan fòm la ki te soumèt asire ou ke 38 00:02:11,000 --> 00:02:14,000 ki jaden yo te aktyèlman bay ki te espere. 39 00:02:14,000 --> 00:02:18,000 Lè sa a, nou te rele kèk fonksyon PHP lè l sèvi avèk yon ti kras nouvo sentaks, 40 00:02:18,000 --> 00:02:20,000 menm si li nan prete nan men C. 41 00:02:20,000 --> 00:02:24,000 >> Sa a operatè flèch pèmèt nou fè pou sèvi ak yon bagay yo rele objè-oryante pwogramasyon. 42 00:02:24,000 --> 00:02:27,000 Nou pa pral antre ki nan nenpòt detay isit la, men pou kounye a konnen 43 00:02:27,000 --> 00:02:31,000 li nan yon fason pou gen fonksyon ki asosye ak objè, 44 00:02:31,000 --> 00:02:34,000 ki se yon kalite espesyal nan estrikti, kòm nou te wè nan C. 45 00:02:34,000 --> 00:02:37,000 Men, pou kounye a, jis pran sou lafwa ke sa a se sentaks ki kòrèk la yo sèvi ak 46 00:02:37,000 --> 00:02:41,000 lè w ap itilize yon bibliyotèk tankou sa a bibliyotèk PHPMailer. 47 00:02:41,000 --> 00:02:44,000 Lè sa a, nan fen sa a ranpli nou te dynamique pwodwi yon imèl 48 00:02:44,000 --> 00:02:47,000 ke yo kouri voye nan kont jharvard@cs50.net mwen 49 00:02:47,000 --> 00:02:50,000 nan kont jharvard@cs50.net m 'yo, 50 00:02:50,000 --> 00:02:54,000 e nou enfòme itilizatè a kòmsadwa yo ke yo te anrejistre pou sa a espò. 51 00:02:54,000 --> 00:02:57,000 Sa a se bèl anpil ki sa Frosh IMS sit a te fè tout moun sa yo ane de sa 52 00:02:57,000 --> 00:03:00,000 lè mwen aplike li, yo akòde, nan yon lang diferan, 53 00:03:00,000 --> 00:03:02,000 men li montre ou petèt pouvwa a ki di ou gen 54 00:03:02,000 --> 00:03:05,000 kounye a ke ou ka eksprime tèt ou pa sèlman programatik 55 00:03:05,000 --> 00:03:08,000 nan yon nivo ki ba nan yon lang tankou C men nan yon nivo pi wo 56 00:03:08,000 --> 00:03:11,000 ak aplikasyon sa yo nan mond tankou imel anpil reyèl aktyèlman rezoud 57 00:03:11,000 --> 00:03:13,000 kèk pwoblèm mond reyèl la. 58 00:03:13,000 --> 00:03:16,000 >> Koulye a, nan kou, menm si mwen itilize sa a script jenere kèk 59 00:03:16,000 --> 00:03:20,000 Imèl dynamique soti nan jharvard@cs50.net, ki se tout bon yon kont 60 00:03:20,000 --> 00:03:23,000 ke mwen gen aksè nan, dwe byen atansyon voye 61 00:03:23,000 --> 00:03:26,000 voye sèlman nan men kont ke yo aktyèlman pwòp ou a, 62 00:03:26,000 --> 00:03:30,000 Si nou bagay sa yo fè ou jwenn nan yon ti jan nan dlo cho nan lavi a. 63 00:03:30,000 --> 00:03:35,000 Avèk ki t'ap di:, kite la kounye a tranzisyon nan rezoud yon pwoblèm diferan tout ansanm, 64 00:03:35,000 --> 00:03:37,000 sa yo ki an repwan eta yo. 65 00:03:37,000 --> 00:03:39,000 Koulye a, ki sa sa a aktyèlman vle di? 66 00:03:39,000 --> 00:03:42,000 HTTP, sa a ipèrtèks transfere pwotokòl, 67 00:03:42,000 --> 00:03:45,000 se aktyèlman yon pwotokòl atach avèk okenn peyi, e ki sa sa a vle di se ke 68 00:03:45,000 --> 00:03:48,000 lè ou rale moute yon bagay tankou Google.com ak Lè sa a, frape antre nan 69 00:03:48,000 --> 00:03:51,000 anjeneral navigatè ou a gen kèk kalite bondi icon ki Lè sa a, 70 00:03:51,000 --> 00:03:54,000 rezilta nan kèk paj wèb yo telechaje, 71 00:03:54,000 --> 00:03:57,000 ak Lè sa a, ki icon ti kras sispann bondi, e ke tout bon sijere 72 00:03:57,000 --> 00:04:02,000 ki HTTP te konplete kèk kalite koneksyon sou sèvè a ak sa a, se li. 73 00:04:02,000 --> 00:04:05,000 HTTP se atach avèk okenn peyi nan sans ke li pa kenbe 74 00:04:05,000 --> 00:04:08,000 yon koneksyon ki pèsistan nan sèvè a nan Skype nan fason menm fè sa ki 75 00:04:08,000 --> 00:04:11,000 oswa Gchat fè paske avèk HTTP 76 00:04:11,000 --> 00:04:15,000 sipozisyon a se ke yon fwa ou te pran yon paj entènèt sa a, se li. 77 00:04:15,000 --> 00:04:18,000 >> Koulye a, an reyalite jou sa yo sou sit tankou Facebook ak Google Maps 78 00:04:18,000 --> 00:04:21,000 ak Twitter ak renmen an gen nan dynamism yon anpil plis kote 79 00:04:21,000 --> 00:04:25,000 menm apre ke icon sispann bondi ou ka an reyalite jwenn plis Ki dènye 80 00:04:25,000 --> 00:04:29,000 soti nan sèvè a, tweets plis, pi plis nouvèl sou Facebook ak renmen an. 81 00:04:29,000 --> 00:04:33,000 Men, menm ke se lè l sèvi avèk yon teknik ki nou pral pale sou nan yon semèn oswa de 82 00:04:33,000 --> 00:04:36,000 ke yo rekonèt kòm Ajax lè l sèvi avèk yon lang yo rele JavaScript, 83 00:04:36,000 --> 00:04:38,000 men nan fen jounen an, HTTP se toujou atach avèk okenn peyi. 84 00:04:38,000 --> 00:04:42,000 Men, si ou vle yon jan kanmenm sonje bagay sa yo sou yon itilizatè 85 00:04:42,000 --> 00:04:44,000 menm apre yo te dekonekte soti nan sèvè ou 86 00:04:44,000 --> 00:04:47,000 PHP fè sa ki peye ou yon mwayen pou fè sa 87 00:04:47,000 --> 00:04:52,000 paske, kòm nou te wè dènye fwa, PHP gen yon kantite superglobals, 88 00:04:52,000 --> 00:04:55,000 ak yon supèrglobal se, ankò, yon varyab espesyal mondyal 89 00:04:55,000 --> 00:04:59,000 ki nan lage nan ou pa sèvè wèb la ak pa PHP tèt li. 90 00:04:59,000 --> 00:05:02,000 >> Ou pa gen bezwen fè anyen pou mete valè nan li, 91 00:05:02,000 --> 00:05:05,000 , ak nan mitan superglobals sa yo nou te wè konsa byen lwen yo jwenn ak afiche, 92 00:05:05,000 --> 00:05:08,000 ki se kote jaden fòm yo mete otomatikman pou ou, 93 00:05:08,000 --> 00:05:11,000 kòm byen ke yon koup nan lòt moun ke nou pa te wè ankò. 94 00:05:11,000 --> 00:05:17,000 Anndan de $ _server yo se kèk varyab espesyal ki gen rapò ak sèvè a tèt li. 95 00:05:17,000 --> 00:05:22,000 Ki sa ki nan adrès la IP, ki sa ki pwotokòl, HTTP oswa t t 'ou itilize, 96 00:05:22,000 --> 00:05:25,000 ki metòd demann ou te itilize ak renmen an, se konsa gen nan kèk enteresan, 97 00:05:25,000 --> 00:05:29,000 detay juicy sou sèvè a, ak an reyalite, itilizatè a nan gen kòm byen. 98 00:05:29,000 --> 00:05:33,000 Genyen nan $ _cookie, ki se kote tout bagay sa yo rele bonbon yo estoke. 99 00:05:33,000 --> 00:05:36,000 Nou pa pral pase tan sou bonbon tèt yo jodi a, 100 00:05:36,000 --> 00:05:40,000 men konnen pou kounye a ke yon bonbon se jis yon ti moso enfòmasyon 101 00:05:40,000 --> 00:05:43,000 ke yon sèvè wèb ka plante sou yon navigatè entènèt 102 00:05:43,000 --> 00:05:46,000 ak nan vire RAM li yo oswa difisil kondwi òdinatè li yo nan 103 00:05:46,000 --> 00:05:49,000 nan magazen enfòmasyon sou yon itilizatè, pou egzanp, non itilizatè yo 104 00:05:49,000 --> 00:05:52,000 yo pou ke yo pa bezwen tape li chak fwa yo ouvri sesyon an oswa kèk 105 00:05:52,000 --> 00:05:55,000 inik nimewo oswa idantifyan pou ki itilizatè 106 00:05:55,000 --> 00:05:58,000 pou ke ou pa bezwen enportune yo ak menm kalite kesyon sou 107 00:05:58,000 --> 00:06:00,000 preferans nan tan kap vini an, men pi fò nan enterè 108 00:06:00,000 --> 00:06:02,000 kounye a la se $ _session. 109 00:06:02,000 --> 00:06:07,000 >> Sa a supèrglobal, ki, tankou lòt moun yo, se remèt bay ou otomatikman nan PHP 110 00:06:07,000 --> 00:06:10,000 lè w ap ekri sou sit entènèt PHP ki baze sou 111 00:06:10,000 --> 00:06:13,000 ka magazen anyen ou vle, strings, nonm antye yo, 112 00:06:13,000 --> 00:06:16,000 pwen k ap flote, valè, ranje, objè, 113 00:06:16,000 --> 00:06:20,000 reyèlman anyen ke ou vle, epi li pèmèt ou nan magazen li nan yon fason 114 00:06:20,000 --> 00:06:23,000 ke menm si itilizatè a vizite ou kounye a epi Lè sa a, 115 00:06:23,000 --> 00:06:26,000 vini tounen yon minit soti nan kounye a oswa 5 minit nan kounye a paske 116 00:06:26,000 --> 00:06:28,000 yo pran tan yo anvan yo klike sou kèk lyen lòt 117 00:06:28,000 --> 00:06:32,000 PHP pral asire ke tou sa ou mete nan ki supèrglobal sesyon 118 00:06:32,000 --> 00:06:37,000 yon minit minit oswa 5 Anons sa pibliye depi ap toujou gen la lè la retounen itilizatè. 119 00:06:37,000 --> 00:06:40,000 Ak anba kapo a sa a se supèrglobal aplike pa fason pou 120 00:06:40,000 --> 00:06:44,000 bagay sa yo rele bonbon, men pou kounye a, li nan jis yon abstraction 121 00:06:44,000 --> 00:06:47,000 kote li nan sòt de ekivalan a pwogramatik nan yon kabwa fè acha. 122 00:06:47,000 --> 00:06:50,000 Kèlkeswa sa ou, pwogramè a, mete nan ki 123 00:06:50,000 --> 00:06:53,000 supèrglobal etalaj asosyatif pral gen kèk nimewo nan minit pita 124 00:06:53,000 --> 00:06:59,000 jiskaske ou efase li oswa jiskaske itilizatè a L Kite navigatè li oswa li tout ansanm. 125 00:06:59,000 --> 00:07:02,000 >> Se pou nou pran yon gade nan yon egzanp sou kouman sa a se bagay aktyèlman itilize. 126 00:07:02,000 --> 00:07:07,000 Nan counter.php nan mitan moso vyann bèt jodi a nan kòd 127 00:07:07,000 --> 00:07:09,000 nou gen liy ki anba la a. 128 00:07:09,000 --> 00:07:13,000 Nan kòmansman sa a ranpli nou gen yon pakèt moun sou kòmantè ble, ki fè yo entérésan pou kounye a. 129 00:07:13,000 --> 00:07:15,000 Men, nan liy 13 nou gen yon liy nouvo, 130 00:07:15,000 --> 00:07:18,000 session_start, ak ki aktyèlman fè egzakteman sa li di. 131 00:07:18,000 --> 00:07:20,000 Li kòmanse sesyon yo. 132 00:07:20,000 --> 00:07:25,000 Li pèmèt ou itilize ke gwo supèrglobal $ _session, epi li kòm senp tankou sa. 133 00:07:25,000 --> 00:07:30,000 Koulye a, si nou kontinye fè yon gade nan liy 16, kite la eseye konnen sa ki paj sit entènèt sa a pral fè a. 134 00:07:30,000 --> 00:07:35,000 Si (ise ($ _SESSION ["vann san preskripsyon"]) Lè sa a, ale pi devan 135 00:07:35,000 --> 00:07:39,000 ak magazen nan varyab la vann san preskripsyon, san preskripsyon miniskil, 136 00:07:39,000 --> 00:07:42,000 $ _SESSION ["Vann san preskripsyon"]. 137 00:07:42,000 --> 00:07:45,000 Sa a sanble ap deklare yon varyab lokal rele kontwa 138 00:07:45,000 --> 00:07:48,000 andedan nan yo ki li nan mete yon kopi nan tou sa ki andedan nan supèrglobal la 139 00:07:48,000 --> 00:07:52,000 rele sesyon nan kote "kontwa an." 140 00:07:52,000 --> 00:07:56,000 Lòt Bagay, aparamman, sa a ti kras lokal kontwa varyab, se inisyalizèd a 0. 141 00:07:56,000 --> 00:08:01,000 >> Men, Lè sa a, yon liy kèk pita nan 26 avi ke kopi sesyon an nan kontwa, 142 00:08:01,000 --> 00:08:06,000 kle li yo, te gen yon affecte valè nouvo ki se valè li ye kounye a plis 1. 143 00:08:06,000 --> 00:08:09,000 Nan ti bout tan, sa a ranpli sanble ap mete ajou 144 00:08:09,000 --> 00:08:13,000 yon counter ki nan estoke andedan nan supèrglobal nan sesyon 145 00:08:13,000 --> 00:08:16,000 pa incrementing li pa 1, men li premye konsève yon kopi valè a anvan 146 00:08:16,000 --> 00:08:20,000 pa estoke l 'nan yon varyab lokal rele $ san preskripsyon, 147 00:08:20,000 --> 00:08:22,000 ak Lè sa a, desann isit la kite a wè sa ki rete. 148 00:08:22,000 --> 00:08:24,000 Li vire soti li nan bèl anpil jis HTML. 149 00:08:24,000 --> 00:08:29,000 Nan fon an nan paj sa a nou wè nan liy 37 ke mwen te vizite sit sa a 150 00:08:29,000 --> 00:08:33,000 kontwa kantite fwa, se konsa gen nan yon koup karakteristik enteresan isit la. 151 00:08:33,000 --> 00:08:36,000 Youn nan, sa a se byen klè yon varyab, men li pa sifi jis mete 152 00:08:36,000 --> 00:08:39,000 $ Kontwa nan kò a nan HTML ou paske nan kou 153 00:08:39,000 --> 00:08:43,000 si li jis gen nan mitan PHP HTML ou a pral nan asime ke a, se jis HTML. 154 00:08:43,000 --> 00:08:48,000 Ou literalman vle $ kontwa yo dwe enprime sou ekran an. 155 00:08:48,000 --> 00:08:51,000 >> Men olye pa jete nan mòd PHP 156 00:08:51,000 --> 00:08:55,000 ak sa a moso nan sentaks nou ka dynamique insert yon valè isit la 157 00:08:55,000 --> 00:08:58,000 trè menm jan an nan lespri a sa nou te fè sa dènye tan ak 158 00:08:58,000 --> 00:09:00,000 yo mete valè yo nan strings. 159 00:09:00,000 --> 00:09:04,000 An reyalite, sa a se jis yon nòt steno pou li di yon bagay tankou sa a literalman, 160 00:09:04,000 --> 00:09:12,000 ekri ak lèt ​​detache ($ kontwa) oswa menm yon bagay tankou printf (kontwa% s,), 161 00:09:12,000 --> 00:09:14,000 oswa menm, jan ou ka wè sou entènèt oswa nan liv lekòl, 162 00:09:14,000 --> 00:09:17,000 gen nan yon fonksyon nan PHP rele eko 163 00:09:17,000 --> 00:09:20,000 ki fè sa ki menm bagay la, ak tout moun sa yo yo se jis ankò proliks fason 164 00:09:20,000 --> 00:09:25,000 nan di 00:09:28,000 Nan ka sa a yon sèl ou pa bezwen mete 166 00:09:28,000 --> 00:09:30,000 mo PHP a apre make la kesyon. 167 00:09:30,000 --> 00:09:34,000 Sa a se notasyon steno pou li a, ankò, sa ki nou jis te wè yon ti moman Anons sa pibliye depi 168 00:09:34,000 --> 00:09:37,000 ki se Eko kèk valè. 169 00:09:37,000 --> 00:09:39,000 >> Ann wè sa ki rezilta a nan fen sa sa a aktyèlman se. 170 00:09:39,000 --> 00:09:43,000 Kite m 'ale sou nan dosye counter.php nou an, 171 00:09:43,000 --> 00:09:47,000 epi n ap wè ke David jis fè yon erè nan jwe ak kòd la a. 172 00:09:47,000 --> 00:09:50,000 Ann al ranje tou sa l 'vise leve, 173 00:09:50,000 --> 00:09:54,000 ak erè a sanble ap la, ale, sou liy 37. 174 00:09:54,000 --> 00:09:59,000 Dapre tèt la nan paj sa a mwen te vizite sit sa a 0 fwa. 175 00:09:59,000 --> 00:10:02,000 Oke, kite la ale pi devan kounye a, ak nan tèt la nan navigatè a klike sou la 176 00:10:02,000 --> 00:10:05,000 Reload icon, epi mwen klike sou Reload, 177 00:10:05,000 --> 00:10:12,000 e kounye a, mwen te vizite sit 1 tan an, 2, 3, 4, 5, 6, 7, 8. 178 00:10:12,000 --> 00:10:16,000 Ak tout bon, si nou gade nan sous la nan paj sa a kòd la sous aktyèl ap chanje, 179 00:10:16,000 --> 00:10:19,000 ak avi absans la konplè sou nenpòt PHP, ak sa a, se paske 180 00:10:19,000 --> 00:10:23,000 Se PHP kòd evalye oswa entèprete bò sèvè, 181 00:10:23,000 --> 00:10:27,000 Pou fè sa ki vle di ke pwodiksyon an nan script la PHP se sa ki finalman voye nan navigatè a, 182 00:10:27,000 --> 00:10:31,000 ki nan ka sa a se kèk HTML anvan tout koreksyon epi kèk tèks anvan tout koreksyon. 183 00:10:31,000 --> 00:10:33,000 Sa k ap pase sou isit la? 184 00:10:33,000 --> 00:10:37,000 >> Oke, ak liy relativman kèk nan kòd mwen ka nan magazen 185 00:10:37,000 --> 00:10:40,000 pèsistans sou kou nan plizyè segonn, oswa si nou tann lontan ase, 186 00:10:40,000 --> 00:10:44,000 minit, menm valè èdtan, gen kèk valè nan yon fason ki fè HTTP 187 00:10:44,000 --> 00:10:47,000 sanble stateful tankou si nou te double klas 188 00:10:47,000 --> 00:10:51,000 koneksyon sa a nan sèvè a, epi li jis sonje sa mwen te di li dènye tan, 189 00:10:51,000 --> 00:10:55,000 men nan reyalite gen nan yon pakèt antye nan konpleksite ale sou anba kapo a 190 00:10:55,000 --> 00:10:59,000 ki enplike bonbon ki nan pèmèt PHP bay m 'sa a ilizyon 191 00:10:59,000 --> 00:11:02,000 sa a Shopping Cart ki tankou karakteristik. 192 00:11:02,000 --> 00:11:05,000 Pou kounye a, yon egzanp trivial kote n ap jis estoke yon nonb antye relatif, 193 00:11:05,000 --> 00:11:08,000 men sa ki karakteristik yo va tounen yo dwe ki gen valè gwo 194 00:11:08,000 --> 00:11:10,000 lè nou kòmanse pale osijè pwojè pi konplèks, 195 00:11:10,000 --> 00:11:12,000 nan mitan yo pwoblèm mete 7. 196 00:11:12,000 --> 00:11:16,000 Sa a se pwoblèm trè dènye fwa ou te mete nan CS50. 197 00:11:16,000 --> 00:11:19,000 Mwen konnen, li nan tris konsa, men ki sa w ap jwenn se ke nou ap ale nan konkli 198 00:11:19,000 --> 00:11:22,000 pati sa a nan semès la pa aktyèlman tranzisyon 199 00:11:22,000 --> 00:11:25,000 soti nan kontèks la nan C sètènman nan kontèks la nan PHP 200 00:11:25,000 --> 00:11:27,000 men pandan w ap itilize kèk bagay fondamantal sou trè menm 201 00:11:27,000 --> 00:11:29,000 nou te pale sou pou kèk tan. 202 00:11:29,000 --> 00:11:33,000 >> Objektif la ak pset 7 se aplike CS50 Finans, 203 00:11:33,000 --> 00:11:37,000 ki se vèsyon pwòp ou nan Yahoo Finans oswa Google Finans 204 00:11:37,000 --> 00:11:40,000 oswa menm Etrade.com annakò ou gen kapasite nan 205 00:11:40,000 --> 00:11:43,000 gade moute pri stock pou bay senbòl, men menm plis pase sa 206 00:11:43,000 --> 00:11:48,000 ou gen kapasite la nan "achte" ak "vann" aksyon 207 00:11:48,000 --> 00:11:51,000 ke yo te fè kòmès sou echanj stock divès kalite paske kòm paj sa a lakay 208 00:11:51,000 --> 00:11:55,000 isit la sijere, ki se reyèlman nan ki pwen nou te kòmanse 209 00:11:55,000 --> 00:11:59,000 mete nan pwoblèm pou ou, ou gen yon fòm login ki nan mande pou yon non itilizatè ak modpas yon. 210 00:11:59,000 --> 00:12:03,000 Li te gen yon bouton soumèt, men apre sa, jan nou pral evantyèlman wè la a, 211 00:12:03,000 --> 00:12:06,000 pa gen anyen vrèman pral sou anba kapo a ankò paske li 212 00:12:06,000 --> 00:12:09,000 rete pou ou pou w aplike kapasite nan enskri itilizatè nouvo, 213 00:12:09,000 --> 00:12:12,000 kapasite nan achte aksyon, nan vann aksyon, 214 00:12:12,000 --> 00:12:14,000 aktyèlman gade moute pri stock aktyèl. 215 00:12:14,000 --> 00:12:17,000 >> Ak tout bon, sa a pral kòm mond reyèl ke posib paske nou te fè sa 216 00:12:17,000 --> 00:12:20,000 gen ladan yo yon ti jan nan kòd ki pral pèmèt ou ki gen yon fonksyon sèl 217 00:12:20,000 --> 00:12:25,000 sijè rechèch Yahoo Finans, ki bèl fè disponib done gratis 218 00:12:25,000 --> 00:12:31,000 pou yo gade pri stock ki baze sou senbòl la stock oswa senbòl montr, 219 00:12:31,000 --> 00:12:34,000 epi ou jwenn tounen pri a stock aktyèl nan jounen an. 220 00:12:34,000 --> 00:12:37,000 Done yo w ap aktyèlman wè nan sa a pset patikilye pral 221 00:12:37,000 --> 00:12:40,000 sou kòm vrè mond kòm li ka jwenn pou ke ou ap aktyèlman entèrfase 222 00:12:40,000 --> 00:12:43,000 ak aksyon mond reyèl, pri lavi a, 223 00:12:43,000 --> 00:12:47,000 ak nou pral wè konbyen lajan ou ka fè petèt 224 00:12:47,000 --> 00:12:51,000 sou pwochen detwa jou yo nan jwe ak mete pwòp pwoblèm ou. 225 00:12:51,000 --> 00:12:55,000 >> Men, nan kite l 'premye mete sèn lan pou ki jan yo desine yon bagay ki sètènman pi konplike 226 00:12:55,000 --> 00:12:59,000 pase counter.php, sa se pi konplike pase nenpòt nan egzanp yo IMS Frosh konsa byen lwen, 227 00:12:59,000 --> 00:13:02,000 epi kite nan eseye entwodui yon paradigmes kèk isit la ki pèmèt nou 228 00:13:02,000 --> 00:13:06,000 ni pou pset 7 e petèt pou final pwojè ou a si ou fè yon bagay ki baze wèb 229 00:13:06,000 --> 00:13:11,000 kenbe kòd ou a byen òganize, kenbe tèt ou lisid, 230 00:13:11,000 --> 00:13:15,000 ak pran yon etap nan direksyon kolabore, si nan final pwojè CS50 nan 231 00:13:15,000 --> 00:13:18,000 oswa pi lwen pase si ou kontinye pwogram yon bagay nan tan kap vini an. 232 00:13:18,000 --> 00:13:21,000 Genyen nan sa a paradigm konsepsyon jeneral 233 00:13:21,000 --> 00:13:24,000 nan syans òdinatè ak nan devlopman lojisyèl plis jeneralman 234 00:13:24,000 --> 00:13:27,000 li te ye tankou mv, modèl View kontwolè, 235 00:13:27,000 --> 00:13:30,000 ak sa a se yon akwonim enbesil ki dekri yon lide trè bèl, 236 00:13:30,000 --> 00:13:34,000 ki se separasyon an nan diferan aspè nan yon pwogram, 237 00:13:34,000 --> 00:13:39,000 espesifikman kenbe separe lojik la oswa lojik biznis la nan yon sit entènèt 238 00:13:39,000 --> 00:13:42,000 pou ke anyen ki enplike nan bagay sa yo tankou 239 00:13:42,000 --> 00:13:45,000 rele fonksyon ak rekèt baz done ak tankou nan 240 00:13:45,000 --> 00:13:48,000 k ap pase pa nan mitan HTML ou 241 00:13:48,000 --> 00:13:51,000 men pito nan dosye ki apa a, ak tout bon, gen nan sa a ranpli youn 242 00:13:51,000 --> 00:13:54,000 tipikman ke ou te rele kontwolè a 243 00:13:54,000 --> 00:13:56,000 sa ki nan vrèman sèvo yo ki dèyè operasyon an, epi nou pral wè yon egzanp 244 00:13:56,000 --> 00:13:58,000 sa a nan jis moman yon. 245 00:13:58,000 --> 00:14:01,000 >> Genyen nan yon modèl ki se pwogramasyon kòd 246 00:14:01,000 --> 00:14:05,000 ki fè k ap pale ak baz done ou a, ki pale nan Yahoo Finans ak renmen an, 247 00:14:05,000 --> 00:14:08,000 ak Lè sa a, gen nan V la nan mv, yo opinyon yo, 248 00:14:08,000 --> 00:14:11,000 tout bagay la ki nan ki gen rapò ak estetik, dosye yo ki aktyèlman gen 249 00:14:11,000 --> 00:14:14,000 HTML ou a, petèt CSS ou ak tankou la. 250 00:14:14,000 --> 00:14:17,000 Lide a isit la, kòm foto sa a sijere, se ke kontwolè a 251 00:14:17,000 --> 00:14:21,000 se dosye a, menm jan nou pral byento wè ak kòm w ap patikilyèman wè nan pset 7, 252 00:14:21,000 --> 00:14:24,000 ki nan lemonn lan lap pale via navigatè wèb yo. 253 00:14:24,000 --> 00:14:27,000 Sa a se dosye a ki vin vizite sou entènèt la piblik, 254 00:14:27,000 --> 00:14:30,000 men kontwolè a lap pale potansyèlman modèl yon, 255 00:14:30,000 --> 00:14:34,000 ki se youn oswa plis dosye lòt ki gen kòd ki an relasyon ak done, 256 00:14:34,000 --> 00:14:37,000 kòd ki gen rapò ak baz done ak renmen an, ak Lè sa a, li lap pale 257 00:14:37,000 --> 00:14:40,000 kontwolè a youn oswa plis dosye lòt li te ye tankou opinyon, 258 00:14:40,000 --> 00:14:43,000 ki se estetik ki nan yon paj entènèt, modèl nan kalite, 259 00:14:43,000 --> 00:14:47,000 ki ta ka pran kèk done kòm opinyon, men nan fen jou a, 260 00:14:47,000 --> 00:14:50,000 lojik la sèlman andedan nan yon View yo ta dwe rann sa a nan done, 261 00:14:50,000 --> 00:14:53,000 iteration sou yon riban ak aktyèlman voye krache deyò kèk 262 00:14:53,000 --> 00:14:56,000 HTML ki baze sou pwononse ladan l 'oswa menm yon bagay tankou yon PDF. 263 00:14:56,000 --> 00:14:59,000 >> Ki sa ki nan bèl sou mv se ke ou ka gen opinyon diferan 264 00:14:59,000 --> 00:15:02,000 ki baze sou ki kalite aparèy, ki baze sou ki kalite fòma dosye ke ou aktyèlman 265 00:15:02,000 --> 00:15:04,000 vle montre itilizatè a. 266 00:15:04,000 --> 00:15:10,000 Se pou nou pran yon gade nan yon egzanp kèk progresivman pi konplèks ak byen fèt 267 00:15:10,000 --> 00:15:13,000 pa kòmanse premye ak vèsyon 0 isit la. 268 00:15:13,000 --> 00:15:16,000 Kite m 'ale pi devan epi louvri moute nan anyè mv nou yo jodi a 269 00:15:16,000 --> 00:15:21,000 yon dosye rele index.php nan anyè 0. 270 00:15:21,000 --> 00:15:26,000 Avi sa a se yon sit entènèt super senp ak anpil underwhelming 271 00:15:26,000 --> 00:15:29,000 sa a, se sòt de vèsyon 0 nan yon paj dakèy pou CS50, 272 00:15:29,000 --> 00:15:32,000 ak avi kouman nou gen yon ap mennen nan Konferans, nou gen yon ap mennen nan kursus, 273 00:15:32,000 --> 00:15:35,000 ak si mwen swiv ap mennen nan avi Konferans ki URL la 274 00:15:35,000 --> 00:15:39,000 moute tèt ki pral chanje a lectures.php. 275 00:15:39,000 --> 00:15:44,000 Si m 'Lè sa a, swiv ap mennen nan avi Semèn 1 ki URL chanjman yo ki week1.php. 276 00:15:44,000 --> 00:15:46,000 Gen sanble gen yon jistis senp estrikti yerarchize isit la. 277 00:15:46,000 --> 00:15:49,000 >> Se pou nou pran yon gade rapid anba kapo a nan fason sa a se mete soti, 278 00:15:49,000 --> 00:15:53,000 ak tout bon, si mwen gade nan index.php li nan trè senp. 279 00:15:53,000 --> 00:15:57,000 An reyalite, menm si mwen rele sa a ranpli yon PHP gen nan pa gen kòd pwogram aktyèl. 280 00:15:57,000 --> 00:16:01,000 Genyen nan yon kòmantè ke mwen te ekri isit la nan PHP jis pou itilizatè a pa fini wè li. 281 00:16:01,000 --> 00:16:05,000 Natirèlman, tankou anvan, anyen ki nan an ant PHP tags 282 00:16:05,000 --> 00:16:08,000 vin entèprete, menm si li nan yon kòmantè, ak ka esplike nou rèv yon kòmantè 283 00:16:08,000 --> 00:16:11,000 vle di jis voye jete byen lwen nan fen jou a, epi yo pa aktyèlman 284 00:16:11,000 --> 00:16:15,000 voye li nan navigatè a, se konsa tout bagay nan isit la se jis estetik. 285 00:16:15,000 --> 00:16:20,000 Si m 'louvri moute menm lectures.php sa a twò se jis yon dosye difisil kode. 286 00:16:20,000 --> 00:16:23,000 Sa rive yo dwe rele yon bagay. Php, 287 00:16:23,000 --> 00:16:27,000 men li vrèman se jis. html, ak week1.php, week2.php 288 00:16:27,000 --> 00:16:31,000 Menm jan an yo se jis baliz, se konsa gen nan yon pakèt moun sou lacunes sa a konsepsyon. 289 00:16:31,000 --> 00:16:33,000 Youn nan, li nan yon kantite lajan gwo kopi / keratin. 290 00:16:33,000 --> 00:16:37,000 Menm si bagay la sèlman ki nan chanje nan mitan fichye sa yo se lis la unordered, 291 00:16:37,000 --> 00:16:41,000 Li etikèt yo, mwen Alòske gen doc kalite, HTML, tèt, 292 00:16:41,000 --> 00:16:44,000 tit, fèmen kò, fèmen HTML ak plis ankò 293 00:16:44,000 --> 00:16:47,000 nan chak dosye sèl, ki vle di ke si mwen janm vle restriktire 294 00:16:47,000 --> 00:16:50,000 sa a web page oswa restylize li mwen gen yo ale nan epi chanje 295 00:16:50,000 --> 00:16:54,000 tout bagay sa yo dosye manyèlman oswa avèk kèk masiv jwenn epi ranplase. 296 00:16:54,000 --> 00:17:01,000 >> Kite a pran yon etap nan direksyon yon konsepsyon pi entelijan, pi lontan panse nan vèsyon 1 isit la 297 00:17:01,000 --> 00:17:04,000 kote tankou pou chak li a mwen ke nou te enkli pou ke ou ka jwe ansanm ak 298 00:17:04,000 --> 00:17:07,000 sa yo plis lantèman nan avi lakay nou genyen isit la 299 00:17:07,000 --> 00:17:10,000 yon rezime de dosye yo nan vèsyon 1 nan sit sa a, 300 00:17:10,000 --> 00:17:13,000 epi li sanble ke mwen te pran l 'sou tèt mwen faktè deyò 301 00:17:13,000 --> 00:17:17,000 kèk kòd komen, header.php ak footer.php. 302 00:17:17,000 --> 00:17:20,000 Oke, kite la pran yon gade nan ki sa ki andedan premye a nan tout sa yo. 303 00:17:20,000 --> 00:17:23,000 Header.php sanble yo konnen yo, 304 00:17:23,000 --> 00:17:26,000 men remake kote li jwenn koupe? 305 00:17:26,000 --> 00:17:30,000 Dwa apre liy 19, alò se konsa yo tout bagay sa yo ki te komen 306 00:17:30,000 --> 00:17:33,000 soti nan index.php a dosye, lectures.php, 307 00:17:33,000 --> 00:17:36,000 week1 ak week2.php soti nan egzanp lan anvan yo. 308 00:17:36,000 --> 00:17:40,000 Ki sa mwen te fè kopi ak tout bagay sa yo ki te koupe komen nan tout dosye sa yo, 309 00:17:40,000 --> 00:17:44,000 mete l 'nan yon dosye header ki apa a, ak menm nan footer.php 310 00:17:44,000 --> 00:17:48,000 t 'pou mwen aplike prensip la menm kote sèlman liy ki enteresan 311 00:17:48,000 --> 00:17:52,000 nan footer.php yo se sa yo de, fèmen kò ak HTML fèmen. 312 00:17:52,000 --> 00:17:55,000 >> Men, kisa sa vle di kounye a se ke nan vèsyon nan nouvo 313 00:17:55,000 --> 00:17:59,000 nan index.php avi konbyen pi senp li ka jwenn. 314 00:17:59,000 --> 00:18:02,000 Akòde, yon ti jan pi plis skre kap, yon ti kras mwens entwisyon 315 00:18:02,000 --> 00:18:06,000 yo swiv anwo jouk anba, men se Bondye m 'yo, nan tout sa redondance se kounye a ale. 316 00:18:06,000 --> 00:18:10,000 Nou mande lè l sèvi avèk yon fonksyon PHP literalman rele mande pou moute tèt, 317 00:18:10,000 --> 00:18:15,000 ki se trè okoumansman, sonje, nan la C # enkli mekanis. 318 00:18:15,000 --> 00:18:17,000 Nou mande header.php nan tèt la. 319 00:18:17,000 --> 00:18:20,000 Nou mande footer.php nan pati anba a, ak bagay la sèlman ki se diferan 320 00:18:20,000 --> 00:18:25,000 oswa espesyal konsènan sa a ranpli se kontni an ki nan te vle di yo dwe inik nan li. 321 00:18:25,000 --> 00:18:29,000 Si m 'Lè sa a, ale nan, di, lectures.php, Menm prensip la aplike. 322 00:18:29,000 --> 00:18:32,000 Yon fwa ankò, kèk kòmantè moute tèt, men Lè sa a, mwen mande pou header, mande pou footer, 323 00:18:32,000 --> 00:18:35,000 ak nan ant li nan sèlman kontni a ki la aktyèlman chanje. 324 00:18:35,000 --> 00:18:38,000 Men, si nou gade nan Semèn 1 ak Semèn 2 nou ta wè 325 00:18:38,000 --> 00:18:42,000 sa ki te prensip la menm te aplike a. 326 00:18:42,000 --> 00:18:44,000 Bon, nou pa ap byen fè a. 327 00:18:44,000 --> 00:18:48,000 >> Se pou nou pran yon gade nan vèsyon 2, ki te gen yon estrikti ki similè yo, 328 00:18:48,000 --> 00:18:50,000 men koulye a, mwen remake te entwodwi yon lòt bagay. 329 00:18:50,000 --> 00:18:53,000 Nan liy 10 Mwen te entwodwi helpers.php, 330 00:18:53,000 --> 00:18:55,000 ki aparamman gen fonksyon sekou. 331 00:18:55,000 --> 00:18:58,000 Yon fonksyon lòt moun sanble se jeneralman yon fonksyon relativman kout 332 00:18:58,000 --> 00:19:01,000 ke ou ekri ede ou soti nan divès kote, 333 00:19:01,000 --> 00:19:04,000 e kite yo wè sa ki sa ki andedan nan helpers.php. 334 00:19:04,000 --> 00:19:07,000 Nan ka sa a, li sanble li gen 2 fonksyon. 335 00:19:07,000 --> 00:19:10,000 Sonje soti nan lòt jou a ak egzanp kib nou 336 00:19:10,000 --> 00:19:13,000 ou ka defini fonksyon pwòp ou a nan PHP, ak sa m 'te fè kounye a se mwen te 337 00:19:13,000 --> 00:19:17,000 defini fonksyon rele rann footer ak rann header, 338 00:19:17,000 --> 00:19:21,000 premye a nan ki te pran yon paramèt rele done, 339 00:19:21,000 --> 00:19:25,000 default ki gen valè se yon etalaj vid, kòm sijere la, 340 00:19:25,000 --> 00:19:29,000 epi nou ka aktyèlman ekri sa a menm plis suksen nan vèsyon an dènye nan PHP 341 00:19:29,000 --> 00:19:32,000 lè li di louvri bracket kare, fèmen kare bracket. 342 00:19:32,000 --> 00:19:35,000 Sa vle di yon etalaj vid nan gwosè 0 men Alòske etalaj yon. 343 00:19:35,000 --> 00:19:38,000 >> Sa a fonksyon ekstrè se yon ti kras espesyal nan ki 344 00:19:38,000 --> 00:19:41,000 ki sa li fè se li pran kòm agiman li yo yon etalaj asosyatif 345 00:19:41,000 --> 00:19:45,000 ki gen 0 oswa plis pè valè kle yo, ak si w gen yon kle nan foo 346 00:19:45,000 --> 00:19:48,000 ak yon valè de bar fonksyon an ekstrè 347 00:19:48,000 --> 00:19:51,000 kreye yon sitiyasyon nan ki kounye a, kòm nan liy 11, 348 00:19:51,000 --> 00:19:57,000 ou gen yon varyab lokal rele $ foo ki gen valè se ba. 349 00:19:57,000 --> 00:19:59,000 Men, si ou te gen plis kle ak valè nan etalaj done a, 350 00:19:59,000 --> 00:20:03,000 Menm jan an yo ta dwe extrait nan sijè ki abòde lan lokal 351 00:20:03,000 --> 00:20:06,000 oswa non espas pou ke footer.php ak 352 00:20:06,000 --> 00:20:09,000 lide a menm desann isit la pou ke header.php 353 00:20:09,000 --> 00:20:12,000 gen aksè a sa yo varyab. 354 00:20:12,000 --> 00:20:15,000 An reyalite, kite m 'louvri moute ankò header.php 355 00:20:15,000 --> 00:20:18,000 ak trase atansyon a kounye a sa li sanble nan vèsyon sa-a. 356 00:20:18,000 --> 00:20:22,000 >> Olye de difisil kodaj CS50 kòm tit la pou chak paj yon sèl 357 00:20:22,000 --> 00:20:24,000 remake dynamism lan ki nan posib kounye a. 358 00:20:24,000 --> 00:20:29,000 Nan liy 5 Mwen Eko yon varyab tit, 359 00:20:29,000 --> 00:20:34,000 men nan premye mwen pase varyab sa a tit nan yon fonksyon rele htmlspecialchars. 360 00:20:34,000 --> 00:20:38,000 Yon non estipid pou yon fonksyon, depi lontan kòm li se, men li vrèman fè sa li di. 361 00:20:38,000 --> 00:20:41,000 Sa asire ke nenpòt karaktè espesyal 362 00:20:41,000 --> 00:20:46,000 nan fisèl la ki nan te pase nan yo byen chape HTML. 363 00:20:46,000 --> 00:20:49,000 Sa a se aktyèlman yon fason pou evite yon bagay yo rele yon sit kwa écritures atak 364 00:20:49,000 --> 00:20:52,000 kote yon moun kapab kare oswa aksidantèlman 365 00:20:52,000 --> 00:20:55,000 enjekte HTML pwòp yo nan sit entènèt ou a 366 00:20:55,000 --> 00:20:59,000 pa kole nan kèk fòm, pou egzanp, 367 00:20:59,000 --> 00:21:02,000 yon bagay ke ou pa te byen tann, patikilyèman JavaScript kòd, 368 00:21:02,000 --> 00:21:05,000 kòm n ap pale sou nan yon semèn oswa de tan an. 369 00:21:05,000 --> 00:21:08,000 >> Sa a header.php kounye a, li nan yon View 370 00:21:08,000 --> 00:21:12,000 nan sans ke li pèmèt ou wè estetik sa ki nan kèk seri done. 371 00:21:12,000 --> 00:21:14,000 Men, plis espesyalman, li nan yon modèl. 372 00:21:14,000 --> 00:21:19,000 Sa a se sòt de yon plan kounye a nan ki sa nou vle header a nan chak paj yo gade tankou, 373 00:21:19,000 --> 00:21:23,000 , men tou genyen kèk dynamism nan ke nou vle tit la dwe dynamique eleman 374 00:21:23,000 --> 00:21:26,000 ki baze sou varyab la tit 375 00:21:26,000 --> 00:21:30,000 ki te extrait lè nou rele, ankò, 376 00:21:30,000 --> 00:21:33,000 fonksyon an header rann. 377 00:21:33,000 --> 00:21:36,000 Koulye a, si nou gade footer rann, gen nan aktyèlman pa anpil itilize nan ki kounye a 378 00:21:36,000 --> 00:21:40,000 paske se nan footer.php gen nan pa gen dynamism tou. 379 00:21:40,000 --> 00:21:43,000 Ta ka kapab genyen, men nan moman sa a li nan yon lis difisil kode nan 2 balises, 380 00:21:43,000 --> 00:21:46,000 men lide a menm aplike, se konsa ke aktyèlman sijere poukisa 381 00:21:46,000 --> 00:21:49,000 nou te gaspiye tan gen yon header rann ak yon rann fonksyon footer? 382 00:21:49,000 --> 00:21:52,000 Kite m 'ale olye kounye a nan vèsyon 3, 383 00:21:52,000 --> 00:21:56,000 ak nan vèsyon 3 nan moun k'ap ede mwen deside senplifye li menm plis. 384 00:21:56,000 --> 00:21:58,000 >> Kite m 'gen yon sèl fonksyon rann. 385 00:21:58,000 --> 00:22:02,000 Kite m 'genyen li pran yon lòt agiman, tan sa a yo rele modèl, 386 00:22:02,000 --> 00:22:05,000 ki vle di ke yo dwe non an nan yon modèl, 387 00:22:05,000 --> 00:22:11,000 ak Lè sa a, mwen pral anchene lògèy. php valè varyab sa a, 388 00:22:11,000 --> 00:22:17,000 ak Lè sa a, si li egziste foo.php, bar.php oswa header.php ak footer.php, 389 00:22:17,000 --> 00:22:20,000 Lè sa a, mwen pral ale pi devan epi ekstrè done yo varyab 390 00:22:20,000 --> 00:22:23,000 ak Lè sa a, ki egzije pou chemen. 391 00:22:23,000 --> 00:22:29,000 Nan lòt mo, yo sèvi ak sa a kounye a, si mwen louvri moute index.php 392 00:22:29,000 --> 00:22:32,000 avi ke mwen pa rele header rann ankò. 393 00:22:32,000 --> 00:22:36,000 Mwen te jis rele rann, men mwen pase nan yon valè te site nan header 394 00:22:36,000 --> 00:22:39,000 fè klè ki modèl mwen aktyèlman vle chaje. 395 00:22:39,000 --> 00:22:41,000 >> Lè sa a, plis pase isit la remake sa m ap fè a. 396 00:22:41,000 --> 00:22:44,000 Mwen pase nan dynamique kle yon nan tit, 397 00:22:44,000 --> 00:22:47,000 yon valè de CS50, ak sa a tou, kòm nou te wè anvan, 398 00:22:47,000 --> 00:22:51,000 te kapab dwe fè pi plis somèr nan vèsyon an dènye nan PHP 399 00:22:51,000 --> 00:22:54,000 kote mwen ka ranplase fonksyon an etalaj ak parantèz kare, 400 00:22:54,000 --> 00:22:57,000 kote mwen pwopoze se menm plis ka konprann ak sètènman 401 00:22:57,000 --> 00:22:59,000 yon ti kras pi fasil tape. 402 00:22:59,000 --> 00:23:02,000 Ak nan kou, ak rann apèl la footer nan pati anba a, 403 00:23:02,000 --> 00:23:05,000 nou pa anmède pase nan yon diskisyon dezyèm nan tout, pa gen okenn etalaj asosyatif, 404 00:23:05,000 --> 00:23:07,000 paske gen nan pa gen anyen anndan dinamik nan ki footer. 405 00:23:07,000 --> 00:23:10,000 Se jis kèk tags fèmen pou HTML. 406 00:23:10,000 --> 00:23:14,000 Bon, nou ap pran mezi nan direksyon pou reyèlman netwaye bagay yo isit la, 407 00:23:14,000 --> 00:23:17,000 Men, kite m louvri moute 2 egzanp final la. 408 00:23:17,000 --> 00:23:21,000 Sa a yon sèl, nimewo 4, avi ke mwen te fè yon desizyon konsyans kounye a 409 00:23:21,000 --> 00:23:26,000 amelyore sou egzanp lan anvan pa finalman lè l sèvi avèk kèk yerachi nan dosye m 'yo. 410 00:23:26,000 --> 00:23:29,000 >> Remake nan sa a rezime, nan sa a li m ', mwen te prezante 411 00:23:29,000 --> 00:23:32,000 yon gen ladan anyè ak yon anyè modèl 412 00:23:32,000 --> 00:23:35,000 sa ki gen pwal gen bagay sa yo mwen vle gen ladan yo 413 00:23:35,000 --> 00:23:38,000 ak modèl yo ke mwen vle rann, respektivman. 414 00:23:38,000 --> 00:23:42,000 Sa a se vrèman m 'yo te nan dèyè ak ap eseye kenbe bagay sa yo pwòp, 415 00:23:42,000 --> 00:23:45,000 kenbe dosye ki gen rapò ak ansanm, men rezilta nan fen 416 00:23:45,000 --> 00:23:48,000 se ke nou kounye a gen yon konfigirasyon yon ti kras tidier, men nou gen sonje kounye a 417 00:23:48,000 --> 00:23:51,000 nan, pou egzanp, index.php 418 00:23:51,000 --> 00:23:55,000 lè nou mande pou helpers.php nan dosye 419 00:23:55,000 --> 00:24:01,000 nou dwe kounye a mande pou li via gen ladan / helpers.php 420 00:24:01,000 --> 00:24:06,000 olye ke sèlman li di helpers.php paske kounye a li la aktyèlman nan yon anyè sub. 421 00:24:06,000 --> 00:24:09,000 Koulye a, kòm yon sou kote, ou pral wè nan egzanp sa yo ak kèk lòt moun 422 00:24:09,000 --> 00:24:11,000 fonksyon tankou mande pou, mande pou yon fwa. 423 00:24:11,000 --> 00:24:15,000 Genyen aktyèlman yon fonksyon pwòp tèt li rele enkli ladan yo, ak yo tout gen konpòtman yon ti kras diferan. 424 00:24:15,000 --> 00:24:18,000 Men mwen di mande pou yon fwa yo fè super klè ke mwen sèlman vle sa yo 425 00:24:18,000 --> 00:24:20,000 moun k'ap ede enkli nan pwojè mwen an yon fwa. 426 00:24:20,000 --> 00:24:24,000 Men, si mwen atansyon epi si mwen aktyèlman panse atravè lojik mwen byen 427 00:24:24,000 --> 00:24:27,000 li ta dwe sifi twò jis vle di mande pou moute tèt 428 00:24:27,000 --> 00:24:31,000 toutotan mwen menm mwen pa aksidantèlman egzije pou ranpli menm yon lòt kote. 429 00:24:31,000 --> 00:24:34,000 An reyalite, sa a se yon fason yon ti kras plis efikas nan fè bagay Lè sa a, lè l sèvi avèk 430 00:24:34,000 --> 00:24:38,000 mande pou yon fwa, se konsa mwen pral pilonnen li desann nan jis mande pou. 431 00:24:38,000 --> 00:24:40,000 >> Kite a pran yon etap pi lwen. 432 00:24:40,000 --> 00:24:46,000 Egzanp sa a dènye, koulye a, vèsyon 5, gen yon yerachi folder menm cleaner. 433 00:24:46,000 --> 00:24:50,000 Avi sa m 'te fè isit la pou chak li a m' nan vèsyon sa-a final 434 00:24:50,000 --> 00:24:54,000 se kounye a mwen gen anyè HTML m 'yo, ki mwen te gen tout tan sa a, 435 00:24:54,000 --> 00:24:58,000 Men, anndan an gen kounye a se sèlman index.php, lectures.php, 436 00:24:58,000 --> 00:25:01,000 week1.php ak week2.php. 437 00:25:01,000 --> 00:25:05,000 Gen ladan nan anyè kounye a ap viv ansanm ak nan anyè a HTML, 438 00:25:05,000 --> 00:25:08,000 Se konsa nan nivo a menm jan ak yon frè ak sè, se konsa pale. 439 00:25:08,000 --> 00:25:10,000 Se konsa, eske folder nan modèl. 440 00:25:10,000 --> 00:25:14,000 Takeaway kle a isit la se mwen te entwodwi yon ti jan ti kras pi plis estrikti, 441 00:25:14,000 --> 00:25:17,000 men karakteristik nan kle kounye a se ke se sèlman dosye yo 442 00:25:17,000 --> 00:25:21,000 ki bezwen ale nan sit entènèt aksesib, piblikman adressable 443 00:25:21,000 --> 00:25:25,000 pa yon URL sou entènèt la piblik yo nan anyè HTML m 'yo. 444 00:25:25,000 --> 00:25:28,000 >> Pandan se tan, lòt dosye, helpers.php, footer.php, 445 00:25:28,000 --> 00:25:32,000 header.php, ki joui petèt plis sansib, 446 00:25:32,000 --> 00:25:35,000 petèt moun k'ap ede aktyèlman gen kèk non itilizatè yo ak modpas oswa kèk entelektyèl 447 00:25:35,000 --> 00:25:39,000 pwopriyete m 'yo, fonksyon Mwen vrèman pa vle mond lan yo wè, menm si aksidantèlman. 448 00:25:39,000 --> 00:25:45,000 Li nan bon pratik kenbe soti nan anyè piblik la HTML 449 00:25:45,000 --> 00:25:48,000 nenpòt ki dosye ki pa bezwen tèt yo yo dwe piblik. 450 00:25:48,000 --> 00:25:51,000 Tout sa ou dwe fè nan ka sa a lè gade, pou egzanp, 451 00:25:51,000 --> 00:25:55,000 index.php dosye anyè a HTML a, 452 00:25:55,000 --> 00:25:58,000 remake nou jis dwe fè yon ti kras pi plis atansyon lè w ap mande 453 00:25:58,000 --> 00:26:00,000 oswa mande pou yon fwa sa a dosye. 454 00:26:00,000 --> 00:26:03,000 Mwen bezwen premye fè .. pou yo ale nan anyè a paran, 455 00:26:03,000 --> 00:26:06,000 Lè sa a, / gen ladan / helpers.php 456 00:26:06,000 --> 00:26:12,000 plonje tounen desann nan jwenn dosye a ke mwen renmen anpil. 457 00:26:12,000 --> 00:26:16,000 >> Nenpòt kesyon Lè sa a, sou mv 458 00:26:16,000 --> 00:26:20,000 oswa sa a enkarnasyon relativman senp ladan l '? 459 00:26:20,000 --> 00:26:23,000 Ak kite m 'fè klè ke nou konsantre byen yon ti jan sou la 460 00:26:23,000 --> 00:26:27,000 V isit la, opinyon yo ak faktorizasyon a soti nan sa yo modèl. 461 00:26:27,000 --> 00:26:30,000 Nou pa te vrèman distenge M soti nan C jis ankò. 462 00:26:30,000 --> 00:26:33,000 An reyalite, yo gen vrèman yon pa gen okenn M isit la, e menm C nou an, 463 00:26:33,000 --> 00:26:36,000 kontwolè, ki se pa sa vrèman fè tout sa ki anpil, men ou pral jwenn pi plis 464 00:26:36,000 --> 00:26:39,000 ki abitye avèk tou de nan 2 sa yo lèt ki sòti nan mv, 465 00:26:39,000 --> 00:26:43,000 ou pito, ou pral jwenn pi plis abitye avèk C a 466 00:26:43,000 --> 00:26:49,000 nan mv pou ansanm pwoblèm 7, se konsa gen nan plis nan ki sou orizon an. 467 00:26:49,000 --> 00:26:51,000 Kesyon? 468 00:26:51,000 --> 00:26:53,000 Genyen aktyèlman pa gen yon isit la. 469 00:26:53,000 --> 00:26:57,000 >> Oke, kite la kounye a deplase sou sijè sa a pou jodi a dezyèm ak final la. 470 00:26:57,000 --> 00:27:00,000 Sa a se entwodiksyon an nan yon baz done. 471 00:27:00,000 --> 00:27:03,000 Up jis pwen sa a nou te gen kèk fason nan done estoke. 472 00:27:03,000 --> 00:27:05,000 Nou te itilize varyab. 473 00:27:05,000 --> 00:27:08,000 Retounen nan C dosye nou an, mwen / O diskisyon nou te kòmanse lè l sèvi avèk fichye tèks 474 00:27:08,000 --> 00:27:11,000 ak lè l sèvi avèk dosye tankou fprintf, ak Lè sa a, nou menm te kòmanse 475 00:27:11,000 --> 00:27:14,000 ap pale de CSV depoze yon ti kras, vigil separe valè, 476 00:27:14,000 --> 00:27:17,000 Se konsa tout moun sa yo pèmèt nou gen done ki estoke 477 00:27:17,000 --> 00:27:19,000 swa ki pa pèsistans oswa pèsistans. 478 00:27:19,000 --> 00:27:23,000 Men, menm CSVs yo se pa reyèlman propice chèche 479 00:27:23,000 --> 00:27:25,000 ak inséré ak efase. 480 00:27:25,000 --> 00:27:28,000 Li nan vrèman jis yon dosye tèks estipid separe pa vigil 481 00:27:28,000 --> 00:27:30,000 ranje pa ranje nan ranje nan ranje, se konsa si ou vle 482 00:27:30,000 --> 00:27:32,000 rechèch ki dosye pi bon an ou ka fè vrèman se rechèch lineyè. 483 00:27:32,000 --> 00:27:34,000 Ou gen yo kòmanse nan tèt la nan dosye a, li tout bagay la nan, 484 00:27:34,000 --> 00:27:36,000 epi gade pou kèk valè nan enterè yo. 485 00:27:36,000 --> 00:27:39,000 Si ou vle insert nan li sa ou dwe fè menm bagay la, 486 00:27:39,000 --> 00:27:41,000 iteration sou li ak inséré nan yon kote an patikilye, 487 00:27:41,000 --> 00:27:45,000 ak an reyalite, sa ou dwe fè tout lojik nan chache tèt ou. 488 00:27:45,000 --> 00:27:49,000 >> Ou pa ka fè entelijan modèl matche sou yon dosye CSV sof si ou tèt ou ekri kòd la. 489 00:27:49,000 --> 00:27:51,000 Ou pa ka fè filtraj nan yon dosye CSV 490 00:27:51,000 --> 00:27:53,000 sof si ou tèt ou ekri kòd la. 491 00:27:53,000 --> 00:27:56,000 Pa ta bon pou li si yon lòt moun mete nan tout efò sa a 492 00:27:56,000 --> 00:27:59,000 aktyèlman fè chache fasil epi ensèsyon fasil 493 00:27:59,000 --> 00:28:01,000 ak sipresyon ak jour ak pou fè? 494 00:28:01,000 --> 00:28:04,000 Sa a se ekzakteman ki sa yon baz done se. 495 00:28:04,000 --> 00:28:07,000 SQL, byen estriktire lang sijè rechèch, se ankò yon lòt lang 496 00:28:07,000 --> 00:28:10,000 ke nou ap entwodwi isit la jodi a, men sa a twò se jistis ki aksesib, 497 00:28:10,000 --> 00:28:13,000 ak sa n ap reyèlman ale nan fè se jis rache soti nan li kèk nan essayant ki pi 498 00:28:13,000 --> 00:28:16,000 karakteristik pou ke pou pset 7yèm, ak si ou fè yon bagay ki baze wèb, 499 00:28:16,000 --> 00:28:19,000 pwojè final ou a, ou gen kapasite nan eksprime tèt ou 500 00:28:19,000 --> 00:28:22,000 an tèm de queries done. 501 00:28:22,000 --> 00:28:25,000 Ou gen kapasite a nan magazen yon ti kras oswa yon anpil nan done 502 00:28:25,000 --> 00:28:28,000 nan yon fason pi plis estriktire ki pral nan fen jou a, 503 00:28:28,000 --> 00:28:32,000 fè lavi ou pi fasil paske avèk SQL ou ka sakrifye tèt ou 504 00:28:32,000 --> 00:28:35,000 pi plis jisteman, pi plis metodikman yo nan lòd yo 505 00:28:35,000 --> 00:28:40,000 jwenn tounen kèk gwoup ki sot nan done ki sòti nan yon corpus pi gwo pati nan done. 506 00:28:40,000 --> 00:28:45,000 >> Ou ka panse a yon baz done, nan ka sa a, ki se yon baz done SQL, reyèlman tankou Excel 507 00:28:45,000 --> 00:28:48,000 oswa Numbers kote li nan yon calcul, 508 00:28:48,000 --> 00:28:50,000 oswa petèt tableur miltip, ak yon calcul, nan kou, 509 00:28:50,000 --> 00:28:53,000 gen ranje ak kolòn, ak sa a, se paske 510 00:28:53,000 --> 00:28:56,000 Bazdone SQL yo se relasyon, relasyon nan sans 511 00:28:56,000 --> 00:28:59,000 yo ke yo sere done an tèm de sa yo tab, 512 00:28:59,000 --> 00:29:01,000 ranje ak kolòn. 513 00:29:01,000 --> 00:29:03,000 Yo se pi wo pèfòmans pase yon bagay tankou yon calcul, 514 00:29:03,000 --> 00:29:05,000 epi li se yon calcul vle di yo dwe itilize pa yon moun. 515 00:29:05,000 --> 00:29:08,000 Se yon baz done vle di yo dwe itilize pa yon pwogramè 516 00:29:08,000 --> 00:29:12,000 ekri kòd kont li, se konsa enkarnasyon a nan yon baz done 517 00:29:12,000 --> 00:29:14,000 a pwal swa liy lòd. 518 00:29:14,000 --> 00:29:18,000 >> Youn nan baz done yo ki pi popilè relasyon yo deyò se, ankò, miskl, 519 00:29:18,000 --> 00:29:22,000 ki se bèl bagay gratis, trè wo pèfòmans, ak sa a se sa 520 00:29:22,000 --> 00:29:24,000 Facebook te itilize trè byen bonè sou yo ak sou nan yon sèten mezi toujou jodi a 521 00:29:24,000 --> 00:29:27,000 nan magazen yon anpil nan done li yo, epi nou pral wè nan yon moman 522 00:29:27,000 --> 00:29:30,000 ki lè l sèvi avèk kòmandman relativman senp 523 00:29:30,000 --> 00:29:33,000 nou ka chwazi done, done insert, update done, 524 00:29:33,000 --> 00:29:37,000 efase done ak tankou an, men Erezman, gen nan yon pi plis user-zanmitay koòdone 525 00:29:37,000 --> 00:29:39,000 pase jis tape nan yon èd memwa nwa ak blan isit la. 526 00:29:39,000 --> 00:29:43,000 Nou pral itilize pou pset 7 ak pi lwen pase yon zouti gratis yo rele fpmyadmen. 527 00:29:43,000 --> 00:29:45,000 Non an se fortwit. 528 00:29:45,000 --> 00:29:47,000 Zouti nan k ap pase nan pou aplike nan PHP, 529 00:29:47,000 --> 00:29:49,000 men sa a fondamantalman petinan. 530 00:29:49,000 --> 00:29:53,000 Ki sa ki nan itil sou fpmyadmen se ke li nan yon sèvis piblik ki baze sou wèb. 531 00:29:53,000 --> 00:29:55,000 Nou te pre-enstale l 'nan aparèy la pou ou, 532 00:29:55,000 --> 00:29:58,000 epi ak sa ou kapab kreye tab nan yon baz done, 533 00:29:58,000 --> 00:30:01,000 ou ka insert done, efase done, epi jeneralman wè 534 00:30:01,000 --> 00:30:04,000 done ou a nan yon anviwònman san patipri user-zanmitay. 535 00:30:04,000 --> 00:30:07,000 Itilizatè ou an pa pral sèvi ak fpmyadmen. 536 00:30:07,000 --> 00:30:09,000 >> Sa a se vrèman jis yon zouti administratif oswa pwomotè a 537 00:30:09,000 --> 00:30:12,000 ak ki wè ak pike alantou done ou yo ak konnen ki jan estrikti li, 538 00:30:12,000 --> 00:30:15,000 anpil tankou ou tèt ou ta ka sèvi ak Excel oswa Numbers, 539 00:30:15,000 --> 00:30:19,000 Men, li la pral fè yon bon fason nan vizualizan sa k ap pase sou anba kapo a 540 00:30:19,000 --> 00:30:22,000 pou ke ou ka konsantre sou pwoblèm nan rezoud enteresan epi yo pa tèlman 541 00:30:22,000 --> 00:30:25,000 sou kòmandman yo Esoteric. 542 00:30:25,000 --> 00:30:28,000 Se pou nou pran yon gade nan yon egzanp sou done ki ta ka dwe estoke tabularly 543 00:30:28,000 --> 00:30:30,000 nan yon baz done relasyon. 544 00:30:30,000 --> 00:30:32,000 Isit la nan yon egzanp sa yo. 545 00:30:32,000 --> 00:30:35,000 Koulye a, malerezman, fpmyadmen tronpe sou bò a nan voye fason twò anpil mo 546 00:30:35,000 --> 00:30:38,000 ak grafik nan ou, men si ou ranfòse nan jis sou la 547 00:30:38,000 --> 00:30:42,000 Kolòn ID, kolòn nan non itilizatè, ak kolòn nan regle, 548 00:30:42,000 --> 00:30:45,000 sa a se efektivman yon calcul, men li k ap pase yon brib 549 00:30:45,000 --> 00:30:49,000 nan yon andedan tablo nan aparèy la 550 00:30:49,000 --> 00:30:53,000 lè l sèvi avèk yon dosye ke nou ofri ou ak nan ansanm pwoblèm 7. 551 00:30:53,000 --> 00:30:57,000 >> An patikilye, nou ba ou yon dosye ki reprezante 552 00:30:57,000 --> 00:31:01,000 tab yon itilizatè a, se konsa yon calcul ki gen itilizatè yo ak 3 kolòn, 553 00:31:01,000 --> 00:31:05,000 youn nan ki se yon ID inik kòmanse nan 1 epi yo te enkremante apre sa. 554 00:31:05,000 --> 00:31:08,000 Dezyèm kolòn nan se yon non itilizatè, ak moun nan nou ki te fè pirataj, 555 00:31:08,000 --> 00:31:12,000 edisyon an pirataj pou pset 2, ta ka rekonèt kèk nan sa yo non itilizatè omwen. 556 00:31:12,000 --> 00:31:16,000 Sou bò men dwat-ou se modpas, men yo pa modpas literal. 557 00:31:16,000 --> 00:31:19,000 Yo ap achaj ladan l ', se konsa li vire soti 558 00:31:19,000 --> 00:31:22,000 ki estoke modpas nan yon baz done se yon lide reyèlman move. 559 00:31:22,000 --> 00:31:25,000 Ou te pwobableman li tout nan kèk pwen nan kèk sit entènèt 560 00:31:25,000 --> 00:31:28,000 oswa pou yo baz done kèk konpayi a konpwomèt, ak Lè sa a, ou gen 561 00:31:28,000 --> 00:31:31,000 chanje modpas ou, ou bezwen jwenn ranbousman sou bagay 562 00:31:31,000 --> 00:31:34,000 paske gen kèk nèg move aktyèlman te kraze nan kont ou kòm yon rezilta. 563 00:31:34,000 --> 00:31:38,000 >> Sere modpas nan tèks klè, kode nan yon baz done 564 00:31:38,000 --> 00:31:41,000 se konplètman so, men li la anpil amizan 565 00:31:41,000 --> 00:31:44,000 Lè sa a, li sou kèk konpayi trè byen li te ye 566 00:31:44,000 --> 00:31:47,000 pafwa nan laprès la baz done ki gen yo konpwomèt, 567 00:31:47,000 --> 00:31:50,000 ak pati sa a se pa komik, men lefèt ke baz done yo genyen kode 568 00:31:50,000 --> 00:31:53,000 modpas se ridikil paske literalman ak yon sèl liy nan kòd 569 00:31:53,000 --> 00:31:57,000 ou ka pwoteje tèt ou kont ke menas an patikilye, e ke se sa nou te fè isit la. 570 00:31:57,000 --> 00:32:00,000 Menm pou fo nou ti kras vèsyon Finans CS50 571 00:32:00,000 --> 00:32:03,000 n ap chifreman modpas sèlman pou mezi bon, ak lefèt ke 572 00:32:03,000 --> 00:32:07,000 tout moun sa yo modpas kòmanse avèk $ 1 $ se jis yon konvansyon. 573 00:32:07,000 --> 00:32:10,000 Ki jis vle di yo ap chiffres oswa reyèlman ache, 574 00:32:10,000 --> 00:32:13,000 ki se tankou yon fonksyon chifreman yon sèl-fason 575 00:32:13,000 --> 00:32:17,000 kote ou pa kapab ranvèse efè li yo ak yon bagay yo rele MD5. 576 00:32:17,000 --> 00:32:21,000 >> Lefèt ke 50 se apre sa vle di ke yon sèl valè 577 00:32:21,000 --> 00:32:24,000 nan 50 yo te itilize pou achin tout moun sa yo modpas eksepte pou youn. 578 00:32:24,000 --> 00:32:27,000 M ', nan kou, kòm ou kapab wè a, HA, 579 00:32:27,000 --> 00:32:30,000 te lè l sèvi avèk yon sèl diferan, se konsa moun nan nou ki te resevwa yon ti kras trebiche moute 580 00:32:30,000 --> 00:32:33,000 petèt nan pirataj 2, ki ta ka yo te rezilta a nan te itilize li fin nou 581 00:32:33,000 --> 00:32:36,000 yon regle diferan pase lòt moun yo paske modpas mwen se aktyèlman menm bagay la tou 582 00:32:36,000 --> 00:32:38,000 tankou kèk itilizatè lòt moute a. 583 00:32:38,000 --> 00:32:41,000 An reyalite, si ou ve yo te ap tann tout semèn sa yo yo chèche konnen 584 00:32:41,000 --> 00:32:44,000 ki sa sa yo modpas yo te isit la yo te modpas sa yo ke ou yo te defye 585 00:32:44,000 --> 00:32:48,000 krak nan edisyon an pirataj nan seri pwoblèm 2, pa gen anyen twò difisil. 586 00:32:48,000 --> 00:32:50,000 An reyalite, nan ke Malan te menm bagay la tou kòm jharvard, 587 00:32:50,000 --> 00:32:54,000 men si nou tounen yo te gade diferan. 588 00:32:54,000 --> 00:32:58,000 >> Konsantre sou jharvard nan wouj paske yo te gou ankò menm jan. 589 00:32:58,000 --> 00:33:01,000 Algorithm a te pèrturbasyon nan yon fason a ki 590 00:33:01,000 --> 00:33:05,000 regle valè, valè a chiffres sanble yon ti kras diferan 591 00:33:05,000 --> 00:33:08,000 paske yo te yon ti kras entrées diferan, men modpas la anba kapo a 592 00:33:08,000 --> 00:33:10,000 te toujou finalman wouj. 593 00:33:10,000 --> 00:33:12,000 Koulye a,, ki moun ki gen sousi pou sa a? 594 00:33:12,000 --> 00:33:15,000 Oke, nou ap bay ou ak itilizatè yo echantiyon, non yo itilizatè echantiyon 595 00:33:15,000 --> 00:33:18,000 ak achaj nan modpas yo pou ke ou gen aktyèlman kèk 596 00:33:18,000 --> 00:33:23,000 kliyan pou CS50 Finans lè w ou fèk jwenn nan tè a ak kòd ou a. 597 00:33:23,000 --> 00:33:27,000 Ou pral oblije aplike plis tab andedan nan miskl, andedan nan baz done a. 598 00:33:27,000 --> 00:33:30,000 Ou pral oblije kreye plis tableur, efektivman, men nou deside ba ou yon sèl sa a 599 00:33:30,000 --> 00:33:33,000 jwenn ou te kòmanse, epi ou ap wè ke spesifikasyon la ansanm pwoblèm 600 00:33:33,000 --> 00:33:37,000 mache ou atravè tout pwosesis la nan enpòtasyon tablo sa a 601 00:33:37,000 --> 00:33:39,000 epi tou li esplike ou kisa ki kèk nan karakteristik sa yo ye a, 602 00:33:39,000 --> 00:33:41,000 ak ou pral wè tou ke nou ofri ou ak kòd la 603 00:33:41,000 --> 00:33:44,000 okipe achin la oswa chifreman a nan sa yo modpas, 604 00:33:44,000 --> 00:33:49,000 konsa ou pa bezwen enkyete twòp sou sa ki MD5 oswa tankou an se aktyèlman tout sou. 605 00:33:49,000 --> 00:33:53,000 >> Se konsa, SQL, byen estriktire lang sijè rechèch. 606 00:33:53,000 --> 00:33:56,000 Sa a se, byen tou senpleman, lang nan nou ap sou yo kòmanse lè l sèvi avèk nan pset 7 607 00:33:56,000 --> 00:34:01,000 e petèt pi lwen pase pou mande pou done ki sòti nan kèk baz done. 608 00:34:01,000 --> 00:34:06,000 Done a, ankò, ki estoke tabularly nan tab sa yo relasyon, kolòn, ak ranje, 609 00:34:06,000 --> 00:34:09,000 men lè l sèvi avèk kèk sentaks relativman senp tankou efase, 610 00:34:09,000 --> 00:34:12,000 insert, mete ajou epi chwazi nou ka fè egzakteman sa. 611 00:34:12,000 --> 00:34:15,000 Nou ka efase soti nan baz done a, insert, 612 00:34:15,000 --> 00:34:19,000 rafrechi done, osi byen ke chwazi, se sa ki, rekipere done ki sòti nan baz done a. 613 00:34:19,000 --> 00:34:21,000 Ki jan nou ale sou fè sa a? 614 00:34:21,000 --> 00:34:23,000 Kite m 'ale pi devan nan aparèy la. 615 00:34:23,000 --> 00:34:28,000 Kite m 'rale moute http://localhost, 616 00:34:28,000 --> 00:34:30,000 ki, ankò, se aparèy la lokal tèt li. 617 00:34:30,000 --> 00:34:32,000 Sa a tinon default li yo. 618 00:34:32,000 --> 00:34:35,000 Ak kite m 'ale nan / fpmyadmen. 619 00:34:35,000 --> 00:34:39,000 Sa a k ap pase yo yon URL espesyal ki aparèy la se prekonfigure yo konprann 620 00:34:39,000 --> 00:34:42,000 ki imedyatman envit m 'pou yon non itilizatè ak modpas. 621 00:34:42,000 --> 00:34:46,000 >> Kòm dabitid, mwen pral tape jharvard ak wouj, 622 00:34:46,000 --> 00:34:48,000 men mwen reyalize sa a, se kont la administratè sou òdinatè a. 623 00:34:48,000 --> 00:34:53,000 Li nan jis yon konyensidans ki gen nan tou yon jharvard anrejistre pou CS50 Finans. 624 00:34:53,000 --> 00:34:56,000 Jharvard, wouj, antre ki ban m 'koòdone nan itilizatè ki nou te wè 625 00:34:56,000 --> 00:34:59,000 yon aperçu nan yon ti moman de sa, e li nan yon ti kras akablan nan premye, 626 00:34:59,000 --> 00:35:02,000 men rès asire, ou pa janm ap ale nan gen klike sou pi fò nan lyen yo nan sa a zouti. 627 00:35:02,000 --> 00:35:05,000 Ou pral fini lè l sèvi avèk yon sou ti ki se super itil, 628 00:35:05,000 --> 00:35:08,000 premye a nan ki se baz done moute isit la. 629 00:35:08,000 --> 00:35:11,000 Si m 'moute nan bazdone, avi ke m ap pouse yo kreye yon baz done. 630 00:35:11,000 --> 00:35:14,000 Sa a se tankou kreye yon nouvo dosye Excel, efektivman. 631 00:35:14,000 --> 00:35:18,000 Mwen pral ale pi devan epi rele sa konferans, ak mwen jis ale nan inyore jaden an a, konpilasyon. 632 00:35:18,000 --> 00:35:20,000 Li te gen fè ak reprezantasyon nan done ladan l ', 633 00:35:20,000 --> 00:35:24,000 ak mwen pral klike sou kreye, e kounye a, remake jan mwen kite ale nan kreye 634 00:35:24,000 --> 00:35:27,000 ki sou bò gòch-men kote li di pa gen okenn baz done 635 00:35:27,000 --> 00:35:30,000 M 'ta dwe byento wè baz done a konferans. 636 00:35:30,000 --> 00:35:32,000 >> Si m 'koulye a klike sou nan bò gòch la-men, baz done a konferans, 637 00:35:32,000 --> 00:35:34,000 remake onglè mwen chanje yon ti jan. 638 00:35:34,000 --> 00:35:38,000 Mwen te gen estrikti, SQL, ekspòtasyon, enpòte ak kèk lòt bagay. 639 00:35:38,000 --> 00:35:40,000 Estrikti se bèl anpil vid. 640 00:35:40,000 --> 00:35:43,000 Pa gen tab yo te jwenn nan baz done, jan li di isit la, 641 00:35:43,000 --> 00:35:47,000 kidonk kite a kreye yon tab, e kite yo ale pi devan epi kreye yon tab 642 00:35:47,000 --> 00:35:53,000 renmen elèv yo, ak konbyen kolòn nou vle? 643 00:35:53,000 --> 00:35:55,000 Se pou nou kenbe sa a ki senp, epi nan kite dosye pou chak elèv 644 00:35:55,000 --> 00:35:58,000 yon ID nimewo, yon non, ak yon adrès imel. 645 00:35:58,000 --> 00:36:02,000 >> Nou pwal kenbe li senp tankou sa yo, se konsa 3 kolòn, ale. 646 00:36:02,000 --> 00:36:05,000 Fòm nan sa ou wè la a se kounye a yon ti jan sal ak boulvèsan, 647 00:36:05,000 --> 00:36:08,000 men nou jis gen yo ale nan li ranje nan ranje, se konsa vrèman byen vit kite a bay 648 00:36:08,000 --> 00:36:14,000 premye kolòn nan nan sa a baz done yon non nan ID pou idantifyan a inik. 649 00:36:14,000 --> 00:36:17,000 Li pral yon nonb antye relatif. Mwen ka aktyèlman inyore longè ak valè. 650 00:36:17,000 --> 00:36:21,000 Yon int a pwal 32 Bits pa gen pwoblèm sa ou tape nan la, kidonk kite a kite li vid. 651 00:36:21,000 --> 00:36:24,000 Valè default, mwen te kapab fè li nil, jan yo defini. 652 00:36:24,000 --> 00:36:27,000 Mwen pral kite ki pou kont li. Se pou pa nan enkyete sou valè default. 653 00:36:27,000 --> 00:36:29,000 Se pou nou woulo liv sou isit la yo atribi yo dwat,. 654 00:36:29,000 --> 00:36:31,000 Sa a se enteresan. 655 00:36:31,000 --> 00:36:33,000 Se pou nou ale pi devan epi yon ti jan abitrèman di ke idantifikasyon yo dwe siye. 656 00:36:33,000 --> 00:36:35,000 Se pou nou pa gaspiye nenpòt ki nimewo negatif. 657 00:36:35,000 --> 00:36:37,000 >> Ann al 0 a 4 milya dola, bay oswa pran, 658 00:36:37,000 --> 00:36:40,000 ak Lè sa a, kite a pa manyen nenpòt nan sa yo jaden yo jis ankò lòt bò a, 659 00:36:40,000 --> 00:36:43,000 men Lè sa a, kite m 'tape nan non desann isit la, 660 00:36:43,000 --> 00:36:46,000 ak Lè sa a, lòt la te email, pou trape an se imel 661 00:36:46,000 --> 00:36:50,000 ak non, evidamman pa nonm antye relatif, kidonk kite a chanje sa yo nan yon jaden diferan. 662 00:36:50,000 --> 00:36:53,000 Li vire soti varchar, varyab Char longè, 663 00:36:53,000 --> 00:36:56,000 se tankou yon fisèl nan yon baz done SQL 664 00:36:56,000 --> 00:36:59,000 men yon longè varyab, ak ou gen aktyèlman di l 'nan davans lan 665 00:36:59,000 --> 00:37:02,000 maksimòm longè fil la, se konsa mwen pral parèt yon fason abitrèman 666 00:37:02,000 --> 00:37:05,000 pa konvansyon kalite 255 karaktè. 667 00:37:05,000 --> 00:37:08,000 Mwen te kapab totalman di 32. Mwen te kapab di 1,000. 668 00:37:08,000 --> 00:37:11,000 Ou kalite bezwen deside pou tèt ou ki baze sou démographie ou ki sa ki 669 00:37:11,000 --> 00:37:14,000 non elèv la pi long nan la epi ale ak nimewo sa a oswa yon ti kras pi gwo, 670 00:37:14,000 --> 00:37:17,000 men sa ki nan bèl sou yon varchar se li pa ale nan gaspiye 671 00:37:17,000 --> 00:37:19,000 255 bytes sou non chak elèv. 672 00:37:19,000 --> 00:37:23,000 Si li nan DAVID li pa pwal itilize yon antye 255 bytes, 673 00:37:23,000 --> 00:37:26,000 men sa a yon mare anwo, se konsa mwen pral ale ak 255 jis pa konvansyon, 674 00:37:26,000 --> 00:37:30,000 men nou te ka deba ke yo dwe kèk valè ki pi ba, epi pou adrès imel 675 00:37:30,000 --> 00:37:34,000 jis yo dwe konsistan 255, men ankò, nou te ka gen deba a menm. 676 00:37:34,000 --> 00:37:36,000 Men, mwen pral fè yon lòt bagay sou isit la sou bò men dwat-ou. 677 00:37:36,000 --> 00:37:40,000 >> Ki sa ki nan pwisan sou yon baz done se ke li ka fè yon anpil nan leve lou 678 00:37:40,000 --> 00:37:42,000 oswa konplèks travay pou ou. 679 00:37:42,000 --> 00:37:46,000 An patikilye, mwen reyèlman pa pran swen sa ki nimewo ID elèv mwen an yo ye. 680 00:37:46,000 --> 00:37:49,000 Li nan jis te vle di yo dwe yon idantifyan inik nan yon baz done 681 00:37:49,000 --> 00:37:52,000 Se konsa, mwen gen yon reprezantasyon somèr 32-ti jan nan ke elèv 682 00:37:52,000 --> 00:37:55,000 pou ke mwen gen kèk fason pou inikman idantifye yo 683 00:37:55,000 --> 00:37:58,000 Si nou gen 2 Davids, pou egzanp, nan yon klas. 684 00:37:58,000 --> 00:38:01,000 An reyalite, mwen pral tcheke ti kare sa a lavil Ayi a, kantite oto, 685 00:38:01,000 --> 00:38:04,000 pou ke baz done a, miskl, figire 686 00:38:04,000 --> 00:38:08,000 ki sa ID chak elèv ki fèk antre nan a pwal. 687 00:38:08,000 --> 00:38:11,000 Mwen pa menm gen nan swen sou ke nan kòd m 'yo, 688 00:38:11,000 --> 00:38:13,000 ak mwen menm tou pral chwazi yon bagay anba meni an endèks. 689 00:38:13,000 --> 00:38:17,000 Endèks la lage desann isit la te primè, inik, 690 00:38:17,000 --> 00:38:19,000 endèks yo ak tèks la plen. 691 00:38:19,000 --> 00:38:21,000 Ou ka petèt devine kisa yon koup nan bagay sa yo ye a, 692 00:38:21,000 --> 00:38:24,000 men li vire soti nan baz done relasyon 693 00:38:24,000 --> 00:38:28,000 ou pwogramè a oswa administratè a baz done jwenn preemptively 694 00:38:28,000 --> 00:38:32,000 bay sijesyon baz done a tankou sa ki jaden 695 00:38:32,000 --> 00:38:34,000 nan yon tablo yo se yon espesyal ti kras. 696 00:38:34,000 --> 00:38:37,000 >> Pou egzanp, nan ka sa a mwen pral di ke ID 697 00:38:37,000 --> 00:38:42,000 a pwal yon endèks prensipal, ki te rekonèt kòm yon kle prensipal. 698 00:38:42,000 --> 00:38:44,000 Ki sa sa vle di pa definisyon se ke ID koulye 699 00:38:44,000 --> 00:38:48,000 pral inikman idantifye elèv ki nan tablo sa a. 700 00:38:48,000 --> 00:38:53,000 Pa gen elèv ap gen ID a menm paske mwen m 'enpoze sa a contrainte oswa endèks sa a. 701 00:38:53,000 --> 00:38:55,000 Anplis, ki sa sa a ki pral fè pou mwen an, se li nan pral di 702 00:38:55,000 --> 00:38:58,000 Miskl ki ID se espesyal. 703 00:38:58,000 --> 00:39:03,000 Mwen pran swen patikilyèman sou ID, se konsa ale pi devan epi fè majik estrikti anpenpan done ou a, 704 00:39:03,000 --> 00:39:05,000 bati kèk kalite pyebwa. 705 00:39:05,000 --> 00:39:08,000 Tipikman yon bagay li a te rele B-pyebwa a, ki nou pa t 'gade nan semèn de sa, 706 00:39:08,000 --> 00:39:11,000 men li la yon lòt estrikti done sa yo menm jan an nan lespri a pyebwa yo binè 707 00:39:11,000 --> 00:39:15,000 epi eseye ke nou te gade, men li la pral di 708 00:39:15,000 --> 00:39:18,000 baz done a jaden sa a se tèlman enpòtan ke mwen pwobableman 709 00:39:18,000 --> 00:39:22,000 vle pou kapab chèche sou li, ale pi devan epi bati kèk anpenpan 710 00:39:22,000 --> 00:39:25,000 done estrikti nan memwa nan akselere pwosesis fouy pou ke depreferans 711 00:39:25,000 --> 00:39:28,000 yo ap konstan tan oswa omwen kòm fèmen ak sa yo ki posib kòm 712 00:39:28,000 --> 00:39:32,000 pou li pa dekonsantre nan rechèch lineyè, ki pa a pwal 713 00:39:32,000 --> 00:39:34,000 pi wo a fè apwòch. 714 00:39:34,000 --> 00:39:37,000 Nan kontras, te kapab adrès imel yo te yon kle prensipal. 715 00:39:37,000 --> 00:39:41,000 >> Nan teyori, adrès imel tout moun a se inik, sof si w ap pataje kèk kont, 716 00:39:41,000 --> 00:39:45,000 men li la anjeneral yo pa bon yo sèvi ak yon bagay tankou yon fisèl 717 00:39:45,000 --> 00:39:49,000 kòm yon kle prensipal paske si objektif li yo nan lavi se inikman idantifye 718 00:39:49,000 --> 00:39:55,000 ranje nan tablo ou a gen nan pa gen rezon ki fè yo sèvi ak 255 bytes omaksimòm 719 00:39:55,000 --> 00:39:58,000 inikman idantifye yon moun si ou kapab jwenn lwen ak jis 4 bytes 720 00:39:58,000 --> 00:40:00,000 oswa yon int 32-bit. 721 00:40:00,000 --> 00:40:03,000 An jeneral, yon kle prensipal yo ta dwe kout ak somèr 722 00:40:03,000 --> 00:40:07,000 ak depreferans yon bagay tankou yon nonb antye relatif oswa yon int gwo, ki k ap pase yo 64 miyèt moso. 723 00:40:07,000 --> 00:40:11,000 Men, yon adrès imel yo ta dwe inik, e youn nan karakteristik yo nan yon baz done twò 724 00:40:11,000 --> 00:40:14,000 se ranfòse singularité pou mwen. 725 00:40:14,000 --> 00:40:18,000 Si w chwazi inik isit la akote imel, menm si imèl tèt li 726 00:40:18,000 --> 00:40:21,000 se defile nan ekran an, mwen di l baz done a 727 00:40:21,000 --> 00:40:23,000 pa fè konfyans mwen. 728 00:40:23,000 --> 00:40:26,000 pa kite m 'insert nan baz done a 729 00:40:26,000 --> 00:40:29,000 adrès imel la menm de fwa, menm si m se yon moun sòt ak menm, mwen pa 730 00:40:29,000 --> 00:40:32,000 trè bon ak ifs m 'ak ifs lòt moun, e aktyèl kòd PHP 731 00:40:32,000 --> 00:40:37,000 epi mwen aksidantèlman kite itilizatè a enskri nan yon adrès imel ki egziste deja 732 00:40:37,000 --> 00:40:40,000 baz done a se ankò yon lòt nivo de defans pou ekzaktitid 733 00:40:40,000 --> 00:40:44,000 asire ke ke adrès imel kopi pa fini nan tablo a. 734 00:40:44,000 --> 00:40:49,000 >> Koulye a, pa kontra, pou non ou pwobableman pa vle fè ki inik 735 00:40:49,000 --> 00:40:51,000 paske lè sa a pa janm te kapab 2 Davids oswa 2 Mike machòkèt, pou egzanp, 736 00:40:51,000 --> 00:40:55,000 nan baz done ou, se konsa ke yon sèl nou pral jis kite pou kont li. 737 00:40:55,000 --> 00:40:58,000 Mwen pral ale pi devan epi klike sou sove sa ki a dwat anba, 738 00:40:58,000 --> 00:41:02,000 ak tout bagay sanble bon, men remake moute isit la 739 00:41:02,000 --> 00:41:04,000 sa a se yon pati ki pou kounye a nou pa pral pase tan twòp sou 740 00:41:04,000 --> 00:41:07,000 paske sentaks la se yon konplèks ti kras, epi nou pa gen yo kreye tab 741 00:41:07,000 --> 00:41:10,000 tout sa ki souvan, men SQL tèt li se yon lang, 742 00:41:10,000 --> 00:41:13,000 sentaks an pou ki se dwa isit la ke mwen te make. 743 00:41:13,000 --> 00:41:18,000 Ki sa ki fpmyadmen vrèman fè se li kreye yon grafik ki baze sou wèb pou ou 744 00:41:18,000 --> 00:41:23,000 ak kote ou ka ekonomize tan ak pa bezwen manuelman tape soti 745 00:41:23,000 --> 00:41:26,000 yon jistis long sijè rechèch SQL tankou sa. 746 00:41:26,000 --> 00:41:29,000 >> Nan lòt mo, si ou te vle manyèlman kreye tablo sa a, 747 00:41:29,000 --> 00:41:32,000 swa nan ki fpmyadmen nwa ak blan èd memwa oswa menm nan 748 00:41:32,000 --> 00:41:35,000 lè l sèvi avèk sa a tab lòt, sa a tab SQL kote ou ka tape nan nenpòt queries SQL 749 00:41:35,000 --> 00:41:38,000 ou vle, franchman, sa a ta yo te pran m 'yon minit 750 00:41:38,000 --> 00:41:41,000 aktyèlman sonje sentaks la an antye, e menm si sa mwen pwobableman ta gen 751 00:41:41,000 --> 00:41:45,000 te fè kèk tipo, kidonk sa a zouti se itil pou bagay sa yo tankou sa, epi li la tou édikatif. 752 00:41:45,000 --> 00:41:49,000 Ou ka kòmanse dégager ki sa sentaks la se 753 00:41:49,000 --> 00:41:52,000 jis pa koulè a ​​bèl kodaj ki fpmyadmen se ajoute 754 00:41:52,000 --> 00:41:54,000 pou vizyèl konvenyans nou an. 755 00:41:54,000 --> 00:41:56,000 Men, kounye a kite a fè sa pito. 756 00:41:56,000 --> 00:42:00,000 Kite m 'ale nan tab la insert nan tèt, ak kite m' ale pi devan epi insert pou egzanp 757 00:42:00,000 --> 00:42:04,000 yon ID nan la kite l 'di-aktyèlman mwen pa swen. 758 00:42:04,000 --> 00:42:07,000 Li nan ale nan kantite oto. Mwen pral kite kontra a baz done ak sa. 759 00:42:07,000 --> 00:42:11,000 Men, mwen va gen David, li imel mwen ta dwe malan@harvard.edu. 760 00:42:11,000 --> 00:42:16,000 >> Ann al pi devan isit la epi mete nan Mike Smith kòm yon lòt. 761 00:42:16,000 --> 00:42:18,000 Mwen pral ba tèt mwen yon non dènye kòm byen, 762 00:42:18,000 --> 00:42:22,000 epi n ap gen pou l 'smith@example.com, 763 00:42:22,000 --> 00:42:24,000 ak Lè sa a, kote m 'ale apre sa? 764 00:42:24,000 --> 00:42:27,000 Oke, li sanble ale se bouton an klike sou, ak vwala. 765 00:42:27,000 --> 00:42:30,000 Avi nan 2 ranje yo tèt eleman. 766 00:42:30,000 --> 00:42:32,000 Sa a se aktyèl SQL sijè rechèch la. 767 00:42:32,000 --> 00:42:36,000 Sa a se zouti nan fpmyadmen egzekite pou m ', 768 00:42:36,000 --> 00:42:40,000 men rezilta nan fen, avi, si mwen kounye a ale nan tab la browse, 769 00:42:40,000 --> 00:42:43,000 se gade 2 ranje nan tablo sa a, trè okoumansman estetik 770 00:42:43,000 --> 00:42:46,000 nan tablo a nou te wè pi bonè pou itilizatè nou an soti nan pset 7, 771 00:42:46,000 --> 00:42:51,000 youn nan moun se David Malan, youn nan ki moun kounye a se Mike Smith. 772 00:42:51,000 --> 00:42:54,000 Men, jis yo dwe klè, mwen pa bezwen sèvi ak fpmyadmen, 773 00:42:54,000 --> 00:42:56,000 ak tout bon, w ap ale nan byento ka ekri kòd pou pset 7 774 00:42:56,000 --> 00:43:01,000 ki automatise pwosesis la nan ajoute ranje, efase ranje, mete ajou ranje ak renmen an, 775 00:43:01,000 --> 00:43:04,000 Se konsa, kite m 'olye ale nan tab la SQL moute isit la 776 00:43:04,000 --> 00:43:14,000 ak kalite nan * Chwazi nan men elèv ki kote 777 00:43:14,000 --> 00:43:18,000 imel = "malan@harvard.edu." 778 00:43:18,000 --> 00:43:21,000 >> Nan lòt mo sipoze kounye a ou gen 779 00:43:21,000 --> 00:43:26,000 kèk fòm HTML, ak ki kalite itilizatè nan adrès imel yo, nan mitan jaden yo lòt, 780 00:43:26,000 --> 00:43:29,000 ak objektif la kounye a se nan PHP sou kòd la fen tounen 781 00:43:29,000 --> 00:43:31,000 aktyèlman gade moute lòt detay ki ki itilizatè a. 782 00:43:31,000 --> 00:43:34,000 Ki sa ki tout non ou? Ki sa ki se nimewo ID ou a? 783 00:43:34,000 --> 00:43:37,000 Ou kapab ekri yon sijè rechèch SQL tankou sa a, chwazi * nan men elèv 784 00:43:37,000 --> 00:43:40,000 kote imel = "malan@harvard.edu." 785 00:43:40,000 --> 00:43:46,000 Men, si mwen Lè sa a, klike sou ale a, remake ke mwen ta dwe, ak tout bon mwen menm, jwenn tounen sèlman yon sèl ranje. 786 00:43:46,000 --> 00:43:50,000 Mike se omi sa a soti nan seri rezilta, kòm koleksyon an nan ranje 787 00:43:50,000 --> 00:43:53,000 se jeneralman yo rele, paske li pa gen adrès imel la menm jan ak mwen. 788 00:43:53,000 --> 00:43:57,000 >> Koulye a, ankò, isit la pou pset 7 ou pral itilize fpmyadmen kòm yon zouti administratif 789 00:43:57,000 --> 00:44:00,000 ak yon zouti pedagojik yo aprann wout ou 790 00:44:00,000 --> 00:44:03,000 atravè mond lan nan SQL, men nan fen jou a, 791 00:44:03,000 --> 00:44:08,000 w ap ale nan dwe ekri sa yo queries andedan nan aktyèl kòd PHP, 792 00:44:08,000 --> 00:44:11,000 epi konsa rete sou estasyon nan solisyon Zamyla a an patikilye 793 00:44:11,000 --> 00:44:14,000 kote ou pral jwenn yon vwayaj nan kòd la distribisyon pou sa a seri pwoblèm 794 00:44:14,000 --> 00:44:18,000 kote nou te ban nou pa sèlman estetik yo pou paj la login 795 00:44:18,000 --> 00:44:21,000 ak te bèl logo la sexy ki di CS50 Finans, men nou menm tou nou ban nou 796 00:44:21,000 --> 00:44:24,000 yon pakèt moun sou fonksyon ki pral fè lavi ou yon ti jan pi fasil. 797 00:44:24,000 --> 00:44:27,000 Nou te ekri tou yon pati nan pset a pou ou, 798 00:44:27,000 --> 00:44:32,000 pòsyon nan login ladan l 'nan an patikilye, ba ou yon sans de yon konsepsyon reprezantan 799 00:44:32,000 --> 00:44:36,000 ki aktyèlman sèvi ak yon kontwolè, ki pou index.php egzanp,, 800 00:44:36,000 --> 00:44:40,000 login.php ak renmen an, ak Lè sa a, ou pral wè pset la tou te gen yon anyè modèl 801 00:44:40,000 --> 00:44:43,000 ki gen tout opinyon ou, nan tout estetik yo. 802 00:44:43,000 --> 00:44:46,000 Se konsa, workflow la an jeneral nan pset 7 a pwal ki 803 00:44:46,000 --> 00:44:49,000 itilizatè ou vizite yon kontwolè via yon URL nan yon navigatè. 804 00:44:49,000 --> 00:44:53,000 Sa kontwolè gen kòd PHP ke ou te ekri, ak andedan nan PHP kòd ou a 805 00:44:53,000 --> 00:44:57,000 ta ka gen kèk liy nan SQL pare solèy nan ant quotes doub 806 00:44:57,000 --> 00:45:00,000 li pase nan yon fonksyon nou te ekri ki rele sijè rechèch 807 00:45:00,000 --> 00:45:03,000 ki pral ede w pale ak baz done a san yo pa lè l sèvi avèk yon bagay tankou 808 00:45:03,000 --> 00:45:05,000 yon zouti administratif tankou fpmyadmen. 809 00:45:05,000 --> 00:45:08,000 >> Ou pral kapab ekri deklarasyon SQL an PHP kòd 810 00:45:08,000 --> 00:45:11,000 ak jwenn tounen yon etalaj PHP nan mete nan rezilta, 811 00:45:11,000 --> 00:45:14,000 nan ranje yo ki aktyèlman matche ak ki sijè rechèch. 812 00:45:14,000 --> 00:45:18,000 Ak menm ou pral kapab fè mete anndan oswa supresyon 813 00:45:18,000 --> 00:45:22,000 oswa mizajou oswa tankou an, sentaks an pou ki se jistis ki similè yo, 814 00:45:22,000 --> 00:45:25,000 epi ou pral wè nan kèk referans sou entènèt, ki soti nan kòd la distribisyon 815 00:45:25,000 --> 00:45:29,000 ak nan pset nan pake tèt li egzakteman ki jan yo ale sou fè sa. 816 00:45:29,000 --> 00:45:33,000 Reyalize finalman nou ap vrèman jis grate sifas la nan SQL 817 00:45:33,000 --> 00:45:36,000 ak nan miskl, men pouvwa a nan li vrèman se ke li libere ou 818 00:45:36,000 --> 00:45:40,000 yo konsantre sou pwoblèm sa yo ou vle rezoud, ka yo itilize ou vle aplike 819 00:45:40,000 --> 00:45:43,000 san yo pa gen enkyete byen kòm anpil, omwen bonè nan, 820 00:45:43,000 --> 00:45:47,000 sou ki kote epi ki jan nan magazen ak rechèch baz done ou a, 821 00:45:47,000 --> 00:45:50,000 ak sa a se byen literalman kote Facebook tèt li te resevwa kòmansman li yo 822 00:45:50,000 --> 00:45:53,000 lè l sèvi avèk miskl ak Lè sa a, lè l sèvi avèk plis miskl serveurs ak Lè sa a, plis miskl serveurs 823 00:45:53,000 --> 00:45:57,000 anvan lontan jiskaske yo Lè sa a, te gen nan reyèlman kòmanse panse difisil sou jan yo ka 824 00:45:57,000 --> 00:46:00,000 magazen done, ki jan nan magazen bagay sa yo menm pi plis efikasite, 825 00:46:00,000 --> 00:46:04,000 se konsa menm si nou pral pran pou yo akòde lefèt ke endèks ak kontrent inik 826 00:46:04,000 --> 00:46:08,000 ak pou fè jis travay gen yon konvèsasyon trè enteresan 827 00:46:08,000 --> 00:46:12,000 ke sa a tout ka evantyèlman mennen nan, se konsa reyalize ke nou jis ap grate sifas la 828 00:46:12,000 --> 00:46:17,000 nan sa ki te ka evantyèlman pou ou oswa pou pwojè ou vin byen yon ti jan nan done gwo. 829 00:46:17,000 --> 00:46:22,000 >> Avèk ki t'ap di:, kite la fini isit la, epi n ap wè ou an semèn pwochèn. 830 00:46:28,000 --> 00:46:30,000 [CS50.TV]