1 00:00:00,000 --> 00:00:03,920 >> [Music kucheza] 2 00:00:03,920 --> 00:00:11,760 3 00:00:11,760 --> 00:00:13,800 >> DAVID J. Malan: zote haki. 4 00:00:13,800 --> 00:00:15,640 Hii ni CS50. 5 00:00:15,640 --> 00:00:17,620 Huu ni mwanzo wa wiki nane. 6 00:00:17,620 --> 00:00:22,440 Na unaweza kukumbuka kuwa sisi kushoto mbali Mara ya mwisho kuangalia lugha mpya 7 00:00:22,440 --> 00:00:23,240 kabisa. 8 00:00:23,240 --> 00:00:25,905 Kwa kweli, moja kwamba ni haki nyepesi na si hata 9 00:00:25,905 --> 00:00:26,940 lugha ya programu. 10 00:00:26,940 --> 00:00:31,100 Ni ghafi lugha kwamba unatuwezesha kweli muundo na kufanya kurasa za mtandao. 11 00:00:31,100 --> 00:00:33,350 Na wakati kitu kingine kwa kushirikiana na this-- 12 00:00:33,350 --> 00:00:35,670 au hivi karibuni mapenzi, kama wewe si tayari. 13 00:00:35,670 --> 00:00:38,530 Tunakwenda kutumia kuachia Mtindo mashuka, au CSS, ambayo 14 00:00:38,530 --> 00:00:40,971 ni aina nyingine ya lugha na tabia na maadili 15 00:00:40,971 --> 00:00:43,220 hiyo ni kwenda hebu kufanya mambo kama mabadiliko ya rangi 16 00:00:43,220 --> 00:00:46,010 na kubadili msimamo na aina hii ya tweaks. 17 00:00:46,010 --> 00:00:49,940 Lakini leo na kuendelea, sisi kuanza kwa kuzingatia lugha nguvu zaidi, 18 00:00:49,940 --> 00:00:52,810 lugha halisi ya programu kama PHP. 19 00:00:52,810 --> 00:00:54,880 >> Hivyo PHP imekuwa karibu kwa muda fulani. 20 00:00:54,880 --> 00:00:56,810 Na kama utaona, ni ilikuwa iliyoundwa kimsingi 21 00:00:56,810 --> 00:01:00,280 mapema kwa halisi kutumia katika maendeleo ya mtandao 22 00:01:00,280 --> 00:01:02,360 na kwa kweli kuzalisha kurasa za mtandao. 23 00:01:02,360 --> 00:01:04,849 Hivyo ni aina gani ya makala gani lugha 24 00:01:04,849 --> 00:01:10,040 unahitaji ili kufanya mtandao kurasa dynamically na hilo? 25 00:01:10,040 --> 00:01:14,760 >> Kwa maneno mengine, kama unataka kuzalisha yaliyomo dynamically-- kama Facebook 26 00:01:14,760 --> 00:01:19,480 Newsfeed, ambayo mabadiliko daima, au ujumbe wa papo kwamba pop up kutoka wakati 27 00:01:19,480 --> 00:01:21,872 kwa time-- kama nini kipande muhimu ya utendaji 28 00:01:21,872 --> 00:01:24,580 unahitaji katika lugha ya programu kwamba ingekuwa basi wewe dynamically 29 00:01:24,580 --> 00:01:28,070 magazeti ya habari mpya na screen? 30 00:01:28,070 --> 00:01:28,685 >> STUDENT: Kanuni. 31 00:01:28,685 --> 00:01:29,560 DAVID J. Malan: Kanuni. 32 00:01:29,560 --> 00:01:30,440 OK. 33 00:01:30,440 --> 00:01:31,995 Tutaweza kuchukua hiyo. 34 00:01:31,995 --> 00:01:35,310 zaidi kidogo sahihi. 35 00:01:35,310 --> 00:01:37,639 I mean, tunaweza kufanya huu kwa C, kusema ukweli. 36 00:01:37,639 --> 00:01:38,930 Itakuwa maumivu ya shingo. 37 00:01:38,930 --> 00:01:41,045 But-- ni ahadi hii? 38 00:01:41,045 --> 00:01:41,895 >> STUDENT: Yeah. 39 00:01:41,895 --> 00:01:42,677 Vigezo, labda? 40 00:01:42,677 --> 00:01:43,760 DAVID J. Malan: Vigezo. 41 00:01:43,760 --> 00:01:44,160 OK, uhakika. 42 00:01:44,160 --> 00:01:45,740 Vigezo tunaweza kutusaidia. 43 00:01:45,740 --> 00:01:47,020 Na hata kitu rahisi. 44 00:01:47,020 --> 00:01:50,640 Sisi kutumika katika sana kwanza mpango wa siku ya kwanza 45 00:01:50,640 --> 00:01:55,686 wakati sisi kweli alisema "hello dunia." 46 00:01:55,686 --> 00:01:56,570 >> STUDENT: this. 47 00:01:56,570 --> 00:01:57,778 >> DAVID J. Malan: this, haki? 48 00:01:57,778 --> 00:02:01,050 Magazeti, au printf katika dunia ya C. Hivyo muda wote huu, 49 00:02:01,050 --> 00:02:03,362 tulikuwa katika yetu ovyo language-- C, 50 00:02:03,362 --> 00:02:05,570 katika particular-- na hata Mwanzo kwa jambo hilo kwamba 51 00:02:05,570 --> 00:02:07,400 inaweza kuzalisha nyuzi ya maandishi. 52 00:02:07,400 --> 00:02:11,090 >> Naam, kama HTML, kama tuliona wiki iliyopita, ni tu rundo zima la masharti ya maandishi 53 00:02:11,090 --> 00:02:14,692 angalau kwa mabano wazi na C. mabano na baadhi ya aina ya wimbo 54 00:02:14,692 --> 00:02:16,650 na sababu ya nyuma yake, vizuri basi tunaweza kweli 55 00:02:16,650 --> 00:02:20,440 kuanza kuzalisha kurasa za mtandao ama mwenyewe kwa kuandika yao nje katika gedit 56 00:02:20,440 --> 00:02:23,870 au katika Neno Microsoft, kwa kuwa matter-- sisi tu haja ya mhariri wa maandishi. 57 00:02:23,870 --> 00:02:26,830 >> Au tunaweza kuandika kanuni, kwa maoni yako 58 00:02:26,830 --> 00:02:30,435 awali, kwamba ingekuwa hebu dynamically kuzalisha HTML, 59 00:02:30,435 --> 00:02:32,560 na kwamba ni nini tunakwenda kuanza kufanya kwa PHP 60 00:02:32,560 --> 00:02:34,900 na hatimaye hata kwa lugha inayoitwa JavaScript, 61 00:02:34,900 --> 00:02:37,910 ni kutumia lugha moja ya kuzalisha mwingine. 62 00:02:37,910 --> 00:02:40,720 Na kwa kweli, hii ni nini Facebook na wengi, wengi maeneo mengine 63 00:02:40,720 --> 00:02:44,530 kufanya kweli dynamically kuonyesha habari mpya na wewe. 64 00:02:44,530 --> 00:02:47,117 >> Basi hebu kuanza na this-- a cryptic kuangalia line, lakini moja 65 00:02:47,117 --> 00:02:48,450 hiyo ni kweli pretty nguvu. 66 00:02:48,450 --> 00:02:51,210 Hivi sasa, tumekuwa kutumia C, ambayo ni lugha ulioandaliwa. 67 00:02:51,210 --> 00:02:55,050 Na tu recap-- haraka ulioandaliwa Lugha ina nini tabia? 68 00:02:55,050 --> 00:02:59,050 Wewe ni wazi haja ya kukusanya , lakini haina maana gani? 69 00:02:59,050 --> 00:03:00,505 Yeah? 70 00:03:00,505 --> 00:03:02,940 >> STUDENT: Ni mahitaji ya kuwa wamekusanyika katika mashine kificho. 71 00:03:02,940 --> 00:03:03,060 >> DAVID J. Malan: Sawa. 72 00:03:03,060 --> 00:03:04,530 Inahitaji kuwa walikutana ndani ya mashine kificho. 73 00:03:04,530 --> 00:03:07,340 Hivyo kuchukua chanzo yako kificho, ambayo ni aina ya Kiingereza-kama. 74 00:03:07,340 --> 00:03:09,270 Kubadilisha kwamba kwa kitu ngazi ya chini, 75 00:03:09,270 --> 00:03:11,590 ambayo ni hatimaye aitwaye kitu code-- 0 na 1 ya. 76 00:03:11,590 --> 00:03:14,830 Na ni wale 0 na 1 ya kwamba CPU, kama wale yaliyotolewa na Intel, 77 00:03:14,830 --> 00:03:16,110 kweli kuelewa. 78 00:03:16,110 --> 00:03:19,690 >> Sasa, PHP na Chatu na Ruby na JavaScript na mashada ya nyingine 79 00:03:19,690 --> 00:03:23,190 lugha si ulioandaliwa lugha lakini kutafsiriwa lugha, 80 00:03:23,190 --> 00:03:26,630 ambayo ina maana tu ya aina yao na kisha huna kurejea kwao katika 0 na 1 ya. 81 00:03:26,630 --> 00:03:30,790 Wewe badala tu kutoa basi kama pembejeo kwa mpango wa mtu mwingine, 82 00:03:30,790 --> 00:03:32,080 aitwaye mkalimani. 83 00:03:32,080 --> 00:03:34,460 Na kwamba mtu mpango imekuwa iliyoundwa 84 00:03:34,460 --> 00:03:38,280 kuelewa nini kila mmoja na kila alama katika Python PHP au 85 00:03:38,280 --> 00:03:42,650 au Ruby au idadi yoyote ya Lugha nyingine maana yake. 86 00:03:42,650 --> 00:03:44,760 >> Na hivyo wote tunahitaji ni kitu kama hiki. 87 00:03:44,760 --> 00:03:46,350 Hivyo kwa kweli, mimi nina kwenda kwenda juu kwa appliance 88 00:03:46,350 --> 00:03:48,100 hapa, tu ndani yoyote dirisha zamani, na sisi ni 89 00:03:48,100 --> 00:03:52,580 kwenda mbele na wazi faili inayoitwa, kusema, hello. 90 00:03:52,580 --> 00:03:55,780 Sasa hapo awali, nipate kuokolewa hii hata kwa faili ugani, 91 00:03:55,780 --> 00:03:57,910 lakini mimi nina kwenda kufanya kitu rahisi hata hapa. 92 00:03:57,910 --> 00:04:02,450 Mimi nina kwenda mbele na kuanza faili hili na syntax hii cryptic. 93 00:04:02,450 --> 00:04:06,310 Hivyo "user, bin, env, kwa ajili ya mazingira, php. " 94 00:04:06,310 --> 00:04:10,670 >> Hii ni tu mstari mmoja wa kificho kwamba kwenda kuwaambia mfumo wangu wa uendeshaji, 95 00:04:10,670 --> 00:04:13,730 kwenda kupata katika eneo lako mazingira chochote yaani, 96 00:04:13,730 --> 00:04:18,149 popote PHP is-- interpreter-- na kwenda mbele na kutumia mkalimani 97 00:04:18,149 --> 00:04:20,589 kutafsiri kificho zifuatazo. 98 00:04:20,589 --> 00:04:22,760 Sasa, hii ni aina ya mbaya hulka ya PHP. 99 00:04:22,760 --> 00:04:24,980 Lakini katika lugha hii, yoyote wakati wewe kuandika PHP kificho, 100 00:04:24,980 --> 00:04:29,200 unahitaji kuwa mmoja wa haya ugly Vitambulisho PHP kugawa mwanzo 101 00:04:29,200 --> 00:04:32,220 ya yako code-- 00:04:37,430 >> Lakini chini hapa, mimi sasa wanaweza kufanya kitu rahisi sana, kama printf hujambo comma 103 00:04:37,430 --> 00:04:40,922 dunia backslash n karibu quote, mabano karibu. 104 00:04:40,922 --> 00:04:42,630 Na kisha tu kwa ajili ya mema hatua, mimi nina kwenda 105 00:04:42,630 --> 00:04:45,380 kwenda mbele na karibu php yangu tag juu hapa 106 00:04:45,380 --> 00:04:47,390 hivyo kwamba inaonekana kila kitu nicely pretty kuchapishwa. 107 00:04:47,390 --> 00:04:50,780 >> Na haraka kama mimi bonyeza Save, gedit ni kweli smart kutosha 108 00:04:50,780 --> 00:04:54,620 kuangalia kwamba mstari wa kwanza sana na kutambua, oh, wewe kuandika PHP code. 109 00:04:54,620 --> 00:04:56,710 Napenda syntax kuonyesha ni pamoja na rangi 110 00:04:56,710 --> 00:04:58,690 hapa ili kwamba anasimama nje kidogo zaidi. 111 00:04:58,690 --> 00:05:01,300 Lakini sasa mimi nina kwenda chini ya terminal dirisha yangu. 112 00:05:01,300 --> 00:05:02,340 Mimi itabidi zoom katika. 113 00:05:02,340 --> 00:05:06,860 >> Mpango huu aliitwa "hello," hivyo mimi nina kwenda kufanya dot slash hello, 114 00:05:06,860 --> 00:05:07,990 lakini ruhusa alikanusha. 115 00:05:07,990 --> 00:05:08,490 Na bash. 116 00:05:08,490 --> 00:05:10,610 Sisi kwa kweli habari ya kwamba wiki jambo michache iliyopita 117 00:05:10,610 --> 00:05:13,140 katika mazingira ya Shellshock, mmoja wa wale mende. 118 00:05:13,140 --> 00:05:16,240 >> Lakini ruhusa alikanusha tumeona kabla, labda katika mazingira tofauti. 119 00:05:16,240 --> 00:05:19,060 Je, mtu yeyote kukumbuka jinsi unaweza kurekebisha kitu 120 00:05:19,060 --> 00:05:22,100 ambapo ruhusa ni alikana kama hii? 121 00:05:22,100 --> 00:05:23,490 Nini amri, angalau? 122 00:05:23,490 --> 00:05:24,159 >> STUDENT: chmod. 123 00:05:24,159 --> 00:05:26,700 DAVID J. Malan: Yeah, chmod, kwa ajili ya kubadilisha mfumo wa faili. 124 00:05:26,700 --> 00:05:30,171 Na utapata wote zaidi kutumika wiki hii ijayo na tatizo baadae 125 00:05:30,171 --> 00:05:30,670 kuweka. 126 00:05:30,670 --> 00:05:33,211 Lakini kwa sasa, mimi nina kwenda na mabadiliko mode si kuwa someka, 127 00:05:33,211 --> 00:05:36,650 lakini kwa kumpa kila mmoja executeability marupurupu, uwezo 128 00:05:36,650 --> 00:05:37,710 kuendesha faili hii. 129 00:05:37,710 --> 00:05:40,360 Na mimi nina kwenda hawawajui kwamba faili hello. 130 00:05:40,360 --> 00:05:45,150 >> Kama mimi sasa kufanya dot slash hujambo kuingia, wewe kuona, kwa kweli, mpango wangu, hello dunia. 131 00:05:45,150 --> 00:05:48,760 Na nini hatua gani mimi wazi ruka kabisa? 132 00:05:48,760 --> 00:05:49,520 Kuandaa. 133 00:05:49,520 --> 00:05:51,680 Hivyo mimi tu mbio mpango huu rahisi kabisa. 134 00:05:51,680 --> 00:05:55,690 >> Na zinageuka unaweza kufanya hivyo kwa mengi ya syntax kukumbusha ya C. 135 00:05:55,690 --> 00:06:03,400 Napenda kwenda katika na kanuni ya leo, ambayo mimi kuweka katika vhost directory yangu 136 00:06:03,400 --> 00:06:05,250 hapa, kwa sababu halisi tutaweza kuja nyuma. 137 00:06:05,250 --> 00:06:09,350 Na mimi nina kwenda katika, hebu sema, hali ya 1. 138 00:06:09,350 --> 00:06:12,450 >> Na utaona hapa, ya kwanza na hand, rundo zima la maoni. 139 00:06:12,450 --> 00:06:15,240 Lakini hii ni kweli re-viumbe katika PHP 140 00:06:15,240 --> 00:06:18,960 ya mpango sisi alivyofanya katika wiki aitwaye hali ya moja 1.c 141 00:06:18,960 --> 00:06:20,690 ambapo lengo katika maisha ya mpango huu 142 00:06:20,690 --> 00:06:22,950 ni inaonekana kuuliza user kwa integer 143 00:06:22,950 --> 00:06:25,270 na kisha kufanya baadhi fluffy uchambuzi juu yake ambapo 144 00:06:25,270 --> 00:06:29,510 unaweza kusema kama ni chanya au hasi au sawa na sifuri. 145 00:06:29,510 --> 00:06:34,220 Na mimi kuleta hii up tu kwa sababu, isipokuwa labda moja undani kidogo, 146 00:06:34,220 --> 00:06:37,150 ni kutofautishwa hivyo mbali kutoka C. 147 00:06:37,150 --> 00:06:39,930 >> Nini tabia moja hapa kwamba labda anaruka nje 148 00:06:39,930 --> 00:06:41,410 saa wewe kama kidogo tofauti? 149 00:06:41,410 --> 00:06:42,160 Labda mambo mawili. 150 00:06:42,160 --> 00:06:42,660 Yeah? 151 00:06:42,660 --> 00:06:44,070 >> STUDENT: Dola ishara n? 152 00:06:44,070 --> 00:06:44,944 >> DAVID J. Malan: Yeah. 153 00:06:44,944 --> 00:06:46,210 Hivyo ishara ya dola n ni sasa. 154 00:06:46,210 --> 00:06:48,120 Na dola ishara, kama tutaweza kuona, ni kwenda 155 00:06:48,120 --> 00:06:51,460 kuwa kurekebisha mwanzo ya kutofautiana yoyote katika PHP. 156 00:06:51,460 --> 00:06:54,250 Ni nzuri na bad-- nzuri katika kwamba ni aina ya dhahiri nini 157 00:06:54,250 --> 00:06:56,797 kutofautiana, mbaya katika kwamba ni bado jambo lingine aina. 158 00:06:56,797 --> 00:06:58,630 Na kuna moja nyingine Jambo tuna kabisa 159 00:06:58,630 --> 00:07:00,876 kuonekana, angalau kwa herufi hii. yeah? 160 00:07:00,876 --> 00:07:01,630 >> STUDENT: Readline. 161 00:07:01,630 --> 00:07:02,671 >> DAVID J. Malan: Readline. 162 00:07:02,671 --> 00:07:06,550 Readline hatukuwa kuona, per se, katika C, ingawa kuna kitu 163 00:07:06,550 --> 00:07:09,530 sawa, lakini tumekuwa kutumika GetString, na hii ni mwenzake yake. 164 00:07:09,530 --> 00:07:12,950 Hivyo kama mimi kwenda katika hii directory, ambayo hufanyika kuwa, 165 00:07:12,950 --> 00:07:18,030 kama mimi itabidi kueleza katika kidogo katika vhost yangu directory na chanzo yangu directory, 166 00:07:18,030 --> 00:07:22,730 na mimi kwenda mbele na kufanya dot slash conditions-- whoops-- dot slash 167 00:07:22,730 --> 00:07:26,710 masharti 1, utaona, tena, sawa issue-- ruhusa alikanusha. 168 00:07:26,710 --> 00:07:33,610 >> Hivyo basi mimi kuvuta na kufanya chmod pamoja x juu ya hali, hali dot slash. 169 00:07:33,610 --> 00:07:35,222 Ningependa integer, tafadhali, 50. 170 00:07:35,222 --> 00:07:36,930 Na tunaweza kucheza hii mchezo siku zote muda mrefu. 171 00:07:36,930 --> 00:07:39,140 Ni kwenda kuishi hasa kama ilivyokuwa katika wiki moja. 172 00:07:39,140 --> 00:07:42,860 >> OK hivyo si kwamba tofauti yote, isipokuwa si tu kwamba kidogo kidogo ya syntax, 173 00:07:42,860 --> 00:07:45,490 lakini saa ya juu, mimi tena alikuwa mstari huu ambayo 174 00:07:45,490 --> 00:07:49,760 kuruhusiwa mimi kujenga kitu ambacho Inaonekana kama C mpango ujulikanao hello, 175 00:07:49,760 --> 00:07:51,150 hali inayoitwa 1. 176 00:07:51,150 --> 00:07:54,520 Lakini si 0 na ndio Mimi utekelezaji wa moja kwa moja. 177 00:07:54,520 --> 00:07:57,620 Ni badala mbio hii mkalimani ambaye jina lake 178 00:07:57,620 --> 00:07:59,440 hutokea kwa kuwa kufanana na lugha. 179 00:07:59,440 --> 00:08:04,970 mpango inaitwa PHP, na kanuni yangu chini ya mstari wa moja ni kuwa alipita ndani yake. 180 00:08:04,970 --> 00:08:07,740 >> Tunaweza kufanya mwingine haki rahisi mfano kukumbusha ya kitu 181 00:08:07,740 --> 00:08:09,240 tulivyofanya wiki iliyopita. 182 00:08:09,240 --> 00:08:12,020 Tena, hii ni aina ya chunk holela wa kanuni 183 00:08:12,020 --> 00:08:14,000 kwamba inaonekana gani nini wakati wewe kukimbia? 184 00:08:14,000 --> 00:08:15,625 Nini hii kwenda magazeti, labda? 185 00:08:15,625 --> 00:08:23,540 186 00:08:23,540 --> 00:08:28,250 >> Hivyo awali kwenye mstari 16, ni kwenda kusema x ni sasa 2, labda. 187 00:08:28,250 --> 00:08:30,920 % D ni sawa na $ i kwa printf. 188 00:08:30,920 --> 00:08:33,460 Hivyo basi ni cubing, dot, dot, dot, katika mstari 17. 189 00:08:33,460 --> 00:08:36,299 Na kisha mstari 18 inaonekana kuwaita kazi Cubed. 190 00:08:36,299 --> 00:08:37,600 Na ambapo ni Cubed defined? 191 00:08:37,600 --> 00:08:40,319 >> Naam, inaonekana kama katika mstari 25, hivyo si kwamba wote kwamba tofauti. 192 00:08:40,319 --> 00:08:42,610 Mimi nimepata baadhi ya maoni juu yake, lakini kwa sehemu kubwa, 193 00:08:42,610 --> 00:08:45,370 ni haki moja kwa moja porting au kubadilika 194 00:08:45,370 --> 00:08:48,470 kutoka C mpango wa PHP version. 195 00:08:48,470 --> 00:08:52,670 Lakini sasa kuna michache ya tofauti kwamba labda lazima kuruka nje. 196 00:08:52,670 --> 00:08:56,100 Kile kingine ni tofauti kuhusu jinsi ya wapate kuandika mpango huo huu katika C? 197 00:08:56,100 --> 00:08:57,900 >> STUDENT: [inaudible]. 198 00:08:57,900 --> 00:09:00,070 >> DAVID J. Malan: Kuna hakuna mfano juu juu. 199 00:09:00,070 --> 00:09:03,210 Hivyo PHP-- na kusema ukweli, mengi ya languages-- kisasa 200 00:09:03,210 --> 00:09:06,920 mengi nadhifu na zaidi kusaidia kuliko C compilers katika kuwa wewe 201 00:09:06,920 --> 00:09:09,740 unaweza kuweka kazi hapa, unaweza kuweka kazi chini hapa, 202 00:09:09,740 --> 00:09:12,740 na mkalimani ni kwenda kufanya wewe neema ya kusoma 203 00:09:12,740 --> 00:09:16,010 faili nzima kabla anaamua kwamba baadhi ya kazi haipo. 204 00:09:16,010 --> 00:09:17,970 Hivyo maboresho nzuri miaka ya baadaye. 205 00:09:17,970 --> 00:09:22,126 Lakini pia kuna kitu kingine tofauti au hayupo hapa. 206 00:09:22,126 --> 00:09:22,626 Yeah? 207 00:09:22,626 --> 00:09:25,084 >> STUDENT: [inaudible]. 208 00:09:25,084 --> 00:09:27,750 DAVID J. Malan: Hatuna kwa kutangaza aina ya vigezo, 209 00:09:27,750 --> 00:09:31,780 hivyo tutaweza kuona kabla ya muda mrefu kwamba kuna aina tofauti katika PHP, 210 00:09:31,780 --> 00:09:34,970 lakini huna haja ya kutaja yao, ambayo pia ni nzuri na mbaya. 211 00:09:34,970 --> 00:09:36,623 Na kuna wengine jambo moja missing. 212 00:09:36,623 --> 00:09:37,430 >> STUDENT: Hakuna maktaba. 213 00:09:37,430 --> 00:09:38,630 >> DAVID J. Malan: Hakuna maktaba. 214 00:09:38,630 --> 00:09:39,350 OK, hivyo hiyo ni nzuri. 215 00:09:39,350 --> 00:09:40,540 Sisi kupata mengi zaidi nje ya boksi. 216 00:09:40,540 --> 00:09:43,373 Hivyo kuna kweli mengi zaidi mambo kuliko mimi walidhani walikuwa tofauti. 217 00:09:43,373 --> 00:09:44,350 Vipi kuhusu njia ya nyuma? 218 00:09:44,350 --> 00:09:46,032 Nini hiyo? 219 00:09:46,032 --> 00:09:46,740 Kusema ni mara moja zaidi? 220 00:09:46,740 --> 00:09:47,960 >> STUDENT: Pointer. 221 00:09:47,960 --> 00:09:49,270 >> DAVID J. Malan: Hakuna kuyatumia. 222 00:09:49,270 --> 00:09:51,280 OK, angalau katika mfano huu, hakuna. 223 00:09:51,280 --> 00:09:52,070 Hiyo ni haki. 224 00:09:52,070 --> 00:09:55,090 Hivyo kuna si kuyatumia katika PHP kweli kwa ujumla. 225 00:09:55,090 --> 00:09:58,730 Kuna kitu kinachoitwa kumbukumbu, lakini sisi si kutumia muda sana huko. 226 00:09:58,730 --> 00:09:59,520 Na nini kingine? 227 00:09:59,520 --> 00:10:00,185 >> STUDENT: Kuu. 228 00:10:00,185 --> 00:10:01,060 DAVID J. Malan: Kuu. 229 00:10:01,060 --> 00:10:02,768 Hivyo hii ilikuwa biggie Mimi nilikuwa kufikiri ya. 230 00:10:02,768 --> 00:10:04,660 Taarifa hakuna kuu ya kuingia uhakika. 231 00:10:04,660 --> 00:10:06,525 Wewe tu kuanza kuandika code yako. 232 00:10:06,525 --> 00:10:08,400 Na hii ni kweli itakuwa faida 233 00:10:08,400 --> 00:10:10,560 wakati sisi mpito momentarily kwa kweli kutumia 234 00:10:10,560 --> 00:10:13,980 lugha moja hii kwa mtandao msingi programu, ambayo sisi 235 00:10:13,980 --> 00:10:16,580 hawataki kuwa moja tu ya kuingia uhakika. 236 00:10:16,580 --> 00:10:19,980 Sisi kutaka kuwa na rundo la URL, rundo la files tofauti 237 00:10:19,980 --> 00:10:22,930 wote kuchukua katika pembejeo user na kuzalisha pato. 238 00:10:22,930 --> 00:10:27,130 >> Lakini hapa ni disheartening sana mfano kwamba mimi aliahidi mara ya mwisho, 239 00:10:27,130 --> 00:10:30,130 yaani katika folda hii hapa, misspellings. 240 00:10:30,130 --> 00:10:33,680 Hivyo katika hili Speller faili, ambayo sisi si kutumia muda sana juu ya, kuna 241 00:10:33,680 --> 00:10:37,870 kimsingi porting-- P-O-R-T. Ni tu neno aliyopewa wakati, kusema, 242 00:10:37,870 --> 00:10:40,800 kubadilisha kutoka lugha moja mwingine manually kawaida. 243 00:10:40,800 --> 00:10:45,680 >> Hii ni porting ya PC toleo la Speller kutoka pset 5. 244 00:10:45,680 --> 00:10:48,856 Na mimi kimsingi alijaribu kubadilisha ni mstari kwa mstari kama karibu kama naweza. 245 00:10:48,856 --> 00:10:51,730 Hivyo kama wewe kama aina hii ya kitu, ni kweli ni ya thamani katika baadhi ya uhakika 246 00:10:51,730 --> 00:10:54,229 kuunganisha wote wawili up upande kwa upande na kuona nini hicho 247 00:10:54,229 --> 00:10:55,230 na nini tofauti. 248 00:10:55,230 --> 00:10:57,510 Lakini wao ni pretty darn sawa. 249 00:10:57,510 --> 00:11:00,110 Kama unakumbuka kile Speller hata inaonekana kama, 250 00:11:00,110 --> 00:11:02,110 ingawa hakuwa kuwa na mabadiliko ya faili hili, 251 00:11:02,110 --> 00:11:04,860 ni pretty sawa kimuundo na michache tu 252 00:11:04,860 --> 00:11:06,200 mabadiliko ya hapa na pale. 253 00:11:06,200 --> 00:11:10,140 >> Hivyo hii ni tu kusema kwamba ni pretty moja kwa moja kubadili Speller 254 00:11:10,140 --> 00:11:12,000 kutoka C kwa PHP. 255 00:11:12,000 --> 00:11:15,390 Lakini katika kamusi, kuna kitu hata zaidi ya kulazimisha. 256 00:11:15,390 --> 00:11:19,270 Basi mimi kwenda mbele na kujenga dictionary.php yangu mwenyewe faili. 257 00:11:19,270 --> 00:11:24,010 Hivyo tofauti kidogo katika kwamba tutaweza simu yake .php badala ya c. 258 00:11:24,010 --> 00:11:26,980 Sababu hii ni PHP faili, mimi do-- kidogo annoyingly-- kuwa 259 00:11:26,980 --> 00:11:30,132 kuanza faili na tag php kama hiyo. 260 00:11:30,132 --> 00:11:32,340 Na mimi nina kwenda mbele na kufafanua kazi chache. 261 00:11:32,340 --> 00:11:35,770 Kazi kuitwa hundi, ambayo ni kwenda kuchukua katika neno kama kabla. 262 00:11:35,770 --> 00:11:37,520 Lakini hoja ya hii kwenda na dola 263 00:11:37,520 --> 00:11:39,840 ishara kwa sababu sisi ni, tena, kwa kutumia PHP. 264 00:11:39,840 --> 00:11:42,350 Kazi nyingine kutoka dictionary.c alikuwa mzigo 265 00:11:42,350 --> 00:11:47,120 na ilichukua kwa jina la kamusi, hivyo mimi itabidi kupata kwamba kazi tayari kwenda. 266 00:11:47,120 --> 00:11:50,920 >> Mwingine mmoja katika dictionary.c ilikuwa nini? 267 00:11:50,920 --> 00:11:54,580 Ukubwa alikuwa mmoja wa wale nicest, katika angalau kama wewe naendelea baadhi ya kutofautiana kote. 268 00:11:54,580 --> 00:11:57,830 hivyo ukubwa tu ana kurudi kutofautiana. 269 00:11:57,830 --> 00:11:59,090 Na kisha kulikuwa ipakuliwe. 270 00:11:59,090 --> 00:12:02,830 >> Hivyo kulikuwa na hizi nne kazi katika tatizo kuweka 5 271 00:12:02,830 --> 00:12:06,770 kwamba kinachohitajika kutekeleza na baadhi ya muundo data au miundo. 272 00:12:06,770 --> 00:12:10,170 Hivyo mimi aliahidi kwamba katika PHP, tunaweza kutangaza 273 00:12:10,170 --> 00:12:14,490 meza hash, kwa mfano, wote kwa urahisi zaidi kwamba. 274 00:12:14,490 --> 00:12:17,377 Kwa kweli, kama nataka meza hash, Mimi tu kwenda kama kwamba 275 00:12:17,377 --> 00:12:18,460 na kuna hash meza yangu. 276 00:12:18,460 --> 00:12:21,555 Na kwamba kumbuka, disheartening, kwamba sisi kushoto mbali juu ya wakati wa mwisho. 277 00:12:21,555 --> 00:12:23,930 Na unajua nini, kama nilitaka kutofautiana kwa ukubwa, vizuri, 278 00:12:23,930 --> 00:12:25,867 hii moja si wote kwamba tofauti na C, 279 00:12:25,867 --> 00:12:27,450 lakini mimi nina kwenda mbele na kufanya hivyo. 280 00:12:27,450 --> 00:12:28,630 Na taarifa hakuna aina data. 281 00:12:28,630 --> 00:12:31,180 Na mimi itabidi kurudi nyuma baadaye na kweli kuongeza baadhi ya maoni hapa. 282 00:12:31,180 --> 00:12:32,480 Lakini nini kuhusu mzigo? 283 00:12:32,480 --> 00:12:35,780 >> Kama ishara ya dola kamusi ni jina la faili yangu 284 00:12:35,780 --> 00:12:39,600 na mimi kwa kweli wanataka mzigo maneno katika meza hii sasa, 285 00:12:39,600 --> 00:12:42,360 Siwezi kweli kufanya kitu haki rahisi. 286 00:12:42,360 --> 00:12:44,880 One-- na hii ni minorly annoying-- katika PHP, 287 00:12:44,880 --> 00:12:47,710 una bayana ndani ya kazi kama wewe 288 00:12:47,710 --> 00:12:51,060 wanataka kupata baadhi ya kimataifa kutofautiana hiyo inavyoelezwa nje. 289 00:12:51,060 --> 00:12:53,530 >> Lakini si kwamba hasa kuvutia hivi sasa. 290 00:12:53,530 --> 00:12:57,920 Nini kuvutia zaidi ni hii kwa kila kujenga kwamba mimi zilizotajwa wakati wa mwisho. 291 00:12:57,920 --> 00:13:01,880 Na zinageuka kuwa PHP ina kazi aitwaye faili ambao lengo katika maisha 292 00:13:01,880 --> 00:13:05,550 ni kufungua faili na kusoma katika yote ya mistari yake katika safu 293 00:13:05,550 --> 00:13:06,840 na mkono wao nyuma. 294 00:13:06,840 --> 00:13:12,170 >> Ambayo ni kusema naweza kufanya hivyo kamusi kwamba sasa ufanisi wakati mimi wito faili, 295 00:13:12,170 --> 00:13:15,472 hii ni kwenda mkono yangu nyuma safu ya maneno kutoka faili. 296 00:13:15,472 --> 00:13:16,430 Si ni vizuri kwamba wote. 297 00:13:16,430 --> 00:13:20,130 Ni bado anaenda kuwa mstari maneno, kitu linear. 298 00:13:20,130 --> 00:13:23,880 Lakini siwezi kwenda mbele na iterate juu ya kila ya maneno haya kwa kutumia 299 00:13:23,880 --> 00:13:25,710 kwamba syntax tuliona wakati ufupi jana. 300 00:13:25,710 --> 00:13:27,940 Na utaona ni zaidi katika pset ujao. 301 00:13:27,940 --> 00:13:32,070 >> Lakini sasa mimi kuwa kitanzi iterating juu ya kila neno katika kamusi. 302 00:13:32,070 --> 00:13:36,100 Na juu ya kila iteration, kukumbuka mimi nina wito neno sasa "neno." 303 00:13:36,100 --> 00:13:39,790 Na wote ni kwenda kuchukua ili kuweka neno katika kamusi ni 304 00:13:39,790 --> 00:13:43,530 itakuwa neno nadhani "kweli." 305 00:13:43,530 --> 00:13:44,740 Hiyo ni kuingiza yangu kazi. 306 00:13:44,740 --> 00:13:46,661 Hiyo ni mzigo wangu kazi kwa kamusi yangu. 307 00:13:46,661 --> 00:13:49,410 Sasa ni kidogo ya kudanganya kwa sababu, unajua nini, kuna kweli 308 00:13:49,410 --> 00:13:52,920 backslash n mwishoni mwa maneno kwamba mimi lazima pengine kujikwamua, 309 00:13:52,920 --> 00:13:56,380 lakini si kwamba tatizo kwa sababu PHP ina kazi kuitwa Night ambayo literally 310 00:13:56,380 --> 00:13:58,480 chops mbali tabia moja mwishoni sana. 311 00:13:58,480 --> 00:13:59,400 Hivyo hakuna tatizo huko. 312 00:13:59,400 --> 00:14:02,199 Tumeenda mbele na kweli walioteuliwa kuwa tu hii. 313 00:14:02,199 --> 00:14:05,240 Na sasa mimi lazima pengine kuweka wimbo ya kawaida, hivyo hebu angalau kufanya this-- 314 00:14:05,240 --> 00:14:05,835 ukubwa ++. 315 00:14:05,835 --> 00:14:07,339 Siwezi kufanya kwamba kama kabla. 316 00:14:07,339 --> 00:14:10,380 Na kisha hii pengine ni kwenda kazi nzuri tu, ili kurudi ya kweli. 317 00:14:10,380 --> 00:14:10,930 Kufanyika. 318 00:14:10,930 --> 00:14:11,797 Pset 5. 319 00:14:11,797 --> 00:14:13,545 >> [Kicheko] 320 00:14:13,545 --> 00:14:14,420 >> DAVID J. Malan: Sawa. 321 00:14:14,420 --> 00:14:16,628 Tunakwenda kufanya hivyo tena na pset ijayo, pia. 322 00:14:16,628 --> 00:14:18,730 Basi nini kuhusu ukubwa? 323 00:14:18,730 --> 00:14:22,080 Naam, hii moja hopefully ni kuhusu kama ungependa kutarajia mara ya mwisho, 324 00:14:22,080 --> 00:14:24,460 ingawa mimi kufanya hii kijinga kimataifa jambo. 325 00:14:24,460 --> 00:14:26,610 Ni tu artifact kutoka kubuni lugha ya. 326 00:14:26,610 --> 00:14:28,450 >> Lakini kuangalia ni kidogo zaidi ya kuvutia. 327 00:14:28,450 --> 00:14:31,420 Hivyo kama mimi kupita katika dola ishara neno, mimi kwanza 328 00:14:31,420 --> 00:14:34,060 wanataka kupata kwamba kimataifa variable meza. 329 00:14:34,060 --> 00:14:36,700 Na sasa kama nataka kuangalia kama neno ni pale, 330 00:14:36,700 --> 00:14:44,350 Siwezi tu kusema kama ni kweli kwamba zifuatazo ni kuweka katika meza, 331 00:14:44,350 --> 00:14:49,957 kisha kwenda mbele na kurudi kweli; mwingine, kurudi uongo. 332 00:14:49,957 --> 00:14:51,180 Kufanyika. 333 00:14:51,180 --> 00:14:52,440 nusu nyingine ya pset 5. 334 00:14:52,440 --> 00:14:54,540 >> Haki wote, hivyo tena, mimi nina kukata pembe chache. 335 00:14:54,540 --> 00:14:56,831 Katika haki, mimi lazima pengine kutumia sekunde chache zaidi 336 00:14:56,831 --> 00:14:58,300 juu ya utekelezaji huu. 337 00:14:58,300 --> 00:15:01,860 Na mimi pengine haipaswi maskhara wote masaa kuweka juu ya pset sana. 338 00:15:01,860 --> 00:15:04,045 Hivyo strtolower ni kazi. 339 00:15:04,045 --> 00:15:06,670 Kitu sawa mdhanaishi katika C, angalau kwa wahusika, 340 00:15:06,670 --> 00:15:08,560 lakini PHP got kamba nzima toleo. 341 00:15:08,560 --> 00:15:11,226 >> Kwamba kinaendelea kwa nguvu kila kitu kwa Herufi za chini, ambayo baadhi yenu 342 00:15:11,226 --> 00:15:14,944 wapate wamefanya nini canonicalize wewe walikuwa kuweka katika kamusi yako. 343 00:15:14,944 --> 00:15:16,360 Na sasa unaweza kufanya hivyo katika C, pia. 344 00:15:16,360 --> 00:15:17,780 Hii ina kitu cha kufanya na PHP. 345 00:15:17,780 --> 00:15:20,260 >> Lakini wakati wowote una Hali Boolean, 346 00:15:20,260 --> 00:15:22,680 kama kitu kwenye mstari 10 huko, ambayo ni tu 347 00:15:22,680 --> 00:15:27,145 kwenda kutathmini kwa kweli au uongo, na wako kama kingine wazi 348 00:15:27,145 --> 00:15:33,620 ni kurudi kweli au uongo, mimi naweza tu kweli kufanya sexier hii 349 00:15:33,620 --> 00:15:38,360 na tu kufanya kitu kama hiki. 350 00:15:38,360 --> 00:15:40,500 Hivyo kwamba kuna hundi yangu kazi. 351 00:15:40,500 --> 00:15:42,560 Haki, kama Boolean anarudi kweli au uongo, 352 00:15:42,560 --> 00:15:44,630 hebu tu kurudi mara moja. 353 00:15:44,630 --> 00:15:47,340 >> Na kuna wachache tweaks nyingine Mimi naweza kufanya hapa na pale. 354 00:15:47,340 --> 00:15:51,380 Load-- ipakuliwe, kwa njia, kwamba amefanya. 355 00:15:51,380 --> 00:15:52,850 Kitu cha kufanya huko. 356 00:15:52,850 --> 00:15:55,840 Tangu yote ya kumbukumbu katika PHP na lugha nyingine nyingi 357 00:15:55,840 --> 00:15:57,570 ni kweli imeweza kwa ajili yenu. 358 00:15:57,570 --> 00:16:00,330 Hivyo ambapo katika C, kama wameweza kujifunza painfully, 359 00:16:00,330 --> 00:16:04,700 chochote malloc au calloc au realloc, una bure mwenyewe. 360 00:16:04,700 --> 00:16:08,770 Chochote fopen, una fclose, hivyo kuwa rasilimali hatimaye huru 361 00:16:08,770 --> 00:16:11,690 na zana kama Valgrind si taarifa na wala kulalamika, 362 00:16:11,690 --> 00:16:13,570 ambayo ni jambo zuri kwa kukimbia juu yao. 363 00:16:13,570 --> 00:16:16,190 >> Lakini hakika, kuna lazima kuwa baadhi ya kukamata, haki? 364 00:16:16,190 --> 00:16:19,400 Vinginevyo, sisi aina ya kupita rundo zima la wiki. 365 00:16:19,400 --> 00:16:23,270 Hivyo kuna idadi yoyote ya sababu nini sisi aina ya kuchukua trajectory huu, 366 00:16:23,270 --> 00:16:24,440 lakini kuna biashara-off. 367 00:16:24,440 --> 00:16:25,820 Haki, hii imekuwa ufadhili. 368 00:16:25,820 --> 00:16:29,690 >> Hivyo kile huenda biashara-off hapa kusonga, kutoka C kwa PHP? 369 00:16:29,690 --> 00:16:33,250 Anahisi kama wote kushinda hadi sasa zaidi ya kidogo ya ubaya hapa au pale. 370 00:16:33,250 --> 00:16:34,040 Yeah. 371 00:16:34,040 --> 00:16:34,700 Nini hiyo? 372 00:16:34,700 --> 00:16:36,064 >> STUDENT: [inaudible] kumbukumbu. 373 00:16:36,064 --> 00:16:36,980 DAVID J. Malan: kasi. 374 00:16:36,980 --> 00:16:37,479 OK. 375 00:16:37,479 --> 00:16:40,720 Vizuri, kasi yangu alikuwa pretty kufunga. 376 00:16:40,720 --> 00:16:42,020 Haki? 377 00:16:42,020 --> 00:16:44,320 Lakini kasi ya utekelezaji wa mpango? 378 00:16:44,320 --> 00:16:45,580 OK, hivyo hiyo ni hatua ya haki. 379 00:16:45,580 --> 00:16:50,930 >> Hivyo kama ingekuwa kutokea, mimi mapema cued up kujaribu yangu wote wawili ufumbuzi, moja 380 00:16:50,930 --> 00:16:53,510 Mimi nilikuwa kwenye bodi kubwa ilikuwa kujaribu makao ufumbuzi, 381 00:16:53,510 --> 00:16:55,510 na mimi kuwa na kwamba katika orodha hii hapa. 382 00:16:55,510 --> 00:16:58,510 Hivyo mimi katika wakati huu, naweza kwenda mbele na kukimbia hii juu ya King James Biblia, 383 00:16:58,510 --> 00:16:59,657 kupiga kuingia. 384 00:16:59,657 --> 00:17:01,990 Na hii ni hopefully sahihi utekelezaji mwishoni, 385 00:17:01,990 --> 00:17:05,109 anitiaye wakati katika jumla ya sekunde 0.38 kwa kuwa 386 00:17:05,109 --> 00:17:07,270 moja mfano fulani holela. 387 00:17:07,270 --> 00:17:09,270 >> Na kama mimi sasa kwenda katika hii pili terminal dirisha 388 00:17:09,270 --> 00:17:14,569 hapa ambapo mimi kwanza kufunguliwa gedit, basi mimi kwenda katika code-- leo ambayo, tena, 389 00:17:14,569 --> 00:17:19,650 ni katika saraka hii here-- na basi mimi kwenda mbele na kukimbia Speller. 390 00:17:19,650 --> 00:17:23,470 Hivyo tu kuwa wazi, hii ni toleo PHP. 391 00:17:23,470 --> 00:17:25,170 Mimi tu kuonyesha juu yake hapa. 392 00:17:25,170 --> 00:17:32,020 >> Hivyo kama mimi kufanya Speller ya tilde CS50 Pset 5 maandiko, King James, kuingia. 393 00:17:32,020 --> 00:17:39,700 394 00:17:39,700 --> 00:17:43,050 Ni bado kasi zaidi kuliko kuandika katika C, lakini wakati jumla 395 00:17:43,050 --> 00:17:47,650 yaani, ilani, 0.93, ambapo yangu Utekelezaji C-msingi alikuwa 0.38. 396 00:17:47,650 --> 00:17:49,110 Hivyo ni tofauti zisizo na maana. 397 00:17:49,110 --> 00:17:51,100 >> Na hii ni kwenye faili moja. 398 00:17:51,100 --> 00:17:53,480 Kama ungekuwa na kukimbia mbili mipango dhidi ya bodi kubwa 399 00:17:53,480 --> 00:17:56,510 na kuwa na rundo zima la pembejeo kupimwa, hii bila ya shaka kuongeza hadi. 400 00:17:56,510 --> 00:18:00,310 Na kama sisi alikuwa seti hata kubwa data, hii, pia, itakuwa kuongeza hadi wote zaidi. 401 00:18:00,310 --> 00:18:04,820 Hivyo ndiyo, kulipa baadhi ya bei ya kasi ni kweli kesi. 402 00:18:04,820 --> 00:18:05,470 Nini kingine? 403 00:18:05,470 --> 00:18:08,000 404 00:18:08,000 --> 00:18:08,860 Yeah? 405 00:18:08,860 --> 00:18:10,340 >> STUDENT: Kiasi cha RAM matumizi. 406 00:18:10,340 --> 00:18:11,756 >> DAVID J. Malan: Kiasi cha RAM matumizi. 407 00:18:11,756 --> 00:18:15,380 Hivyo mimi hakutoa moja ya pili walidhani wakati wa kuandika PHP hii 408 00:18:15,380 --> 00:18:17,300 toleo kama kwa kiasi gani kumbukumbu nilikuwa kutumia. 409 00:18:17,300 --> 00:18:22,080 Mimi kabisa deferring kwamba kwa PHP yenyewe na mtu aliandika mpango kwamba. 410 00:18:22,080 --> 00:18:24,500 Na kwamba wanaweza kuwa sawa, lakini kama mimi kweli kweli 411 00:18:24,500 --> 00:18:28,420 huduma kuhusu kufinya utendaji kama kiasi nje ya mpango wangu au nje ya tovuti yangu 412 00:18:28,420 --> 00:18:31,150 au nje ya chochote chombo Mimi kujenga, labda 413 00:18:31,150 --> 00:18:33,310 PHP, kwa kweli, sio lugha ya haki. 414 00:18:33,310 --> 00:18:36,330 >> Na kwa kweli, kwamba ni kwa nini, kwa mfano, wengi mtandao servers-- 415 00:18:36,330 --> 00:18:38,980 mipango halisi kwamba kumtumikia up mtandao content-- 416 00:18:38,980 --> 00:18:41,810 hazikuandikwa katika PHP au katika chatu au Ruby. 417 00:18:41,810 --> 00:18:44,630 Yameandikwa, kama utasikia sasa kufanya na pset 6, 418 00:18:44,630 --> 00:18:48,120 katika C ili uweze itapunguza kila kidogo ya utendaji nje yake 419 00:18:48,120 --> 00:18:50,780 na kwa kweli zoezi kudhibiti faini nafaka juu ya nini 420 00:18:50,780 --> 00:18:52,980 kinachoendelea chini kofia na si tu kuchukua 421 00:18:52,980 --> 00:18:54,890 kwa nafasi baadhi ya juu data kiwango muundo. 422 00:18:54,890 --> 00:18:58,071 >> Fikiria, baada ya yote, yeyote katika PHP kutekelezwa 423 00:18:58,071 --> 00:19:00,070 kwamba dhana ya hash table-- ni kweli zaidi 424 00:19:00,070 --> 00:19:04,260 vizuri aitwaye array-- associative anafanya yeye au yeye kuwa na wazo lolote nini aina 425 00:19:04,260 --> 00:19:07,090 wa pembejeo wewe ni kwenda kuwa kuweka katika muundo? 426 00:19:07,090 --> 00:19:08,260 Hivyo ni wazi si, haki? 427 00:19:08,260 --> 00:19:10,340 Ni chombo generiska katika toolkit kwamba 428 00:19:10,340 --> 00:19:13,430 zinazotolewa kwa mtu yeyote ambaye anataka kuitumia, na hivyo hakika ni 429 00:19:13,430 --> 00:19:17,680 haiwezi optimized hatimaye kwa nini hasa unataka kufanya. 430 00:19:17,680 --> 00:19:21,180 >> Hivyo biashara-offs-- maendeleo wakati nguvu tofauti, utendaji wanaweza kutofautiana, 431 00:19:21,180 --> 00:19:23,120 utata au matumizi ya kumbukumbu inaweza kutofautiana. 432 00:19:23,120 --> 00:19:24,820 Na hivyo kile utapata inazidi ni kwamba kuna 433 00:19:24,820 --> 00:19:26,570 kwenda kuwa tofauti zana kwa ajili ya biashara. 434 00:19:26,570 --> 00:19:31,160 Na kwa kweli kwa ajili ya wengi super ya watu miradi ya mwisho katika darasa hili, 435 00:19:31,160 --> 00:19:34,360 amini au si, C si kwenda kuwa lugha ya haki ya kutumia. 436 00:19:34,360 --> 00:19:37,880 >> Na kwa kweli, moja ya takeaways hatimaye kwa ajili ya darasa yoyote kama hii 437 00:19:37,880 --> 00:19:40,510 ni kupata wewe kufikiria juu, vizuri, unapaswa kuvuta mbali 438 00:19:40,510 --> 00:19:42,710 rafu wakati unataka kutatua baadhi ya tatizo. 439 00:19:42,710 --> 00:19:46,720 Na kwa kweli, tutaweza kuvuka daraja hii hata zaidi kama sisi kuangalia lugha zaidi 440 00:19:46,720 --> 00:19:47,920 hata zaidi ya leo. 441 00:19:47,920 --> 00:19:50,530 >> Basi hebu mpito sasa kwa labda mazingira zaidi ya ukoo 442 00:19:50,530 --> 00:19:52,480 kwa kutumia lugha kama PHP. 443 00:19:52,480 --> 00:19:56,720 Ni kwa kiasi fulani ya kawaida ya kutumia katika mstari amri, kuandika scripts 444 00:19:56,720 --> 00:19:59,050 kama mimi, lakini ni kiasi, zaidi ya kawaida. 445 00:19:59,050 --> 00:20:02,350 Na ilikuwa nia ya kutumika katika aina ya mafaili kwamba kwa kawaida mwisho 446 00:20:02,350 --> 00:20:05,060 katika .php-- lakini hiyo ni si prerequisite-- 447 00:20:05,060 --> 00:20:07,990 kwamba wao wenyewe kuzalisha bidhaa za mtandao. 448 00:20:07,990 --> 00:20:11,310 >> Hivyo basi mimi kwenda mbele na kufungua chache Mifano mimi tayari mapema. 449 00:20:11,310 --> 00:20:15,100 Na hayo ni kweli aina ya kweli hadithi katika kuwa moja ya mambo ya kwanza 450 00:20:15,100 --> 00:20:18,200 Niliyotenda mwenyewe baada ya kumaliza CS50 na labda, nadhani, 451 00:20:18,200 --> 00:20:21,350 CS51 miaka iliyopita ni yangu roommate na mimi walikuwa kusaidia 452 00:20:21,350 --> 00:20:24,320 kuendesha Freshman intramural mpango michezo, ambayo, wakati huo, 453 00:20:24,320 --> 00:20:28,610 alikuwa freshman kusajili kwa mbalimbali michezo kwa kujaza kipande cha karatasi, 454 00:20:28,610 --> 00:20:31,800 kama ilikuwa inaitwa, kutembea hela yadi ya Wigglesworth, 455 00:20:31,800 --> 00:20:34,030 na kuacha ni katika baadhi ya mlango tone mwangalizi ya. 456 00:20:34,030 --> 00:20:37,210 Na kisha yeye au yeye aliamua kwenda kupitia yao na kisha kweli email sisi manually 457 00:20:37,210 --> 00:20:39,140 kwamba sisi ilisajiliwa kwa baadhi ya mchezo. 458 00:20:39,140 --> 00:20:41,166 >> Hivyo ni wazi, nafasi kwa ajili ya kuboresha. 459 00:20:41,166 --> 00:20:44,040 Siku hizi, unaweza kugeuka tu Aina ya Google, lakini nyuma katika siku, 460 00:20:44,040 --> 00:20:46,914 tulikuwa na kweli kufikia for-- hii ilikuwa hata kwamba kwa muda mrefu ago-- kufikia 461 00:20:46,914 --> 00:20:49,410 kwa ajili ya programu lugha ambayo ilikuwa si PHP. 462 00:20:49,410 --> 00:20:51,200 Wakati huo, ilikuwa kitu kinachoitwa Perl, 463 00:20:51,200 --> 00:20:52,890 ambayo ina wamekwenda nje ya Vogue tangu. 464 00:20:52,890 --> 00:20:54,160 Lakini wazo ni sawa. 465 00:20:54,160 --> 00:20:58,940 >> Na mimi kimsingi waliketi kujaribu bandari huenda matoleo Perl PHP kwa, 466 00:20:58,940 --> 00:21:03,710 lakini katika Kanusho kamili, hakutoa yoyote walidhani aesthetics bado tu. 467 00:21:03,710 --> 00:21:04,960 Hivyo hapa ni ukurasa wa mtandao. 468 00:21:04,960 --> 00:21:05,670 Hii ni faili. 469 00:21:05,670 --> 00:21:09,470 Kama mimi kuvuta, inaonekana wake aitwaye froshim0.php 470 00:21:09,470 --> 00:21:12,060 tu kwa sababu ni yetu kwanza mfano katika mfululizo huu. 471 00:21:12,060 --> 00:21:15,970 Na taarifa kwamba ina nini inaonekana kuwa mbaya sana HTML fomu, 472 00:21:15,970 --> 00:21:18,680 lakini aina ya kuvutia kwa sababu inaruhusu 473 00:21:18,680 --> 00:21:21,910 mimi kutoa pembejeo user kwa browser. 474 00:21:21,910 --> 00:21:27,730 >> Sasa mara ya mwisho wakati tulikuwa fomu, kwa ambaye alifanya sisi kuwasilisha swala parameter yetu, 475 00:21:27,730 --> 00:21:30,450 parameter foleni kama ilikuwa inaitwa? 476 00:21:30,450 --> 00:21:31,330 Hivyo Google, haki? 477 00:21:31,330 --> 00:21:34,090 Sisi kabisa punted juu ya wazo la kufanya kitu chochote na pembejeo kwamba. 478 00:21:34,090 --> 00:21:36,160 >> Lakini leo, sisi kuanza kuzalisha pato. 479 00:21:36,160 --> 00:21:39,420 Na tabia mimi nina kwenda kuona hapa awali ni pretty yasiyo na maana. 480 00:21:39,420 --> 00:21:42,980 David, mimi itabidi kuangalia mbali jinsia hapa, wanasema Matthews hapa. 481 00:21:42,980 --> 00:21:43,800 Sitakuwa nahodha. 482 00:21:43,800 --> 00:21:45,410 Mimi nina kwenda bonyeza Daftari. 483 00:21:45,410 --> 00:21:50,720 Na taarifa kwamba URL ina iliyopita kujiandikisha-0.php, 484 00:21:50,720 --> 00:21:52,310 na kisha kuna hii Nakala mbaya hapa. 485 00:21:52,310 --> 00:21:54,460 Mimi alitoa hakuna mawazo kwa formatting ya hii. 486 00:21:54,460 --> 00:21:59,900 >> Lakini nini ni ya kuvutia ni kwamba tatu maadili walikuwa inaonekana kupita katika. 487 00:21:59,900 --> 00:22:02,960 Hii ni aina PHP ya sawa na printf-- 488 00:22:02,960 --> 00:22:06,330 tutaweza kuona nini ni kweli aitwaye katika bit-- kwamba tu Prints nje 489 00:22:06,330 --> 00:22:08,300 nini kupita ndani yake. 490 00:22:08,300 --> 00:22:11,414 Hivyo hii inaonyesha kwamba fomu alikuwa mashamba angalau tatu kwa hiyo, 491 00:22:11,414 --> 00:22:12,580 na wewe kuona mimi aina yao katika. 492 00:22:12,580 --> 00:22:15,739 Mmoja alikuwa jina langu, mmoja alikuwa jinsia, moja ilikuwa mabweni. 493 00:22:15,739 --> 00:22:18,780 Na nahodha hawakuwa hata kupata alimtuma server kwa sababu mimi si kuangalia ni. 494 00:22:18,780 --> 00:22:22,150 >> Hivyo hii ni kusema inaonekana, wakati kuwasilisha mambo kwenye mtandao, 495 00:22:22,150 --> 00:22:26,830 si tu gani URL wakati mwingine change-- wakati mwingine hana. 496 00:22:26,830 --> 00:22:30,330 Kwa kweli, jina la faili iliyopita, lakini nini ni watoro kutoka URL 497 00:22:30,330 --> 00:22:32,861 kwamba sisi alifanya kuona mara ya mwisho na Google. 498 00:22:32,861 --> 00:22:33,360 Yeah? 499 00:22:33,360 --> 00:22:34,380 >> STUDENT: Hakuna kamba swala 500 00:22:34,380 --> 00:22:35,220 >> DAVID J. Malan: Hakuna kamba swala. 501 00:22:35,220 --> 00:22:37,270 Hakuna swali alama fulani. 502 00:22:37,270 --> 00:22:40,050 Hakuna swali alama q sawa paka, kama tulivyofanya mara ya mwisho. 503 00:22:40,050 --> 00:22:42,170 Na kuna hakika hakuna jina swali alama sawa 504 00:22:42,170 --> 00:22:46,310 David au Dorm sawa Matthews, hivyo ambapo ni kwamba wote kwenda? 505 00:22:46,310 --> 00:22:51,290 >> Naam, napenda kwenda nyuma gedit hapa na kufungua ya kwanza ya mafaili wale 506 00:22:51,290 --> 00:22:57,020 katika vhost yangu, mwenyeji wa ndani, umma directory hapa na kwenda katika froshim0. 507 00:22:57,020 --> 00:23:02,060 Hivyo ni zamu nje kwamba karibu yote ya ukurasa hii ni HTML. 508 00:23:02,060 --> 00:23:05,410 Na hii hazijulikani na wewe, lakini hivi karibuni itakuwa zaidi na pset 6 509 00:23:05,410 --> 00:23:07,370 na pset 7 na pset 8. 510 00:23:07,370 --> 00:23:09,160 Lakini hii ni tu ukurasa HTML. 511 00:23:09,160 --> 00:23:12,400 >> Na mambo ya kuvutia inaonekana kuwa zaidi ya hapa. 512 00:23:12,400 --> 00:23:16,290 tag fomu ambaye hatua sifa ina thamani ya kujiandikisha 0. 513 00:23:16,290 --> 00:23:18,890 Hiyo ni kwa nini wakati mimi kuwasilisha hii, unaendelea na faili hilo. 514 00:23:18,890 --> 00:23:20,620 Lakini mbinu ni tofauti today-- baada. 515 00:23:20,620 --> 00:23:23,120 Hivyo ni zamu nje kuna angalau njia mbili kwenye mtandao kutumika 516 00:23:23,120 --> 00:23:24,911 kutuma habari kutoka browser server. 517 00:23:24,911 --> 00:23:25,980 Kupata kuiweka katika URL. 518 00:23:25,980 --> 00:23:27,950 Baada kuiweka mahali pengine. 519 00:23:27,950 --> 00:23:30,570 Na wakati na kwa nini huenda you kweli unataka tovuti 520 00:23:30,570 --> 00:23:34,110 kutumia baada basi badala ya kupata, tu intuitively? 521 00:23:34,110 --> 00:23:37,080 Tovuti yoyote. 522 00:23:37,080 --> 00:23:42,010 Ni aina gani ya data lazima kupita tu na inference sasa kupitia baada kinyume 523 00:23:42,010 --> 00:23:45,184 kupata, kama tumeona tofauti mbili? 524 00:23:45,184 --> 00:23:46,350 STUDENT: [inaudible] salama. 525 00:23:46,350 --> 00:23:47,790 DAVID J. Malan: Kama unataka kitu kuwa salama. 526 00:23:47,790 --> 00:23:50,360 Hivyo unaweza aina nywila ndani ya tovuti, kadi 527 00:23:50,360 --> 00:23:53,030 katika tovuti ingekuwa aina ya haya suboptimal 528 00:23:53,030 --> 00:23:56,220 kama browser kuweka kwamba thamani ndani ya URL. 529 00:23:56,220 --> 00:23:57,680 Kwa nini? 530 00:23:57,680 --> 00:24:00,059 Unaweza kuona ni, ambayo haina kuonekana kuwa kama mpango kubwa, 531 00:24:00,059 --> 00:24:03,350 lakini ni tabia mbaya wewe pretty mara nyingi kutembea mbali na kompyuta au matumizi yako ya kompyuta 532 00:24:03,350 --> 00:24:05,310 maabara, na hivyo mtu mwingine au hata roommate 533 00:24:05,310 --> 00:24:08,220 wangeweza kutembea juu na kuona kwamba habari binafsi. 534 00:24:08,220 --> 00:24:10,220 Wakati kutuma barua pepe kupitia mtandao, pengine 535 00:24:10,220 --> 00:24:12,350 hawataki data kwamba mwisho up katika URL kama vizuri. 536 00:24:12,350 --> 00:24:15,266 Na hivyo kuna idadi yoyote ya sababu nini sisi kutaka kuiweka hapa. 537 00:24:15,266 --> 00:24:18,610 Na photos-- haki, siwezi hata kabisa kufikiria jinsi ungependa kuchukua mchoro, 538 00:24:18,610 --> 00:24:21,480 kama JPEG, na kuiweka katika URL. 539 00:24:21,480 --> 00:24:22,330 Unaweza kufanya hivyo. 540 00:24:22,330 --> 00:24:25,840 Kuna njia ya encoding yake, lakini ni si tu moja kwa moja kama hiyo. 541 00:24:25,840 --> 00:24:29,030 >> Hivyo kujiandikisha 0 ni kweli aghali sana. 542 00:24:29,030 --> 00:24:31,610 Wote ni anasema halisi ni hii. 543 00:24:31,610 --> 00:24:35,910 Ni Prints nje ndani ya baadhi ya HTML yafuatayo. 544 00:24:35,910 --> 00:24:38,640 Mimi nimepata PHP tag hapa Furushi ndani ya tag kabla. 545 00:24:38,640 --> 00:24:42,300 "Kabla" tu ina maana maandishi kabla ya formatted, mono-spaced, kama typewriter. 546 00:24:42,300 --> 00:24:44,836 >> Printr ni magazeti kujirudia kazi. 547 00:24:44,836 --> 00:24:46,710 Na kisha kuna hii kuvutia kitu hapa. 548 00:24:46,710 --> 00:24:48,835 Na tutaweza kuja nyuma hii kwa sababu kuna wengine, 549 00:24:48,835 --> 00:24:51,140 lakini ishara ya dola underscore baada inaonekana kuwa 550 00:24:51,140 --> 00:24:56,110 kutofautiana katika PHP ambayo chochote kutuma kutoka browser server 551 00:24:56,110 --> 00:24:58,040 anapata kuhifadhiwa kwa ajili yenu. 552 00:24:58,040 --> 00:25:00,930 Na tutaweza kuona jinsi ya kupata katika kwamba habari kabla ya muda mrefu. 553 00:25:00,930 --> 00:25:04,000 >> Lakini kwanza, hebu kwenda nyuma mfano tofauti kidogo. 554 00:25:04,000 --> 00:25:09,050 Kwenda katika register-- au badala yake, froshims1.php, 555 00:25:09,050 --> 00:25:10,470 ambayo inaonekana tofauti kidogo. 556 00:25:10,470 --> 00:25:12,670 Mimi alichukua zaidi kidogo juhudi na formatting, 557 00:25:12,670 --> 00:25:14,370 ingawa bado ni pretty mbaya. 558 00:25:14,370 --> 00:25:16,990 Lakini mimi nina kwenda mbele na aina katika "David" sasa. 559 00:25:16,990 --> 00:25:17,850 Kiume. 560 00:25:17,850 --> 00:25:19,360 Tutaweza kuangalia "nahodha" wakati huu. 561 00:25:19,360 --> 00:25:20,660 Tutaweza kufanya Matthews. 562 00:25:20,660 --> 00:25:22,430 Na kujiandikisha. 563 00:25:22,430 --> 00:25:24,110 >> Na wakati huu inasema, hm, si kweli. 564 00:25:24,110 --> 00:25:26,180 Haki wote, hivyo nini ya kusajili 1? 565 00:25:26,180 --> 00:25:30,509 Napenda kwenda katika daftari wazi 1 and-- hm. 566 00:25:30,509 --> 00:25:32,300 Haki zote, hivyo hii ni kuvutia, na hii 567 00:25:32,300 --> 00:25:34,880 ni jiwe wanazidi sasa kuelekea mipango zaidi ya kuvutia. 568 00:25:34,880 --> 00:25:38,970 >> Taarifa juu ya faili hii ina PHP tag kama vile baadhi ya maoni. 569 00:25:38,970 --> 00:25:42,590 Na hayo ni, kwa sasa, ovyo hivyo hebu tu kujikwamua maoni hayo 570 00:25:42,590 --> 00:25:47,070 kama wao uko katika C. Na mimi kudai na chunk hii ya kificho na maoni 571 00:25:47,070 --> 00:25:49,280 kwamba kanuni hii ni kuthibitisha kuwasilisha. 572 00:25:49,280 --> 00:25:51,690 >> Naam, ni zamu nje kwamba vigezo kama ishara ya dola 573 00:25:51,690 --> 00:25:53,739 kusisitiza baada ni aitwaye globals super. 574 00:25:53,739 --> 00:25:55,530 Wao ni kama haya vigezo maalum ya kimataifa 575 00:25:55,530 --> 00:25:58,840 kwamba ni tu Omni-sasa inapatikana ndani ya programu yako. 576 00:25:58,840 --> 00:26:03,870 Na unaweza kutumia mraba bracket nukuu index ndani yao si kwa kutumia namba 577 00:26:03,870 --> 00:26:07,460 kama 0, 1, 2, 3, lakini maneno halisi. 578 00:26:07,460 --> 00:26:12,100 >> Hivyo unaweza kufikiria ishara ya dola kusisitiza baada kama aina ya meza hash 579 00:26:12,100 --> 00:26:15,920 kwamba unaweza kupita muhimu katika, Luke neno katika-kati ya mabano mraba, 580 00:26:15,920 --> 00:26:19,370 na ni kwenda kukupa nyuma thamani kwamba mtumiaji kweli zinazotolewa. 581 00:26:19,370 --> 00:26:21,210 PHP ina kazi aitwaye tupu kwamba tu 582 00:26:21,210 --> 00:26:23,720 anasema ndiyo au hapana, hii kutofautiana ni tupu au si. 583 00:26:23,720 --> 00:26:27,250 Tuna baa hizi mbili, ambayo tu ina maana au, kama katika C. 584 00:26:27,250 --> 00:26:31,740 >> Hivyo katika athari, mstari huu ni tu 4 akisema kama mtumiaji hakutoa jina 585 00:26:31,740 --> 00:26:36,540 au hakutoa jinsia au hakuwa kutoa Dorm, kwenda mbele na kuelekeza naye 586 00:26:36,540 --> 00:26:38,184 au wake kupitia mstari huu hapa. 587 00:26:38,184 --> 00:26:40,600 Hivyo hii ni kidogo cryptic, lakini hii ina maana tu halisi 588 00:26:40,600 --> 00:26:43,330 kwenda nyuma ya eneo hilo, hivyo punts user 589 00:26:43,330 --> 00:26:45,420 nyuma popote yeye au yeye alikuja kutoka. 590 00:26:45,420 --> 00:26:47,880 Lakini ni inelegant kidogo katika kwamba mimi ngumu coded hivyo. 591 00:26:47,880 --> 00:26:52,150 >> Lakini nini kama hii kama hali haina kutathmini kwa kweli? 592 00:26:52,150 --> 00:26:55,790 Nini kama user hakuwa nipe yake au jina yake na Dorm na jinsia? 593 00:26:55,790 --> 00:26:58,540 Kwamba kama hali si kwenda kutathmini kwa kweli, 594 00:26:58,540 --> 00:27:00,650 hivyo mimi si hit exit katika mstari 7. 595 00:27:00,650 --> 00:27:01,680 Hivyo kile kinachotokea? 596 00:27:01,680 --> 00:27:03,880 Na hii ni nini kuvutia kuhusu PHP. 597 00:27:03,880 --> 00:27:07,470 >> Unaweza kuacha ndani na nje ya PHP mode, hivyo kusema. 598 00:27:07,470 --> 00:27:10,985 Kama unataka baadhi ya kanuni na nitafanya, unaweza kufungua na kufunga PHP tag 599 00:27:10,985 --> 00:27:13,010 na kuweka kificho huko kama mimi tumefanya hapa. 600 00:27:13,010 --> 00:27:16,810 Haraka kama wewe karibu PHP tag, server 601 00:27:16,810 --> 00:27:19,407 ni kwenda tu mate nje chochote kuweka huko. 602 00:27:19,407 --> 00:27:21,740 Na kwa kweli, hii ni sehemu ya mpango wa awali wa PHP, 603 00:27:21,740 --> 00:27:25,280 kwa ajili ya bora kwa mbaya, ilikuwa hii commingling ya kificho na ghafi 604 00:27:25,280 --> 00:27:25,920 lugha. 605 00:27:25,920 --> 00:27:28,670 Na tutaweza kuona kwamba hii sana haraka warithi katika fujo. 606 00:27:28,670 --> 00:27:31,280 Na hivyo tutaweza kufanya vizuri zaidi kuliko hii hatimaye, lakini tu 607 00:27:31,280 --> 00:27:35,620 taarifa urahisi na ambayo nina kweli uwezo wa kutekeleza baadhi ya mantiki. 608 00:27:35,620 --> 00:27:37,440 >> Lakini bado kidogo aghali. 609 00:27:37,440 --> 00:27:41,210 Hebu kufungua toleo mbili ya Frosh IMS, ambayo 610 00:27:41,210 --> 00:27:44,270 inaonekana elekeza kwa register2.php. 611 00:27:44,270 --> 00:27:47,600 Hivyo faili hili hasa kinachoendelea kuangalia karibu sawa. 612 00:27:47,600 --> 00:27:50,780 Mimi nina kwenda kwa Frosh IMS 2. 613 00:27:50,780 --> 00:27:53,050 Lakini katika Frosh IMS 2, hebu angalia nini kinatokea. 614 00:27:53,050 --> 00:27:58,110 >> David, bonyeza kifungo redio, kama ni kuitwa, Matthews, hakuna nahodha. 615 00:27:58,110 --> 00:27:59,230 Kujiandikisha. 616 00:27:59,230 --> 00:28:00,130 Wewe ni kusajiliwa. 617 00:28:00,130 --> 00:28:00,700 Si kweli. 618 00:28:00,700 --> 00:28:02,574 Oh kusubiri, sisi tu alifanya mfano kwamba, hawakuwa sisi? 619 00:28:02,574 --> 00:28:04,520 Haki wote, kusimama kwa. 620 00:28:04,520 --> 00:28:06,602 Tutaweza kufanya tatu. 621 00:28:06,602 --> 00:28:08,560 Wazi kitu kuhusu kutokea kwa Gmail. 622 00:28:08,560 --> 00:28:09,600 Tutaweza kupata huko. 623 00:28:09,600 --> 00:28:11,900 >> Hivyo Frosh IMS 3 inaonekana kama hii. 624 00:28:11,900 --> 00:28:13,050 Hakuna tofauti. 625 00:28:13,050 --> 00:28:19,850 Lakini wakati mimi kufanya Daudi, kiume, Matthews, na kujiandikisha, hili toleo la tatu na ya mwisho 626 00:28:19,850 --> 00:28:22,230 madai, kwa urahisi kabisa, wewe wameandikishwa kweli. 627 00:28:22,230 --> 00:28:23,560 Hiyo ni aina ya halina maana yoyote. 628 00:28:23,560 --> 00:28:25,600 Lakini mimi kudai na hii tatu na ya mwisho ya toleo 629 00:28:25,600 --> 00:28:30,610 Mimi sasa recreated nini hasa wangu roommate na mimi kujengwa kwa IMS Frosh 630 00:28:30,610 --> 00:28:31,731 mpango wa miaka iliyopita. 631 00:28:31,731 --> 00:28:32,480 Na ilikuwa rahisi. 632 00:28:32,480 --> 00:28:34,330 Kulikuwa hakuna database, hakuna spreadsheet Excel. 633 00:28:34,330 --> 00:28:36,450 Lakini muhimu zaidi, kulikuwa hakuna karatasi zaidi 634 00:28:36,450 --> 00:28:42,520 kwa sababu kile sisi alivyofanya kwa mpango huu ilikuwa kweli email mwangalizi, ambaye 635 00:28:42,520 --> 00:28:44,530 hapo awali ilikuwa ya kupokea mambo haya kupitia fomu. 636 00:28:44,530 --> 00:28:48,890 >> Na inaonekana tumekuwa iliyowekwa hii katika kama njia kwamba wakati mtu madaftari, 637 00:28:48,890 --> 00:28:52,470 Barua pepe akaunti John Harvard proctor-- au mwenyewe katika kesi hii, 638 00:28:52,470 --> 00:28:55,960 John Harvard-- na yafuatayo text-- "Huyu mtu waliojiandikisha tu." 639 00:28:55,960 --> 00:29:00,560 Jina ni David, nahodha ni tupu, jinsia, kiume, na Dorm, Matthews. 640 00:29:00,560 --> 00:29:01,560 >> Hivyo kile kilichotokea huko? 641 00:29:01,560 --> 00:29:05,360 Naam, faili katika swali hapa ni inaonekana register3.php. 642 00:29:05,360 --> 00:29:09,080 Na kama mimi kufungua hili, utaona wote nguvu ya kificho kama hii 643 00:29:09,080 --> 00:29:12,380 na pia, kusema ukweli, ukosefu wa usalama mfumo kama email. 644 00:29:12,380 --> 00:29:16,290 Mimi ufanisi tu akadai kuwa John Harvard katika njia zifuatazo. 645 00:29:16,290 --> 00:29:20,920 >> Nina wazi php tag juu juu, ambayo tu anasema inakuja baadhi ya kanuni PHP. 646 00:29:20,920 --> 00:29:23,155 Chini hapa, anarudi huko nje ni maktaba katika PHP. 647 00:29:23,155 --> 00:29:26,410 Wewe tu hawana haja ya pamoja mafaili header kama mengi. 648 00:29:26,410 --> 00:29:28,900 Kupata zaidi na kuzama jikoni, hivyo kusema. 649 00:29:28,900 --> 00:29:31,820 >> Lakini wakati huu katika mstari 4, mimi kufanya wanataka maktaba maalum iitwayo 650 00:29:31,820 --> 00:29:36,087 PHP mailer, ambayo ni kitu Unaweza kufunga kwa ajili ya bure katika mifumo mingi. 651 00:29:36,087 --> 00:29:37,920 Chini hapa mimi nina kuthibitisha kuwasilisha tu 652 00:29:37,920 --> 00:29:40,540 kwa kuangalia hakuwa user kutoa mimi jina, jinsia, na Dorm. 653 00:29:40,540 --> 00:29:44,130 Na kama hivyo, kwenda mbele na instantiate mailer. 654 00:29:44,130 --> 00:29:47,020 >> Unaweza kufikiri ya hii kama kuwa mstari wa kanuni kwamba tu kutenga. 655 00:29:47,020 --> 00:29:48,950 Ni kama malloc, lakini ni sexier kidogo 656 00:29:48,950 --> 00:29:51,790 katika kwamba wewe kutaja sio tu malloc na baadhi ya idadi ya leseni. 657 00:29:51,790 --> 00:29:55,030 Unaweza kusema nipe moja ya hizi, nipe mpya mmoja wa haya. 658 00:29:55,030 --> 00:29:57,950 >> Na kama wameweza iliyowekwa katika Java au C ++ au lugha nyingine, 659 00:29:57,950 --> 00:29:59,130 unaweza kuwa na kuonekana huu. 660 00:29:59,130 --> 00:30:01,840 Lakini fupi ya hayo, kama usio wa kawaida, mstari huu 661 00:30:01,840 --> 00:30:05,410 unaweka katika ishara ya dola pepe struct maalum iitwayo 662 00:30:05,410 --> 00:30:08,731 kitu kwamba ina kujengwa katika email utendaji. 663 00:30:08,731 --> 00:30:10,355 Na kwa kweli, taarifa na syntax sawa. 664 00:30:10,355 --> 00:30:11,900 >> Hii si pointer, per se. 665 00:30:11,900 --> 00:30:13,990 PHP tu anatumia syntax huo. 666 00:30:13,990 --> 00:30:17,660 Mpya Hii ni kusema matumizi SMTP-- rahisi Mail Transfer 667 00:30:17,660 --> 00:30:20,900 Itifaki, ambayo ni tu itifaki kutumika kwa kutuma barua. 668 00:30:20,900 --> 00:30:24,240 Hii ni kufafanua matumizi Harvard SMTP server, ambayo 669 00:30:24,240 --> 00:30:25,830 ni mahali fulani hapa juu ya chuo. 670 00:30:25,830 --> 00:30:28,480 >> Hii ni kusema nini TCP bandari idadi kuzungumza, 671 00:30:28,480 --> 00:30:31,650 na mimi tu figured kwamba nje kwa googling au kwa kuuliza msaada dawati. 672 00:30:31,650 --> 00:30:34,640 Na kisha kwa sababu Harvard anatumia baadhi mfumo wa usalama juu ya barua server-- 673 00:30:34,640 --> 00:30:37,060 angalau encrypt trafiki kati ya wewe na hilo, 674 00:30:37,060 --> 00:30:41,380 ingawa mtu yeyote anaweza kutuma kwa it-- Mimi nina kwenda kurejea kwenye TLS itifaki 675 00:30:41,380 --> 00:30:42,710 kwa ajili ya kuweka huu salama. 676 00:30:42,710 --> 00:30:44,730 >> Lakini hii ni ambapo mambo kupata kidogo inatisha. 677 00:30:44,730 --> 00:30:47,970 Naweza tu kiholela kusema kwamba mimi jharvard, 678 00:30:47,970 --> 00:30:51,930 na naweza tu kiholela email yangu hapa. 679 00:30:51,930 --> 00:30:55,650 Na kisha naweza kutaja somo na mstari huu hapa. 680 00:30:55,650 --> 00:30:58,460 >> Na hii tu inaonekana mbaya, lakini ni tu rundo la concatenation. 681 00:30:58,460 --> 00:31:04,480 Anarudi nje PHP ina ishara super muhimu, kama baadhi ya lugha, dot operator, 682 00:31:04,480 --> 00:31:07,340 ambayo tu halisi concatenates kamba baada ya kamba baada ya kamba, 683 00:31:07,340 --> 00:31:09,810 na wewe huna malloc au takwimu nje urefu wa jumla ya kamba. 684 00:31:09,810 --> 00:31:10,820 Wewe tu kufanya hivyo. 685 00:31:10,820 --> 00:31:15,220 Na kwa kweli, kwa sababu mimi nina concatenating katika mambo yote haya na dots haya, 686 00:31:15,220 --> 00:31:18,330 kwamba ni kwa nini email mimi alimtuma inaonekana kama ilivyokuwa. 687 00:31:18,330 --> 00:31:20,610 >> Na kisha mwisho hapa, mimi nina kutuma barua. 688 00:31:20,610 --> 00:31:22,580 Hivyo kama hii ni ya uongo, Mimi tu kwenda kufa, 689 00:31:22,580 --> 00:31:25,680 ambayo ni kazi ambayo tu prints screen baadhi ya ujumbe wa makosa. 690 00:31:25,680 --> 00:31:29,170 Lakini ni, kwa kweli, wito kutuma kazi. 691 00:31:29,170 --> 00:31:31,780 Vinginevyo, kama haya yote inashindwa, ni maelekezo yangu nyuma hapa. 692 00:31:31,780 --> 00:31:34,050 >> Na kwa nini mimi kuona kwamba Mimi kusajiliwa kweli? 693 00:31:34,050 --> 00:31:36,110 Naam, kilichotokea hapa hapa. 694 00:31:36,110 --> 00:31:38,170 Hivyo mimi kuleta hii up kwa michache ya sababu. 695 00:31:38,170 --> 00:31:41,542 >> Moja, hii ni hasa jinsi kama kujenga baadhi ya tovuti kwa ajili ya mradi wa mwisho 696 00:31:41,542 --> 00:31:44,000 au kwa ulimwengu wa kweli, hii ni jinsi ya kutuma kuwakumbusha email 697 00:31:44,000 --> 00:31:45,924 kwa wateja yako au wateja wako. 698 00:31:45,924 --> 00:31:47,590 Hii ni jinsi gani kutuma kuwakumbusha password. 699 00:31:47,590 --> 00:31:50,760 Hii ni jinsi gani kutuma ujumbe watu kwamba wana Facebook mpya 700 00:31:50,760 --> 00:31:52,990 ujumbe inasubiri au kitu kama hicho. 701 00:31:52,990 --> 00:31:55,010 >> Lakini pia anaongea na ukweli kwamba hii inaweza 702 00:31:55,010 --> 00:31:58,160 wamekuwa vizuri sana kutoka Davin au mtu mwingine. 703 00:31:58,160 --> 00:32:00,567 Na mimi kusema aina hii ya na tabasamu kwa sababu mimi nina 704 00:32:00,567 --> 00:32:03,400 uhakika kabisa nini kinaendelea kupitia kadhaa ya akili yako katika hatua hii. 705 00:32:03,400 --> 00:32:11,910 Lakini hii ni moja ya wale kufanya kama mimi kusema, si kama mimi kufanya aina ya mambo, 706 00:32:11,910 --> 00:32:14,480 sababu ni yasiyo na yazua barua pepe kama hii. 707 00:32:14,480 --> 00:32:16,480 Lakini kama unaweza tumeona au kusoma katika Crimson, 708 00:32:16,480 --> 00:32:18,271 wa marehemu pia ni pretty dogo kwa watu 709 00:32:18,271 --> 00:32:20,050 kufuatilia yao nyuma kwa baadhi ya asili. 710 00:32:20,050 --> 00:32:23,790 Na kuuliza mimi kwa muda fulani, labda katika CS50 chakula cha mchana, jinsi mimi kwanza 711 00:32:23,790 --> 00:32:27,080 got kujua kwa karibu sana karibu na bodi ya ed miaka mingi 712 00:32:27,080 --> 00:32:30,890 iliyopita wakati mimi aligundua jinsi biashara kazi. 713 00:32:30,890 --> 00:32:36,940 Hivyo katika yoyote case-- kidogo baada ya bodi ya ed alivyofanya. 714 00:32:36,940 --> 00:32:42,300 >> Hivyo katika kesi yoyote, kuna rundo zima la globals super, 715 00:32:42,300 --> 00:32:45,960 kama wao ni kuitwa hapa, moja ambayo sisi saw-- dola ishara underscore baada. 716 00:32:45,960 --> 00:32:49,530 Kuna mwenzake aitwaye kupata, ambayo ni ambapo mambo kutoka URL 717 00:32:49,530 --> 00:32:50,690 mwisho juu kwenda. 718 00:32:50,690 --> 00:32:54,051 Na kuna rundo zima la watu wengine, kikao too-- na kompyuta na kuki. 719 00:32:54,051 --> 00:32:55,800 Tutaweza kuja nyuma Cookie baadhi ya wakati mwingine, 720 00:32:55,800 --> 00:33:01,340 lakini kikao ni aina ya baridi kwa sababu haki now-- hadi now-- 721 00:33:01,340 --> 00:33:06,350 kila kitu tumefanya na kivinjari ni aina ya uraia, hivyo kusema. 722 00:33:06,350 --> 00:33:10,060 Siwezi bonyeza kuzunguka, upatikanaji files kwenye server, kitu 723 00:33:10,060 --> 00:33:13,500 kinachotokea kwenye screen, lakini basi uhusiano kufunga. 724 00:33:13,500 --> 00:33:17,450 Explorer Internet au Firefox icon ataacha inazunguka 725 00:33:17,450 --> 00:33:20,340 na wewe tu kuona nini kwamba ukurasa wa mtandao ina. 726 00:33:20,340 --> 00:33:23,530 >> Hivyo HTTP ni wasiokuwa na utaifa katika mara moja inafanya uhusiano, 727 00:33:23,530 --> 00:33:25,050 anapata baadhi ya data, hiyo ni yake. 728 00:33:25,050 --> 00:33:29,940 Hakuna uhusiano zaidi, tofauti na Skype, tofauti Facetime, tofauti Gchat, ambayo 729 00:33:29,940 --> 00:33:32,180 inao mara kwa mara uhusiano na server. 730 00:33:32,180 --> 00:33:34,650 mtandao ni kimsingi kukatika, ingawa tutaweza 731 00:33:34,650 --> 00:33:36,630 kuona kabla ya muda gani tunaweza kuiga mambo 732 00:33:36,630 --> 00:33:39,300 kama mazungumzo Facebook na Gchat, ambayo kudumisha illusion-- 733 00:33:39,300 --> 00:33:41,680 au kweli kufanya kudumisha uhusiano wa mara kwa mara kwa kutumia 734 00:33:41,680 --> 00:33:43,270 zaidi teknolojia ya kisasa. 735 00:33:43,270 --> 00:33:49,000 >> Lakini kama mimi kwenda, wanasema, counter.php, hii ni mfano mwingine rahisi, 736 00:33:49,000 --> 00:33:52,700 kama tutaweza kuona, kwamba sasa anadhani Nilitembelea tovuti zero wakati. 737 00:33:52,700 --> 00:33:56,790 Lakini kama mimi tu upya ukurasa, ni kwa namna fulani anajua nilikuwa hapa kabla. 738 00:33:56,790 --> 00:33:58,840 Kama mimi Reload tena, ni anajua nilikuwa hapa kabla. 739 00:33:58,840 --> 00:34:01,100 Na tena na tena na tena na tena. 740 00:34:01,100 --> 00:34:03,610 >> Hivyo kuna baadhi plus-plussing kinachoendelea, lakini taarifa 741 00:34:03,610 --> 00:34:07,090 kitu kidogo spins milele hivyo ufupi juu juu na kisha disconnects, 742 00:34:07,090 --> 00:34:11,179 hivyo si kama nina daima uhusiano na appliance yangu. 743 00:34:11,179 --> 00:34:16,929 Naam, kama mimi kwenda katika counter.php, taarifa jinsi rahisi ni. 744 00:34:16,929 --> 00:34:19,080 Mimi kwanza wito maalum kazi ambayo tutaweza karibuni 745 00:34:19,080 --> 00:34:21,513 kuanza kuchukua kwa nafasi aitwaye kikao kuanza. 746 00:34:21,513 --> 00:34:22,179 Kuanza kikao. 747 00:34:22,179 --> 00:34:25,095 >> Na kikao sasa ni itakuwa ndoo, kama ununuzi 748 00:34:25,095 --> 00:34:28,120 gari katika ambayo unaweza kuweka maadili na aina ya imani kama programu 749 00:34:28,120 --> 00:34:31,590 kwamba wao ni kwenda kuwa hapa wakati user kwamba huja back-- pili 750 00:34:31,590 --> 00:34:35,670 baadaye, saa baadaye, hata mwaka mmoja baadaye, hivyo muda mrefu kama yeye au yeye hana wazi 751 00:34:35,670 --> 00:34:37,602 kuki yao, kama tutaweza hatimaye kuona. 752 00:34:37,602 --> 00:34:39,310 Na sasa mimi tu An kama hali hapa. 753 00:34:39,310 --> 00:34:44,679 Hivyo kama ufunguo zifuatazo, aitwaye counter, ni kuweka ndani 754 00:34:44,679 --> 00:34:49,210 hii super global-- hash hii meza, kama wewe will-- aitwaye kikao, 755 00:34:49,210 --> 00:34:53,350 kisha kwenda mbele na kunyakua thamani kutoka kufikiri session-- 756 00:34:53,350 --> 00:34:55,250 ya hii kama ununuzi cart-- na kuhifadhi 757 00:34:55,250 --> 00:34:57,680 katika variable muda aitwaye kukabiliana. 758 00:34:57,680 --> 00:35:02,240 >> Vinginevyo, kama kwamba thamani ya kukabiliana na alikuwa si kuweka katika kinachojulikana gari ununuzi, 759 00:35:02,240 --> 00:35:04,430 tu initialize kwa 0. 760 00:35:04,430 --> 00:35:09,830 Mwisho, chini hapa, kwenda na kuweka nyuma ndani ya mikokoteni ununuzi au kikao 761 00:35:09,830 --> 00:35:13,000 thamani ya kukabiliana 1. 762 00:35:13,000 --> 00:35:16,730 Hivyo ni zamu nje kwamba hii maalum chombo here-- 763 00:35:16,730 --> 00:35:20,355 ambayo, tena, ni mmoja wa haya yanayohusiana arrays, safu kwamba unaweza index 764 00:35:20,355 --> 00:35:25,010 ndani ya maneno badala ya numbers-- likiendelea hata baada ya user huenda mbali. 765 00:35:25,010 --> 00:35:26,510 Tena, mimi itabidi kurudi ukurasa sasa. 766 00:35:26,510 --> 00:35:28,400 Imekuwa ni dakika au hivyo. 767 00:35:28,400 --> 00:35:31,300 Lakini anakumbuka kwamba nimekuwa hapa mara 19 kabla. 768 00:35:31,300 --> 00:35:32,740 Hii ni ziara yangu ya 20. 769 00:35:32,740 --> 00:35:36,560 >> Na hivyo hii ni kwenda kuwa muhimu kwa kutekeleza tovuti yoyote kwamba anakumbuka 770 00:35:36,560 --> 00:35:40,640 kwamba umeingia katika, kwamba kuweka kitu halisi katika ununuzi gari yako 771 00:35:40,640 --> 00:35:43,902 kununua au kwamba una baadhi ya idadi ya ujumbe inasubiri. 772 00:35:43,902 --> 00:35:45,610 Wakati wowote unataka kukumbuka habari, 773 00:35:45,610 --> 00:35:48,130 tutaweza kuona kwamba PHP, kama lugha nyingine kadhaa, 774 00:35:48,130 --> 00:35:53,640 hutoa sisi na udanganyifu huu wa hali ingawa, kama utaona katika pset 6, 775 00:35:53,640 --> 00:35:57,642 kama wewe ni kufanya maombi HTTP kutoka kwa mteja na server, hiyo ni yake. 776 00:35:57,642 --> 00:35:59,850 Mara baada ya kupata nyuma kwamba majibu, kuna kitu zaidi 777 00:35:59,850 --> 00:36:01,790 kurudi kutoka server na default. 778 00:36:01,790 --> 00:36:03,820 Lakini tutaweza kuona jinsi ya kufanya kazi ya kuzunguka kwamba. 779 00:36:03,820 --> 00:36:07,430 >> Naam sasa, hebu jaribu safi hii juu kidogo. 780 00:36:07,430 --> 00:36:09,470 Tumeona chache mifano mbalimbali huko. 781 00:36:09,470 --> 00:36:12,250 Oh, na kama kando, kwa wale jamaa au usio wa kawaida, 782 00:36:12,250 --> 00:36:14,230 sababu ya kuwa Frosh IMS mfano akaenda 783 00:36:14,230 --> 00:36:18,060 kutoka kuangalia kweli mbaya kwa slightly-- vizuri, 784 00:36:18,060 --> 00:36:23,160 bado ugly-- kwa kidogo chini mbaya ingawa bado mbaya 785 00:36:23,160 --> 00:36:25,230 ni kwa sababu kama sisi kuangalia katika chanzo code hapa, 786 00:36:25,230 --> 00:36:28,240 zinageuka kuwa nina hii saa ya juu sana ya faili. 787 00:36:28,240 --> 00:36:32,570 >> Zinageuka kuwa bootstrap ni moja ya wengi maktaba uhuru inapatikana huko nje 788 00:36:32,570 --> 00:36:37,140 ambazo zipo si kwa lugha ya programu daima, lakini kwa CSS au kwa JavaScript 789 00:36:37,140 --> 00:36:39,190 au HTML au idadi yoyote ya lugha. 790 00:36:39,190 --> 00:36:42,160 >> Na folks hizi here-- awali akatoka 791 00:36:42,160 --> 00:36:44,730 ya Twitter-- tu rundo zima la mitindo. 792 00:36:44,730 --> 00:36:47,360 Ni faili kubwa hapa kwamba mtu aliandika, 793 00:36:47,360 --> 00:36:51,020 au mtu aliandika, juu ya wakati huo bayana rangi na formatting 794 00:36:51,020 --> 00:36:53,740 na whatnot ili niweze aina ya kukopa syntax yao 795 00:36:53,740 --> 00:36:56,157 na si kuwa na kufikiri jinsi ya kuweka nje aina yangu. 796 00:36:56,157 --> 00:36:57,990 Hii pia minified hivyo kwamba kompyuta unaweza 797 00:36:57,990 --> 00:37:00,560 kuelewa lakini si lazima binadamu. 798 00:37:00,560 --> 00:37:03,050 Hivyo kwamba ni kwa nini tu stylization kuna iliyopita. 799 00:37:03,050 --> 00:37:05,450 >> Lakini hebu sasa kufanya vizuri katika suala la kubuni, 800 00:37:05,450 --> 00:37:07,490 kwa sababu kama sisi kukaa chini barabara hii muda mrefu sana, 801 00:37:07,490 --> 00:37:11,290 kanuni zetu kwenda kupata messy na Messier. 802 00:37:11,290 --> 00:37:13,040 Hivyo hebu kuzingatia mifano hii hapa. 803 00:37:13,040 --> 00:37:15,090 mwisho kwa leo. 804 00:37:15,090 --> 00:37:18,720 >> Hivyo hapa ni super rahisi toleo 1.0 ya tovuti CS50 ya. 805 00:37:18,720 --> 00:37:21,250 Ni tu ina viungo mihadhara na mtaala, 806 00:37:21,250 --> 00:37:25,490 na ni kwa kutumia orodha unordered tag-- tag ul kwamba sisi kutumika wakati wa mwisho. 807 00:37:25,490 --> 00:37:28,800 Na kama kwa kweli, kama mimi kufungua Tazama Asili ya Ukurasa, 808 00:37:28,800 --> 00:37:31,710 utaona kwamba hii ni kweli, HTML kweli rahisi. 809 00:37:31,710 --> 00:37:35,460 Na kwa kweli, hata ingawa hii ni PHP faili chini ya Hood, 810 00:37:35,460 --> 00:37:38,620 ni bado tu kutema nje HTML tu kwa sasa. 811 00:37:38,620 --> 00:37:41,312 >> Hivyo kama mimi bonyeza Mihadhara, sisi kuona hii kutokea. 812 00:37:41,312 --> 00:37:43,020 Na kama mimi bonyeza wiki sifuri, tunaona hii. 813 00:37:43,020 --> 00:37:44,920 Na kama mimi bonyeza Jumatano, tunaona hii. 814 00:37:44,920 --> 00:37:47,900 Na hii inaonekana alikuwa PDF ya slides kutoka siku hiyo. 815 00:37:47,900 --> 00:37:52,020 Wote mimi tumefanya ni kiungo na nanga tag kwa URL hii hapa. 816 00:37:52,020 --> 00:37:55,400 >> Hivyo hii ni tu kusema hii ni pretty rahisi toleo la tovuti CS50 ya. 817 00:37:55,400 --> 00:37:56,790 Hebu angalia jinsi gani kutekelezwa. 818 00:37:56,790 --> 00:38:01,240 Kama mimi kwenda katika mvc0 directory, tutaweza kuona files chache. 819 00:38:01,240 --> 00:38:03,250 Moja ni README, hivyo kama baadhi ya hii ni haraka sana, 820 00:38:03,250 --> 00:38:05,166 unaweza tu poke kuzunguka zaidi leisurely baadaye. 821 00:38:05,166 --> 00:38:07,930 Na ilani katika hapa ni index.php faili. 822 00:38:07,930 --> 00:38:09,960 Ni zinageuka kuwa kama wewe mwenyewe, binadamu, 823 00:38:09,960 --> 00:38:14,460 hayataji jina la mwisho katika URL, mtandao wa kompyuta kawaida 824 00:38:14,460 --> 00:38:17,010 infers baadhi jina default kwa ajili yenu. 825 00:38:17,010 --> 00:38:20,060 ripoti dot kitu ujumla default. 826 00:38:20,060 --> 00:38:23,010 >> Hivyo kwamba ni kwa nini wakati iliyopita wakati mimi alitembelea URL hii hapa, 827 00:38:23,010 --> 00:38:26,750 hakuna jina faili, hakuna faili ugani, hakuna kipindi katika URL. 828 00:38:26,750 --> 00:38:29,710 Ni tu alijua namna fulani magically kuangalia kwa index.php. 829 00:38:29,710 --> 00:38:30,870 Ni tu mkataba. 830 00:38:30,870 --> 00:38:32,360 Inaweza kuitwa chochote. 831 00:38:32,360 --> 00:38:35,110 >> Hivyo kama mimi sasa kwenda katika index.php, utaona 832 00:38:35,110 --> 00:38:37,100 kwamba, indeed-- hebu kujikwamua maoni 833 00:38:37,100 --> 00:38:39,500 hapa kwa sababu kuna kweli chochote kuvutia it-- 834 00:38:39,500 --> 00:38:41,579 hii ni ngumu tu coded HTML. 835 00:38:41,579 --> 00:38:43,370 Hivyo hiyo ni thabiti, ingawa, kwa madai yangu 836 00:38:43,370 --> 00:38:45,230 kwamba unaweza commingle HTML na PHP. 837 00:38:45,230 --> 00:38:48,060 Hakuna halisi programu mantiki katika hapa. 838 00:38:48,060 --> 00:38:51,030 >> Na faili nyingine ni pretty kiasi tu kama uninteresting. 839 00:38:51,030 --> 00:38:56,240 Ni tu ngumu-coded wiki moja hapa wiki m moja na wiki moja w, 840 00:38:56,240 --> 00:38:57,510 kwa Jumatatu na Jumatano. 841 00:38:57,510 --> 00:39:01,890 Na kisha kama mimi kufungua wiki sifuri, taarifa ni karibu sawa. 842 00:39:01,890 --> 00:39:03,320 >> Na hiyo ni aina ya takeaway muhimu. 843 00:39:03,320 --> 00:39:06,180 Taarifa tu jinsi redundant hii ni. 844 00:39:06,180 --> 00:39:10,710 Haya files vigumu kubadili, na bado mimi vunjwa mmoja wa haya nakala / kuweka kazi 845 00:39:10,710 --> 00:39:13,420 ambapo mimi alichukua file-- moja labda katika wiki zero-- kunakiliwa 846 00:39:13,420 --> 00:39:16,320 wakati wiki moja akaja karibu, na tweaked maadili chache. 847 00:39:16,320 --> 00:39:18,590 Sisi lazima pengine kuwa na uwezo kufanya bora zaidi kuliko huu. 848 00:39:18,590 --> 00:39:21,800 >> Basi hebu kwenda nyuma hadi MVC na kwenda katika toleo moja. 849 00:39:21,800 --> 00:39:24,810 Na taarifa Mimi nimepata files chache, kwa sababu kile 850 00:39:24,810 --> 00:39:29,870 Ilikuwa ni kawaida kwa wote wa files wale tu wakati ago-- kama mimi kurejea toleo 0, 851 00:39:29,870 --> 00:39:32,600 hebu kwenda nyuma katika ripoti, na tu postulate-- 852 00:39:32,600 --> 00:39:36,090 mara moja mimi kujikwamua comments-- nini sehemu ya ukurasa huu 853 00:39:36,090 --> 00:39:40,072 ni labda katika kila moja ya mafaili yangu? 854 00:39:40,072 --> 00:39:40,780 Tu kuiita nje. 855 00:39:40,780 --> 00:39:44,620 Ambayo mistari ni duplicated pengine katika yote ya kurasa hizi? 856 00:39:44,620 --> 00:39:45,120 Yeah? 857 00:39:45,120 --> 00:39:46,110 >> STUDENT: [inaudible]. 858 00:39:46,110 --> 00:39:47,660 >> DAVID J. Malan: 1 kupitia 9. 859 00:39:47,660 --> 00:39:48,720 Yeah, kabisa. 860 00:39:48,720 --> 00:39:52,080 1 kupitia 9, isipokuwa labda 8 mabadiliko kidogo kwa sababu CS50 861 00:39:52,080 --> 00:39:54,650 inakuwa mihadhara au wiki sifuri au kitu. 862 00:39:54,650 --> 00:39:55,970 Lakini karibu kufanana. 863 00:39:55,970 --> 00:39:58,657 Hivyo mambo haya yote ni tu aina ya kunakiliwa na pasted. 864 00:39:58,657 --> 00:40:00,490 Na kuna wanandoa mistari nyingine naweza kufikiria 865 00:40:00,490 --> 00:40:05,000 ya kwamba pengine kufanana hela mafaili yote. 866 00:40:05,000 --> 00:40:06,315 >> STUDENT: 12 na 13. 867 00:40:06,315 --> 00:40:07,190 DAVID J. Malan: Yeah. 868 00:40:07,190 --> 00:40:11,220 Hakika, 12, 13, na 14 pengine, sababu tu mambo ya kuvutia 869 00:40:11,220 --> 00:40:15,460 kinachotokea juu ya mistari 11 na 10, hivyo inaweza kuonekana. 870 00:40:15,460 --> 00:40:18,350 Hivyo hebu tuangalie toleo 1, ambayo inajaribu kuboresha juu ya hili. 871 00:40:18,350 --> 00:40:24,020 Katika toleo 1 ya example-- hii MVC tutaweza kueleza kile MVC njia katika moment-- 872 00:40:24,020 --> 00:40:27,420 kama mimi kwenda katika ripoti, ni aina ya inaonekana utata kidogo sasa. 873 00:40:27,420 --> 00:40:28,880 Ni kabisa kama rahisi kama kabla. 874 00:40:28,880 --> 00:40:30,906 >> Lakini mara moja kuanza kusoma kwa makini, ni 875 00:40:30,906 --> 00:40:32,530 pretty moja kwa moja nini ni kufanya. 876 00:40:32,530 --> 00:40:34,397 Inavyoonekana line 1 na mstari wa 8 badala 877 00:40:34,397 --> 00:40:37,230 yote ya mambo wewe tu identified-- ingawa tu kwa hatua nzuri, 878 00:40:37,230 --> 00:40:41,900 Mimi kushoto ULs kuna tu katika kesi baadhi siku hawakuwa na orodha ya mambo. 879 00:40:41,900 --> 00:40:47,860 Na hivyo kuhitaji ni aina ya kama chupa pamoja katika C. Ni nakala na pastes 880 00:40:47,860 --> 00:40:50,470 yaliyomo ufanisi haki hapa katika faili hii. 881 00:40:50,470 --> 00:40:53,650 >> Hivyo katika header.php, kama wewe wapate infer kutoka jina lake, 882 00:40:53,650 --> 00:40:55,330 ni kwenda kuwa na header ya ukurasa. 883 00:40:55,330 --> 00:40:57,110 Ni aina ya yatima hapa. 884 00:40:57,110 --> 00:41:01,820 Ni tu ina juu yake, lakini hakuna bidhaa zaidi chini. 885 00:41:01,820 --> 00:41:05,070 >> Na kama mimi kuangalia footer wakati huo huo, ambayo ilikuwa ya faili mengine mentioned-- 886 00:41:05,070 --> 00:41:08,830 hii moja hata chini ya kuvutia, lakini tena, ni kawaida kwa kila kitu. 887 00:41:08,830 --> 00:41:10,250 Hivyo hii ni footer. 888 00:41:10,250 --> 00:41:11,300 Hii ni header. 889 00:41:11,300 --> 00:41:13,950 Hii ni faili kwamba kubadilisha, hivyo kwa nini 890 00:41:13,950 --> 00:41:18,140 kujaribu na sababu nje Uhusiano na mistari hizi mbili hapa? 891 00:41:18,140 --> 00:41:20,090 >> Lakini tunaweza kusafisha hii up kidogo zaidi. 892 00:41:20,090 --> 00:41:23,260 Mimi nina kwenda mbele na kufungua toleo mbili ambapo 893 00:41:23,260 --> 00:41:27,106 tutaweza kuona kwamba kuna faili mpya, helpers.php. 894 00:41:27,106 --> 00:41:28,610 Tutaweza kuona nini kwamba ni katika wakati huu. 895 00:41:28,610 --> 00:41:30,930 Hebu kwenda index, kama kuingia hatua kama kabla. 896 00:41:30,930 --> 00:41:35,230 >> Na sasa taarifa mimi nina wanaohitaji helpers.php, si header au footer. 897 00:41:35,230 --> 00:41:41,720 Lakini wasaidizi ni aina ya kama helpers.c na helpers.h kutoka pset 2 898 00:41:41,720 --> 00:41:46,150 au pset 3 kwa muda mrefu iliyopita wakati wewe kweli hakuwa kutafuta na kupata kwa kuwa pset, 899 00:41:46,150 --> 00:41:50,950 na wewe alikuwa yote ya code yako kwa kuchagua na kutafuta katika faili tofauti. 900 00:41:50,950 --> 00:41:52,510 Hiyo ni nini kinaendelea hapa. 901 00:41:52,510 --> 00:41:54,390 >> Na sasa line 3 inaonekana tofauti kidogo. 902 00:41:54,390 --> 00:41:55,920 Na ni mstari mmoja tu. 903 00:41:55,920 --> 00:41:57,950 Kufanya hii hata zaidi wazi, mimi naweza tu 904 00:41:57,950 --> 00:42:01,820 je hii kuwa stylistically thabiti na kila kitu kingine tumefanya. 905 00:42:01,820 --> 00:42:04,130 Lakini hiyo si kweli kubadilisha utendaji. 906 00:42:04,130 --> 00:42:05,880 Ni line moja tu ya kificho halisi. 907 00:42:05,880 --> 00:42:09,010 >> Inavyoonekana, kuna kazi mahali fulani aitwaye atatoa header, 908 00:42:09,010 --> 00:42:11,420 na hii ni ambapo mambo kupata pretty nguvu. 909 00:42:11,420 --> 00:42:17,040 Taarifa kwamba ndani ya mabano wake ni nini kipande nyingine ya syntax? 910 00:42:17,040 --> 00:42:19,780 911 00:42:19,780 --> 00:42:23,350 Pengine ni ngumu kidogo kwa kusema, lakini taarifa there's-- mimi itabidi kuweka baadhi nyeupe 912 00:42:23,350 --> 00:42:24,300 nafasi. 913 00:42:24,300 --> 00:42:25,530 Kuna mabano mraba. 914 00:42:25,530 --> 00:42:29,700 >> Na mabano mraba tuliona kidogo iliyopita katika mazingira ya associative arrays, 915 00:42:29,700 --> 00:42:31,580 ambayo ni, tena, kama meza hash. 916 00:42:31,580 --> 00:42:36,230 Na kama unadhani sasa C, utaratibu wa hoja katika kazi 917 00:42:36,230 --> 00:42:37,570 ina daima kuwa sawa. 918 00:42:37,570 --> 00:42:41,146 Una kukumbuka nini ili is-- x, y, z au z, y, x-- 919 00:42:41,146 --> 00:42:44,020 na una daima kuwapatia katika utaratibu huo au kuangalia yao juu 920 00:42:44,020 --> 00:42:45,100 kama wameweza wamesahau. 921 00:42:45,100 --> 00:42:51,140 >> Lakini hii inaonekana kuwa njia wajanja ya kupita holela thamani muhimu 922 00:42:51,140 --> 00:42:55,840 jozi ambapo cheo ni jina hoja katika kesi hii 923 00:42:55,840 --> 00:42:58,334 na CS50 ni thamani yake. 924 00:42:58,334 --> 00:43:00,250 Na ukweli kwamba nina mabano haya mraba 925 00:43:00,250 --> 00:43:02,560 hapa ina maana kwamba mimi naweza pia kupita katika jambo 926 00:43:02,560 --> 00:43:07,550 kama wiki ni 1 au 0 au 2 au 3. 927 00:43:07,550 --> 00:43:10,550 Hivyo tumekuwa parameterized kazi hii katika vile njia 928 00:43:10,550 --> 00:43:15,180 kwamba inaweza kuchukua pembejeo nyingi, lakini kwa sasa ni moja tu. 929 00:43:15,180 --> 00:43:20,060 >> Kama mimi sasa kwenda katika helpers.php, taarifa ya nini ni kufanya. 930 00:43:20,060 --> 00:43:22,030 Hii ni kidogo ya utendaji mpya, 931 00:43:22,030 --> 00:43:24,190 lakini kwa sasa tu kuchukua juu ya imani kwamba hii ni 932 00:43:24,190 --> 00:43:26,570 syntax na ambayo kufafanua kazi katika PHP. 933 00:43:26,570 --> 00:43:27,840 Wewe literally kusema kazi. 934 00:43:27,840 --> 00:43:30,090 Huna bayana kurudi aina, na kwamba ni thabiti 935 00:43:30,090 --> 00:43:33,880 kwa undani variable mapema ambapo wewe si kweli sana aina. 936 00:43:33,880 --> 00:43:35,650 >> Hii tu bayana kwamba, kwa default, hii 937 00:43:35,650 --> 00:43:37,460 inachukua associative safu kama hoja. 938 00:43:37,460 --> 00:43:38,210 Na unajua nini? 939 00:43:38,210 --> 00:43:41,450 Kama mtumiaji haina kupita moja katika, kudhani thamani default. 940 00:43:41,450 --> 00:43:44,680 >> Hii ni kipengele kwamba C hana kwa ajili yetu, ambayo ni nzuri, kwa sababu sasa 941 00:43:44,680 --> 00:43:46,430 data, hata kama wewe wala kutoa kitu chochote, 942 00:43:46,430 --> 00:43:49,300 ni kwenda kuwa na safu lakini moja tupu. 943 00:43:49,300 --> 00:43:51,860 Na kama kando, dondoo tu haina kitu funky 944 00:43:51,860 --> 00:43:56,380 ambapo inachukua yote ya funguo kutoka hii associative safu, mambo yote 945 00:43:56,380 --> 00:43:59,950 unaweza kuweka katika mabano mraba, na inajenga vigezo nje ya yao 946 00:43:59,950 --> 00:44:06,270 ili tuweze hatimaye kupata nao katika footet.php na header.php. 947 00:44:06,270 --> 00:44:08,950 Hiyo ni abstract kidogo, hivyo basi mimi kumweka hii nje. 948 00:44:08,950 --> 00:44:12,990 >> Katika index.php, taarifa kwamba mimi nina kupita katika muhimu thamani jozi ya cheo 949 00:44:12,990 --> 00:44:14,850 na thamani ya CS50. 950 00:44:14,850 --> 00:44:18,660 Kama mimi sasa kuangalia helpers.php, taarifa kwamba RenderHeader 951 00:44:18,660 --> 00:44:23,870 ni kuchimba kwamba data kwamba mimi nina kupita katika, na kisha wanaohitaji header.php. 952 00:44:23,870 --> 00:44:27,970 Nini mimi tumefanya aina ya mtu maskini ni utekelezaji sasa yafuatayo. 953 00:44:27,970 --> 00:44:31,720 >> Kama mimi kufungua header.php, taarifa kwamba nimekuwa tena ngumu 954 00:44:31,720 --> 00:44:34,890 coded neno CS50 katika faili hii header. 955 00:44:34,890 --> 00:44:39,310 Nimekuwa kuweka hii admittedly atrociously aitwaye kazi, HTML chars maalum, 956 00:44:39,310 --> 00:44:40,170 huko. 957 00:44:40,170 --> 00:44:41,640 Lakini tazama kile mimi tumefanya. 958 00:44:41,640 --> 00:44:44,240 Mimi nimepata HTML wazi. 959 00:44:44,240 --> 00:44:47,420 Mimi kisha kuwa kichwa wazi na cheo wazi. 960 00:44:47,420 --> 00:44:52,380 >> Na kisha ndani ya cheo ya wazi na vitambulisho karibu, mimi kuwa na kidogo ya PHP code. 961 00:44:52,380 --> 00:44:56,670 Na hii ni nzuri lakini ya syntax, ambayo tu ina maana echo nje. 962 00:44:56,670 --> 00:44:59,840 Ni ina maana halisi this-- echo following-- 963 00:44:59,840 --> 00:45:01,910 lakini hii ni sexier kuandika. 964 00:45:01,910 --> 00:45:05,000 Echo nje cheo hiyo imekuwa kupita katika. 965 00:45:05,000 --> 00:45:07,560 >> Lakini unafikiri nini HTML Char maalum ni wote kuhusu, 966 00:45:07,560 --> 00:45:10,590 hasa kama una baadhi kabla HTML uzoefu? 967 00:45:10,590 --> 00:45:14,050 Nini wahusika wanaweza kuwa hatari kupita katika ukurasa wa 968 00:45:14,050 --> 00:45:17,980 ambapo wewe ni dynamically kuzalisha ukurasa wa mtandao na kanuni kama hii? 969 00:45:17,980 --> 00:45:21,370 970 00:45:21,370 --> 00:45:24,650 Napenda kwenda faili hili, toleo mbili, na kuona kama siwezi kuvuta hii. 971 00:45:24,650 --> 00:45:26,210 >> Toleo mbili ni hii. 972 00:45:26,210 --> 00:45:28,510 Na taarifa ya kila kitu ni mzuri, kufanya kazi vizuri. 973 00:45:28,510 --> 00:45:35,280 Lakini nadhani kwenda katika index.php na Mimi bayana kuwa kichwa cha ukurasa wangu 974 00:45:35,280 --> 00:45:36,630 si CS50. 975 00:45:36,630 --> 00:45:44,930 Ni wazi bracket tahadhari script hujambo dunia, karibu moja quote, 976 00:45:44,930 --> 00:45:49,740 mabano karibu, semicolon, bracket wazi, kufyeka script. 977 00:45:49,740 --> 00:45:51,897 >> Script, kama tutaweza hatimaye kuona, ni tag 978 00:45:51,897 --> 00:45:54,480 kwamba unaweza kutumia na matumizi ya mwingine lugha ya programu inayoitwa 979 00:45:54,480 --> 00:45:56,330 JavaScript ndani ya ukurasa wa mtandao. 980 00:45:56,330 --> 00:45:57,960 Na sasa taarifa mantiki hapa. 981 00:45:57,960 --> 00:45:59,840 Hapa ni muhimu aitwaye jina. 982 00:45:59,840 --> 00:46:02,690 Hapa ni ni thamani mambo kwa muda mrefu sasa. 983 00:46:02,690 --> 00:46:07,840 >> Lakini kama mimi kwenda wasaidizi page- au tuseme, header ukurasa, 984 00:46:07,840 --> 00:46:11,310 Mimi wito kazi hii juu ya kwamba cheo kwanza. 985 00:46:11,310 --> 00:46:15,250 Hivyo kama mimi sasa upya ukurasa huu, mimi kuona hii, ambayo inaonekana ujinga, 986 00:46:15,250 --> 00:46:16,110 lakini ni salama. 987 00:46:16,110 --> 00:46:17,310 Ni tu inaonekana kijinga. 988 00:46:17,310 --> 00:46:20,320 >> Lakini tuseme badala Nilisahau hii. 989 00:46:20,320 --> 00:46:24,660 Na alama maneno yangu, idadi nonzero ya wewe kusahau kufanya hili 990 00:46:24,660 --> 00:46:27,790 na utapata baadhi bidii mwanafunzi au rafiki kuja juu 991 00:46:27,790 --> 00:46:31,540 kwa mara ya CS50 haki au anonymously usiku poking kuzunguka kwenye tovuti yako 992 00:46:31,540 --> 00:46:35,300 na kimsingi sindano kificho unbeknownst na wewe katika tovuti yako 993 00:46:35,300 --> 00:46:35,800 namna fulani. 994 00:46:35,800 --> 00:46:39,000 >> Kwa sababu kama mimi tu mate nje cheo hapa na cheo 995 00:46:39,000 --> 00:46:44,330 there-- vizuri, kama cheo halisi inaonekana kama hii na PHP 996 00:46:44,330 --> 00:46:47,660 kama lugha ambayo inaweza mate nje lugha nyingine maandishi, 997 00:46:47,660 --> 00:46:50,650 hii ni halisi kwenda kuchukua nafasi ya tag hii na, 998 00:46:50,650 --> 00:46:53,010 Bila shaka, nini mimi kuweka mahali pengine. 999 00:46:53,010 --> 00:46:57,640 >> Hivyo kama mimi sasa kwenda hapa na Reload baada undoing taratibu za usalama hizo, 1000 00:46:57,640 --> 00:46:59,982 sasa nina hujambo dunia hapa. 1001 00:46:59,982 --> 00:47:02,690 Sasa si kwamba wote kwamba kubwa ya kukabiliana, lakini unaweza kufanya kitu 1002 00:47:02,690 --> 00:47:05,119 malicious kidogo zaidi hapa, kama kuna 1003 00:47:05,119 --> 00:47:08,410 tags-- nyingine kama tutaweza kuona mara moja sisi kutumia muda zaidi katika JavaScript-- kama eneo 1004 00:47:08,410 --> 00:47:14,910 dot href anapata, quote, unquote, HTTP business.com, lakini kinyume cha kwamba 1005 00:47:14,910 --> 00:47:15,950 kutoka siku nyingine. 1006 00:47:15,950 --> 00:47:20,120 Na sasa unaweza kutumika kuleta mtandao ukurasa wa kweli kwenda mara moja 1007 00:47:20,120 --> 00:47:21,190 ukurasa wa mtandao huu hapa. 1008 00:47:21,190 --> 00:47:23,000 >> Na kwa kweli, sitaki hata kwenda business.com 1009 00:47:23,000 --> 00:47:24,749 kwa sababu sitaki kujua nini kwamba ni. 1010 00:47:24,749 --> 00:47:28,710 Lakini hii, pia, kusababisha kificho kwa kuwa hudungwa katika ukurasa huu. 1011 00:47:28,710 --> 00:47:32,680 Hivyo hii ni tu kusema kwamba hata kama sisi ni kuanzisha super mapema juu ya baadhi ya 1012 00:47:32,680 --> 00:47:36,800 ya miundo haya ngumu zaidi, ni wote kuelekea mwisho wa kuhakikisha 1013 00:47:36,800 --> 00:47:39,320 kwamba kanuni yako si exploitable. 1014 00:47:39,320 --> 00:47:40,960 >> Hivyo sasa ya tatu ya toleo hapa. 1015 00:47:40,960 --> 00:47:42,470 Ni kupata kidogo fancier. 1016 00:47:42,470 --> 00:47:44,875 Mimi si kweli like-- upande anal yangu 1017 00:47:44,875 --> 00:47:47,750 ilikuwa kupata kidogo annoyed na ukweli kwamba mimi alikuwa kazi kuitwa 1018 00:47:47,750 --> 00:47:51,940 RenderHeader na RenderFooter kwamba walikuwa karibu kufanana. 1019 00:47:51,940 --> 00:47:55,400 Hivyo ilitokea kwangu, kwa nini si Mimi parameterize kazi hizi 1020 00:47:55,400 --> 00:47:59,180 ndani ya moja tu iitwayo atatoa, kuwa ni kuchukua hoja ya pili 1021 00:47:59,180 --> 00:48:04,420 kama jina la template, mwisho kwa render-- aidha header au footer? 1022 00:48:04,420 --> 00:48:07,160 Na kisha hiari, kama nataka kupita katika baadhi ya thamani jozi ufunguo 1023 00:48:07,160 --> 00:48:10,580 kama mimi kwa jina kwa header lakini si kwa footer, 1024 00:48:10,580 --> 00:48:11,800 Mimi naweza kufanya hivyo. 1025 00:48:11,800 --> 00:48:16,510 >> Na hivyo sasa kama mimi kwenda katika helpers.php, ni kidogo ngumu zaidi. 1026 00:48:16,510 --> 00:48:19,670 Na mimi itabidi kukitikisa mikono yangu katika maelezo, lakini ni kazi moja tu. 1027 00:48:19,670 --> 00:48:21,890 Hivyo hiyo ni hatua kuelekea kubuni bora. 1028 00:48:21,890 --> 00:48:23,360 >> Tunaweza kuchukua hatua hii moja zaidi. 1029 00:48:23,360 --> 00:48:28,890 Kama mimi kwenda katika robo yangu toleo la hii, taarifa sasa 1030 00:48:28,890 --> 00:48:31,320 kwamba mimi nina kufanya kitu aina hata zaidi ya cryptic. 1031 00:48:31,320 --> 00:48:33,230 Na Mimi najua hili ni mengi ya kunyonya mara moja, 1032 00:48:33,230 --> 00:48:35,080 lakini sisi ni tu aina ya kusafisha mambo up. 1033 00:48:35,080 --> 00:48:38,550 Sasa mimi nina kuweka wasaidizi wangu faili katika folder aitwaye 1034 00:48:38,550 --> 00:48:41,190 includes-- tu holela jina ambapo nataka kuweka mambo 1035 00:48:41,190 --> 00:48:44,300 kwamba nataka include-- na kisha mapumziko ya hii ni sawa. 1036 00:48:44,300 --> 00:48:47,140 >> Lakini kama mimi kuangalia sasa katika gedit, taarifa kwamba nimepata wamezipata kuepuka 1037 00:48:47,140 --> 00:48:51,940 ya wale wote files nyingine na nimekuwa wakiongozwa yao, kwa mfano, katika hapa. 1038 00:48:51,940 --> 00:48:55,110 Na kisha katika templates, Nina hii hapa, pia. 1039 00:48:55,110 --> 00:48:59,292 Na hivyo hii ni wote sasa kuelekea hatua ya kutumia bora zaidi kubuni muundo. 1040 00:48:59,292 --> 00:49:01,000 Na sisi ni haraka sana kwenda kwa hoja mbali 1041 00:49:01,000 --> 00:49:03,870 kutoka PHP ya msingi ya utendaji, ambayo sisi kuanza hapa na, 1042 00:49:03,870 --> 00:49:07,655 ambapo wewe tu commingle PHP, na HTML yako, na CSS yako, 1043 00:49:07,655 --> 00:49:09,780 na wewe tu kuitema na kwenda juu ya njia yako. 1044 00:49:09,780 --> 00:49:11,404 Ni si kwenda kuwa maintainable sana. 1045 00:49:11,404 --> 00:49:14,481 Tu kama katika C, sisi kuanza kutumia files nyingi na kazi mbalimbali 1046 00:49:14,481 --> 00:49:15,730 na factoring mambo ambayo nje. 1047 00:49:15,730 --> 00:49:16,688 Tutaweza kufanya hivyo hapa. 1048 00:49:16,688 --> 00:49:19,970 Na kwa kweli, katika tano na ya mwisho toleo hapa, mimi alifanya jambo moja nyingine. 1049 00:49:19,970 --> 00:49:23,710 Unaweza hata kutumia dot dot, ambayo, tena, ni tu orodha mzazi. 1050 00:49:23,710 --> 00:49:28,260 Kuwa usalama hata zaidi fahamu, kwa sababu kama mimi kuangalia kusikiliza 1051 00:49:28,260 --> 00:49:32,450 hapa kwa tano na ya mwisho ya toleo, ilani kwamba mimi kuwa directory moja hapa aitwaye 1052 00:49:32,450 --> 00:49:35,180 umma, na kisha juu ya kiwango sawa, hivyo kusema, 1053 00:49:35,180 --> 00:49:38,490 Mimi nimepata pamoja na templates na kisha kwamba faili maandishi readme. 1054 00:49:38,490 --> 00:49:41,130 >> Na sababu nimekuwa muundo ni kama this-- na hivyo wengi mtandao 1055 00:49:41,130 --> 00:49:44,330 majeshi, hasa wale $ 5 a mwezi ndio au $ 10 kwa mwezi ndio, 1056 00:49:44,330 --> 00:49:47,170 kama wameweza milele alikuwa mmoja wa haya services-- nini hivyo wengi wao kufanya 1057 00:49:47,170 --> 00:49:50,690 ni wao tu wanatarajia dampo wote ya mafaili yako katika saraka moja, 1058 00:49:50,690 --> 00:49:53,640 kama tulivyofanya tayari kwa mfano huu wa kwanza. 1059 00:49:53,640 --> 00:49:56,740 >> Lakini haraka kama wewe kuanza kujenga zaidi maeneo ya kisasa kwamba kuhifadhi tu 1060 00:49:56,740 --> 00:50:00,480 data wewe huduma ya juu na faili huduma ya juu, kwa kweli kupanga mambo 1061 00:50:00,480 --> 00:50:05,060 usahihi na kwa usalama zaidi fahamu katika akili unaweza 1062 00:50:05,060 --> 00:50:07,927 sisi kuanza kutetea dhidi ya wote wa rafiki 1063 00:50:07,927 --> 00:50:10,135 kwamba una aidha katika au nje ya darasa hili ambao, 1064 00:50:10,135 --> 00:50:12,510 haraka kama wewe kuanza kufanya mipango mwenyewe kwenye mtandao, 1065 00:50:12,510 --> 00:50:15,140 ni kwenda kuanza kuokota juu yako na juu yao. 1066 00:50:15,140 --> 00:50:17,420 >> Na hivyo tutaweza kuangalia hatimaye katika kubuni hii. 1067 00:50:17,420 --> 00:50:20,010 Hii ni picha ambayo inaonyesha yafuatayo. 1068 00:50:20,010 --> 00:50:22,897 Tunakwenda kuweka yote ya yetu programu mantiki katika faili moja au zaidi, 1069 00:50:22,897 --> 00:50:25,230 na sisi ni kwenda kuanza tu wito controllers hizo. 1070 00:50:25,230 --> 00:50:28,022 Ni ambapo akili ya tovuti yetu kweli ni. 1071 00:50:28,022 --> 00:50:29,730 Kisha tunakwenda maoni, na maoni 1072 00:50:29,730 --> 00:50:32,480 ni rahisi kama tu tofauti files-- aitwaye templates, mara nyingi. 1073 00:50:32,480 --> 00:50:34,410 Wao tu aesthetics ya ukurasa wangu, 1074 00:50:34,410 --> 00:50:37,020 nini nataka ukurasa na kuangalia like-- rangi na mpangilio 1075 00:50:37,020 --> 00:50:38,870 na nafasi ya yote ya vigezo. 1076 00:50:38,870 --> 00:50:41,120 >> Na kisha zaidi ya kuvutia kwamba tutaweza hatimaye kupata 1077 00:50:41,120 --> 00:50:45,420 ni mfano wa kuigwa, ambayo ni kwenda kuwa tu neno sisi kofi juu ya teknolojia nyingine 1078 00:50:45,420 --> 00:50:47,771 kwamba sisi kuleta katika picha, kama database halisi, 1079 00:50:47,771 --> 00:50:49,520 hivyo kwamba wakati unataka kuokoa habari, 1080 00:50:49,520 --> 00:50:52,140 huna tu kutuma barua pepe kwa mwangalizi wako au wewe mwenyewe, 1081 00:50:52,140 --> 00:50:57,350 wewe kweli kuhifadhi katika database kutumia lugha nyingine inayojulikana kama SQL. 1082 00:50:57,350 --> 00:51:00,450 Na hivyo tutaweza kuondoka hapa leo na pick up na hii siku ya Jumatano 1083 00:51:00,450 --> 00:51:02,990 na kuanzisha database basi. 1084 00:51:02,990 --> 00:51:06,940 >> [Music kucheza] 1085 00:51:06,940 --> 00:54:24,555