1 00:00:00,000 --> 00:00:04,410 >> [Speel van musiek] 2 00:00:04,410 --> 00:00:12,250 3 00:00:12,250 --> 00:00:15,770 >> Spreker 1: Dit is CS50 en dit is die einde van die week sewe. 4 00:00:15,770 --> 00:00:20,240 Vandag is miskien waar ons regtig leer jou tale. 5 00:00:20,240 --> 00:00:24,100 Ons wat in die afgelope paar weke HTML en CSS, wat nie 6 00:00:24,100 --> 00:00:25,240 is programmeertale. 7 00:00:25,240 --> 00:00:28,600 En inderdaad, selfs al is ons het nie kyk na byna al die tags 8 00:00:28,600 --> 00:00:33,410 dat HTML kom met en byna al van die eienskappe wat CSS kom met, 9 00:00:33,410 --> 00:00:35,007 dit is soort van dit vir HTML en CSS. 10 00:00:35,007 --> 00:00:36,840 Ons sal net die algemeen begin die veronderstelling dat jy 11 00:00:36,840 --> 00:00:39,545 verstaan ​​die algemene idees van etikette, en eienskappe, 12 00:00:39,545 --> 00:00:41,850 en bladsye gestuur van die kliënt te bediener. 13 00:00:41,850 --> 00:00:45,280 >> Want vandag het ons begin om te kyk na 'n ander programmeertaal, PHP. 14 00:00:45,280 --> 00:00:47,110 Ons gaan hierdie super vinnige doen. 15 00:00:47,110 --> 00:00:50,910 Ons gaan nie om jou te leer PHP per se, baie soos ons nie streef om jou te leer 16 00:00:50,910 --> 00:00:52,670 C, per se nie, maar eerder programmering. 17 00:00:52,670 --> 00:00:55,088 En inderdaad, een van die doelwitte vir hierdie kursus 18 00:00:55,088 --> 00:00:57,820 is nie om jou te leer C, of HTML, CSS of, of PHP, 19 00:00:57,820 --> 00:01:00,370 of enige aantal ander buzz woorde of akronieme, 20 00:01:00,370 --> 00:01:03,097 maar eerder die rekenaarwetenskap en hoe om fundamenteel program. 21 00:01:03,097 --> 00:01:05,930 En inderdaad, vandag het ons begin om te neem diegene opleiding wiele af al die 22 00:01:05,930 --> 00:01:10,600 verder deur die wat deur 'n taal, die sogenaamde PHP, soos volg. 23 00:01:10,600 --> 00:01:13,640 >> Hier is wat hierdie taal lyk. 24 00:01:13,640 --> 00:01:17,790 Dit blyk dat daar is geen behoefte vir 'n hoof funksie in 'n program wat geskryf is 25 00:01:17,790 --> 00:01:19,470 in 'n taal, die sogenaamde PHP. 26 00:01:19,470 --> 00:01:22,585 So wat reeds 'n bietjie eenvoudiger klink as C, waarmee ons bekend is. 27 00:01:22,585 --> 00:01:25,370 Dit blyk dat as jy wil 'n veranderlike te verklaar, 28 00:01:25,370 --> 00:01:29,470 jy doen dit byna identies aan C. Maar daar is duidelik een verskil hier 29 00:01:29,470 --> 00:01:31,850 wanneer ek verklaar 'n string, of miskien twee verskille. 30 00:01:31,850 --> 00:01:32,725 Wat lyk anders? 31 00:01:32,725 --> 00:01:35,810 32 00:01:35,810 --> 00:01:37,160 >> GEHOOR: Die dollar teken. 33 00:01:37,160 --> 00:01:39,951 >> Spreker 1: Ja, daar is dollar teken, wat ons nog nooit gesien het. 34 00:01:39,951 --> 00:01:41,451 En wat ontbreek? 35 00:01:41,451 --> 00:01:41,950 Ja? 36 00:01:41,950 --> 00:01:42,820 >> GEHOOR: [onhoorbaar] 37 00:01:42,820 --> 00:01:44,403 >> Spreker 1: Ja, daar is geen data tipe. 38 00:01:44,403 --> 00:01:48,410 Dit blyk dat PHP is wat ons noem 'n losweg getik taal, waar 39 00:01:48,410 --> 00:01:49,959 C is sterk getik. 40 00:01:49,959 --> 00:01:52,500 Losweg getik net beteken dat daar is verskillende tipes data, 41 00:01:52,500 --> 00:01:54,470 daar is stringe, en SY, en dryf. 42 00:01:54,470 --> 00:01:56,330 Maar die rekenaar syfers wat uit. 43 00:01:56,330 --> 00:01:58,664 Jy die menslike programmeerder nie om dit uit te vind. 44 00:01:58,664 --> 00:02:00,580 So al wat jy hoef te doen om te verklaar 'n veranderlike is 45 00:02:00,580 --> 00:02:03,220 dollar teken die naam van jou veranderlike, en dan, byvoorbeeld, 46 00:02:03,220 --> 00:02:04,760 quote unquote, hello wêreld. 47 00:02:04,760 --> 00:02:07,662 >> Wel, dit is wat 'n toestand lyk soos in PHP. 48 00:02:07,662 --> 00:02:08,328 Enige verskille? 49 00:02:08,328 --> 00:02:10,650 50 00:02:10,650 --> 00:02:11,150 Geen. 51 00:02:11,150 --> 00:02:12,540 So dit blyk dit is identies. 52 00:02:12,540 --> 00:02:14,665 En jy kan minder het takke of meer takke, 53 00:02:14,665 --> 00:02:16,557 maar die sintaksis beurte presies dieselfde. 54 00:02:16,557 --> 00:02:18,390 Boolse uitdrukkings kan saam bestel. 55 00:02:18,390 --> 00:02:20,400 Boolse uitdrukkings kan saam anded. 56 00:02:20,400 --> 00:02:21,430 Jy het nog steeds skakelaars. 57 00:02:21,430 --> 00:02:23,790 Selfs as jy nie gebruik het Hiervan hierdie nie bestaan ​​nie in C 58 00:02:23,790 --> 00:02:26,020 en hulle is funksioneel ekwivalent in PHP. 59 00:02:26,020 --> 00:02:28,260 >> En in die feit, in PHP hulle is 'n bietjie meer kragtig. 60 00:02:28,260 --> 00:02:32,540 In C, jy kan net vergelyk sekere data tipes soos SY en karakters, 61 00:02:32,540 --> 00:02:36,320 terwyl in PHP kan jy eintlik vergelyk volle fledge snare sonder 62 00:02:36,320 --> 00:02:38,460 te bekommer oor wysers en dies meer. 63 00:02:38,460 --> 00:02:39,430 So hier is 'n lus vir. 64 00:02:39,430 --> 00:02:41,270 Dit is net pseudokode kode, as jy wil. 65 00:02:41,270 --> 00:02:43,400 Maar dit is struktureel identies aan C. 66 00:02:43,400 --> 00:02:47,520 >> Hier is 'n while lus, pseudokode therefore-- identies aan C. 67 00:02:47,520 --> 00:02:49,390 Hier is 'n doen terwyl loop-- identies. 68 00:02:49,390 --> 00:02:51,390 En so is daar is soort van Hierdie patroon hier waardeur 69 00:02:51,390 --> 00:02:54,400 daar is 'n paar ander sintaktiese funksies ons inderdaad gaan om te sien. 70 00:02:54,400 --> 00:02:57,340 Trouens, hier is 'n lekker manier in PHP waardeur, 71 00:02:57,340 --> 00:02:59,350 as jy wil om Itereer oor 'n skikking, en jy 72 00:02:59,350 --> 00:03:02,309 wil nie spring deur die geestelike en sintaktiese hoepels van ' 73 00:03:02,309 --> 00:03:05,178 int i gelyk 0, i minder as n, i plus plus-- wat 74 00:03:05,178 --> 00:03:07,040 is net 'n baie irriterende sintaksis. 75 00:03:07,040 --> 00:03:10,654 Jy kan 'n bietjie meer sê publiek aankom vir elke nommers 76 00:03:10,654 --> 00:03:13,320 as nommer, waar in hierdie geval dollar teken nommers, ek neem, 77 00:03:13,320 --> 00:03:15,400 is soos 'n skikking met die naam getalle. 78 00:03:15,400 --> 00:03:18,810 En dan Ek neem nommer, enkelvoud, gaan 'n veranderlike wees. 79 00:03:18,810 --> 00:03:22,940 >> En wat PHP vir my wil doen as ek Itereer oor hierdie lus is, op elke iterasie, 80 00:03:22,940 --> 00:03:28,450 dit gaan werk die veranderlike nommer wees die ith element in getalle, meervoud. 81 00:03:28,450 --> 00:03:30,060 So is dit net hanteer al van daardie vir my. 82 00:03:30,060 --> 00:03:32,750 Geen vierkantige hakies, geen dollar teken geen semi-dubbelpunte. 83 00:03:32,750 --> 00:03:34,117 Dit is net 'n bietjie makliker. 84 00:03:34,117 --> 00:03:35,950 Wel, as jy wil 'n skikking, dit blyk jy 85 00:03:35,950 --> 00:03:38,908 kan iets redelik soortgelyk te doen C. Die sintaksis is 'n bietjie anders. 86 00:03:38,908 --> 00:03:41,000 Maar hier is 'n skikking met die naam dollar onderteken nommers. 87 00:03:41,000 --> 00:03:44,261 En ek gebruik, in PHP, vierkante hakies, dit blyk. 88 00:03:44,261 --> 00:03:47,260 En ons gaan hierdie weer sien in JavaScript-- nog 'n ander taal. 89 00:03:47,260 --> 00:03:49,968 Ek gebruik net vierkante hakienotasie 'n komma geskei lys het 90 00:03:49,968 --> 00:03:51,530 heelgetalle, in hierdie geval. 91 00:03:51,530 --> 00:03:53,010 Maar dit gee my 'n skikking. 92 00:03:53,010 --> 00:03:56,270 >> Maar selfs meer kragtig in PHP, ons het ook wat is oor die algemeen 93 00:03:56,270 --> 00:03:57,640 genoem assosiatiewe skikkings. 94 00:03:57,640 --> 00:03:59,540 En 'n baie tale het hierdie so goed. 95 00:03:59,540 --> 00:04:03,810 Die ding oor C skikkings is dat die indekse 96 00:04:03,810 --> 00:04:06,940 vir 'n skikking, die ding wat jy gebruik in vierkantige hakies via wat 97 00:04:06,940 --> 00:04:08,600 jy toegang elemente, wat moet wees? 98 00:04:08,600 --> 00:04:10,620 >> GEHOOR: [onhoorbaar] 99 00:04:10,620 --> 00:04:14,220 >> Spreker 1: Hulle moet getalle wees of heelgetalle, spesifiek van nul op up. 100 00:04:14,220 --> 00:04:17,140 Wel, in PHP, en dit blyk uit in ander tale, 101 00:04:17,140 --> 00:04:20,820 jy kan begin om indekse wat nie numeriese is. 102 00:04:20,820 --> 00:04:23,880 Maar hulle is eintlik woorde of frases, sodat eerder as 103 00:04:23,880 --> 00:04:27,070 Probeer om te onthou waar iets is, of gestoor word in 'n veranderlike i, 104 00:04:27,070 --> 00:04:31,720 jy kan eintlik gebruik 'n woord en sê that-- kan jy 'n woord soos dit sê. 105 00:04:31,720 --> 00:04:34,730 >> So dollar teken aanhaling is die naam van 'n veranderlike hier. 106 00:04:34,730 --> 00:04:39,360 Dit is 'n bietjie funky sintaksis dit is assosieer twee sleutel waarde 107 00:04:39,360 --> 00:04:41,250 pare vir hierdie veranderlike. 108 00:04:41,250 --> 00:04:45,490 Spesifiek, is dit gee my 'n skikking wat 'n lengte van 2. 109 00:04:45,490 --> 00:04:47,660 Maar die indekse is nie 0 en 1. 110 00:04:47,660 --> 00:04:51,250 Die indekse is quote unquote simbool en quote unquote prys. 111 00:04:51,250 --> 00:04:55,990 En die waardes van die indekse, onderskeidelik, is FB vir Facebook 112 00:04:55,990 --> 00:05:00,360 en $ 79,53, toe ek die laaste nagegaan 'n prys vir hierdie. 113 00:05:00,360 --> 00:05:01,210 >> Wat beteken dit? 114 00:05:01,210 --> 00:05:04,136 Wel, dit beteken dat in plaas van die skryf-kode 115 00:05:04,136 --> 00:05:09,612 soos hierdie, waar ek gebruik om iets te doen soos dollar sign-- of eerder, in C 116 00:05:09,612 --> 00:05:11,070 Ek sou nie eens 'n dollar teken. 117 00:05:11,070 --> 00:05:13,490 Ek sou iets te doen soos aanhalings en dan 118 00:05:13,490 --> 00:05:18,410 Ek sou bracket i na sommige te kry nie arbitrêr numeries geïndekseer waarde. 119 00:05:18,410 --> 00:05:21,430 Begin vandag in PHP, as jy wil op 'n sekere waarde te kry, 120 00:05:21,430 --> 00:05:24,742 ons het soort van meer semantiese uitdrukking. 121 00:05:24,742 --> 00:05:27,450 Net 'n fancy manier om te sê ons kan net dinge noem wat hulle is. 122 00:05:27,450 --> 00:05:29,800 >> En as jy wil te kry iets simbool, 123 00:05:29,800 --> 00:05:32,180 nou is jy letterlik doen haal unquote simbool 124 00:05:32,180 --> 00:05:34,910 in vierkantige hakies in plaas van 'n blote nommer. 125 00:05:34,910 --> 00:05:36,450 So dit is 'n mooi gerief. 126 00:05:36,450 --> 00:05:38,140 En dit is soort van dit vir nou. 127 00:05:38,140 --> 00:05:40,240 Daar is trosse van ander funksies in PHP. 128 00:05:40,240 --> 00:05:43,180 En inderdaad, PHP kom met die spreekwoordelike kombuis wasbak. 129 00:05:43,180 --> 00:05:48,640 Dosyne, honderde funksies kom met PHP-- soveel meer as gekom met C. 130 00:05:48,640 --> 00:05:51,360 >> En dit is nie bedoel om oorweldig nie, maar eerder te help 131 00:05:51,360 --> 00:05:53,900 jy besef dat ons nie langer kode te skryf 132 00:05:53,900 --> 00:05:55,590 dit is soort van hier af konseptueel. 133 00:05:55,590 --> 00:05:58,465 Nou kan ons net begin om voordeel te trek veel meer gevorderde funksies 134 00:05:58,465 --> 00:05:59,920 dat tale soos PHP het. 135 00:05:59,920 --> 00:06:02,630 Sodat ons nie hoef te bekommer oor beweeg dinge rondom in die geheue. 136 00:06:02,630 --> 00:06:05,338 Ons hoef nie te bekommerd wees oor die malloc en al hierdie laer vlak, 137 00:06:05,338 --> 00:06:09,390 kragtige besonderhede wat jy sal stoei met, indien nie sukkel met, pset5, 138 00:06:09,390 --> 00:06:13,380 maar jy kan begin om gou as vanselfsprekend aanvaar. 139 00:06:13,380 --> 00:06:17,770 >> In werklikheid, laat ons skryf 'n super eenvoudige program in PHP, soos volg. 140 00:06:17,770 --> 00:06:21,550 Ek gaan kop gaan in CS50 IDE hier, en wat ek gaan doen 141 00:06:21,550 --> 00:06:29,370 is 'n nuwe lêer, wat baie eenvoudig gaan hallo dot PHP genoem te word. 142 00:06:29,370 --> 00:06:31,860 So in plaas van dot c, dit is gaan word genoem dot PHP. 143 00:06:31,860 --> 00:06:34,260 En dan in hierdie lêer, Ek kan begin tik. 144 00:06:34,260 --> 00:06:36,960 Maar dit blyk dat die een ding wat ek het om te weet 145 00:06:36,960 --> 00:06:41,470 is dat enige PHP lêer in die algemeen, moet om te begin met 'n paar spesiale sintaksis. 146 00:06:41,470 --> 00:06:44,570 Soortgelyk in die gees aan HTML, maar weer, PHP is 'n programmeertaal, nie 147 00:06:44,570 --> 00:06:45,590 'n opmaak taal. 148 00:06:45,590 --> 00:06:48,700 >> So elke lêer, en dit is soort dom soek ek sal erken. 149 00:06:48,700 --> 00:06:50,480 Open bracket, vraagteken, PHP. 150 00:06:50,480 --> 00:06:53,060 En dit is net die manier om te sê taal se 151 00:06:53,060 --> 00:06:58,400 hey, rekenaar hier kom 'n paar kode geskryf in 'n taal, die sogenaamde PHP. 152 00:06:58,400 --> 00:07:01,900 En dan aan die einde van jou lêer jy doen soort soort van die teenoorgestelde. 153 00:07:01,900 --> 00:07:04,860 Jy hoef nie weer net skryf PHP, jy doen vraagteken, hoek bracket. 154 00:07:04,860 --> 00:07:08,500 En dan iets wat jy binne-in sit van hierdie twee etikette, so te sê, 155 00:07:08,500 --> 00:07:11,490 sal wees, of behoort te wees, PHP-kode. 156 00:07:11,490 --> 00:07:13,180 >> So laat iets super eenvoudige doen. 157 00:07:13,180 --> 00:07:19,370 Ek gaan om voort te gaan en te doen druk def, hello wêreld, backslash n, te red. 158 00:07:19,370 --> 00:07:27,310 En nou op my vinnige, ek gaan te doen, maak hello-- nee, ek gaan om dit te doen, 159 00:07:27,310 --> 00:07:28,726 dot streep hallo. 160 00:07:28,726 --> 00:07:31,250 Nee, dot streep, hm. 161 00:07:31,250 --> 00:07:32,990 So iets is anders. 162 00:07:32,990 --> 00:07:36,920 En inderdaad, dit is 'n belangrike verskil tussen PHP en tale soos C. C 163 00:07:36,920 --> 00:07:38,730 was 'n sogenaamde saamgestel taal. 164 00:07:38,730 --> 00:07:40,929 Wat het dit vir C word saamgestel? 165 00:07:40,929 --> 00:07:41,970 Wat was die implikasie? 166 00:07:41,970 --> 00:07:42,898 Ja. 167 00:07:42,898 --> 00:07:45,220 >> GEHOOR: Skryf dit in masjienkode sodat dit kan bestuur word deur die rekenaar. 168 00:07:45,220 --> 00:07:46,011 >> Spreker 1: Presies. 169 00:07:46,011 --> 00:07:49,075 Ons moet eers omskep dit in sogenaamde masjien kode, nulle en ene, 170 00:07:49,075 --> 00:07:51,950 voordat dit eintlik uitvoerbare sal en verstaan ​​word deur die rekenaar. 171 00:07:51,950 --> 00:07:52,840 Deur Intel binnekant. 172 00:07:52,840 --> 00:07:54,530 Deur die SVE binnekant van die rekenaar. 173 00:07:54,530 --> 00:07:58,170 PHP, daarenteen, is wat genoem 'n geïnterpreteer taal, wat 174 00:07:58,170 --> 00:08:02,230 beteken dat jy nie stel dit saam in nulle en ene, masjien-kode, 175 00:08:02,230 --> 00:08:04,360 jy plaas dit laat soos bronkode. 176 00:08:04,360 --> 00:08:08,130 En jy plaas dit slaag as insette om 'n program, 'n tolk 177 00:08:08,130 --> 00:08:11,960 dat iemand anders geskryf jaar gelede dat dit verstaan 178 00:08:11,960 --> 00:08:14,310 reël vir reël, karakter vir karakter. 179 00:08:14,310 --> 00:08:16,120 So met ander woorde, mense daar buite het 180 00:08:16,120 --> 00:08:19,670 'n program wat sal kyk op jou kode reël vir reël, 181 00:08:19,670 --> 00:08:21,680 en uit te vind wat die rekenaar behoort te doen, 182 00:08:21,680 --> 00:08:25,960 sonder die omskakeling dit direk aan nulle en ene. 183 00:08:25,960 --> 00:08:28,370 >> So as dit sien 'n lus, hierdie sogenaamde tolk 184 00:08:28,370 --> 00:08:30,630 gaan wees, alles reg, sou ek iets te doen weer en weer en weer. 185 00:08:30,630 --> 00:08:31,150 Wat moet ek doen? 186 00:08:31,150 --> 00:08:32,159 Laat my kyk na die volgende lyn. 187 00:08:32,159 --> 00:08:33,367 Laat my kyk na die volgende lyn. 188 00:08:33,367 --> 00:08:35,350 En dit is werklik interpreteer dit reël vir reël. 189 00:08:35,350 --> 00:08:37,220 So om dit uit te voer, kan ek nie gebruik te maak. 190 00:08:37,220 --> 00:08:39,409 Ek het nie dot streep gebruik in hierdie geval. 191 00:08:39,409 --> 00:08:43,530 Ek plaas doen PHP, wat die naam van 'n program, a.k.a. 192 00:08:43,530 --> 00:08:46,562 'N tolk, dit is pre-geïnstalleer in CS50 IDE, 193 00:08:46,562 --> 00:08:48,770 en nou het ek nodig om 'n slaag command line argument, wat 194 00:08:48,770 --> 00:08:52,290 is eenvoudig die naam van die lêer wat ek wil om te interpreteer. 195 00:08:52,290 --> 00:08:54,740 Of meer terloops, wat ek wil om te hardloop. 196 00:08:54,740 --> 00:08:57,000 En as ek druk Enter daar het ons dit. 197 00:08:57,000 --> 00:08:57,825 Hello Wêreld. 198 00:08:57,825 --> 00:08:59,950 Nou is dit blyk dat ek gebruikte druk def doelbewus 199 00:08:59,950 --> 00:09:01,600 om ons te oorbrug van C na PHP. 200 00:09:01,600 --> 00:09:05,150 Die meeste PHP programmeerders, soos u sal sien, nie eens die moeite met druk def. 201 00:09:05,150 --> 00:09:08,290 Hulle gebruik net 'n funksie genoem druk, wat C het nie. 202 00:09:08,290 --> 00:09:11,390 En so as ek eintlik tik dit nou, dit optree funksioneel dieselfde. 203 00:09:11,390 --> 00:09:13,730 Ek kan nie die persent s en persent i en so meer, 204 00:09:13,730 --> 00:09:16,250 maar daar is ander maniere in PHP om dit te doen. 205 00:09:16,250 --> 00:09:18,100 Maar dit is net om sê dat sintakties, 206 00:09:18,100 --> 00:09:21,850 anders as 'n paar weird dinge top, en 'n paar vreemde karakters af 207 00:09:21,850 --> 00:09:25,960 aan die onderkant, die konsepte van nou ontwikkeling in hierdie ander taal 208 00:09:25,960 --> 00:09:27,860 gaan presies dieselfde wees. 209 00:09:27,860 --> 00:09:30,120 >> In werklikheid, kom ons doen een ander voorbeeld. 210 00:09:30,120 --> 00:09:32,520 So ek gaan om voort te gaan en sluit hierdie lêer. 211 00:09:32,520 --> 00:09:37,740 Laat my 'n ander een te skep wat Ek sal voorwaardes 1 dot PHP noem. 212 00:09:37,740 --> 00:09:40,770 Sodat daar geen zero, want wat ek gedoen het Ek was teruggekyk 'n paar weke gelede, 213 00:09:40,770 --> 00:09:43,490 ons 'n lêer genaamd gehad voorwaardes 1 dot C. En wat 214 00:09:43,490 --> 00:09:47,590 Ek het dit was omskep in my kop, en hier op papier, 215 00:09:47,590 --> 00:09:51,290 en binnekort op die kursus se webwerf, reël vir reël in PHP. 216 00:09:51,290 --> 00:09:55,520 >> So in die C-weergawe, ons het iets soos string s kry kry string. 217 00:09:55,520 --> 00:09:58,200 So dit is 'n bietjie anders om dit te doen in PHP. 218 00:09:58,200 --> 00:10:01,390 In plaas daarvan, is ek net gaan om te doen, of eerder, ek 219 00:10:01,390 --> 00:10:05,870 kan gedoen int N kry kry int, in hierdie vroeëre voorbeeld. 220 00:10:05,870 --> 00:10:12,600 So in plaas van dat, ek gaan doen n kry gelees lyn, wil ek graag 'n heelgetal, 221 00:10:12,600 --> 00:10:13,670 asseblief. 222 00:10:13,670 --> 00:10:15,110 So dit is net my vinnige. 223 00:10:15,110 --> 00:10:17,260 En so dit blyk, en Ek sou dit net weet 224 00:10:17,260 --> 00:10:20,480 uit gelees of gesien die funksie voor, lees lyne funksie in PHP 225 00:10:20,480 --> 00:10:23,810 neem 'n argument wat 'n vinnige vir die mens, en sy doel in die lewe 226 00:10:23,810 --> 00:10:26,220 is om 'n lyn van die teks lees dat hy of sy tipes in. 227 00:10:26,220 --> 00:10:29,160 En dan is dit winkels wat teks in die veranderlike n. 228 00:10:29,160 --> 00:10:32,200 >> En nou wil ek dalk om iets te doen soos ek gedoen het weke gelede in soos week 229 00:10:32,200 --> 00:10:33,290 een van die klas. 230 00:10:33,290 --> 00:10:36,600 Indien n groter is as zero, dan, ek gaan 231 00:10:36,600 --> 00:10:42,930 dat die sintaksis sien ons net leen, Druk def, jy opgetel 'n positiewe getal, 232 00:10:42,930 --> 00:10:44,360 backslash n. 233 00:10:44,360 --> 00:10:49,990 Anders as n gelyk is gelyk aan nul, ek is gaan om voort te gaan en sê, druk def, 234 00:10:49,990 --> 00:10:54,090 jy opgetel nul backslash n. 235 00:10:54,090 --> 00:10:56,830 Anders, hier die geval sou natuurlik, druk def, 236 00:10:56,830 --> 00:10:58,620 jy 'n negatiewe getal opgetel. 237 00:10:58,620 --> 00:11:00,970 >> En ons kan seker implementeer die logika van hierdie ding 238 00:11:00,970 --> 00:11:03,390 in 'n klomp van die verskillende maniere, maar die punt hier 239 00:11:03,390 --> 00:11:07,210 is dat sintakties, skaars enigiets nuuts nie. 240 00:11:07,210 --> 00:11:09,830 Dis net die dollar teken en 'n nuwe funksie en lees lyn. 241 00:11:09,830 --> 00:11:12,090 Maar fundamenteel, wat is nuut nou is ek interpretasie van hierdie. 242 00:11:12,090 --> 00:11:13,910 Ek is om dit as insette na 'n ander program. 243 00:11:13,910 --> 00:11:16,620 So as ek wil hierdie, hardloop as Ek het nie enige foute maak, 244 00:11:16,620 --> 00:11:20,140 Ek gaan PHP hardloop, van voorwaardes 1 dot PHP, Tik, 245 00:11:20,140 --> 00:11:23,440 Ek gaan om te tik in die nommer 50, en laat ons veronderstel vir nou dit werk. 246 00:11:23,440 --> 00:11:25,940 Omdat die logika is die dieselfde dinge as een week. 247 00:11:25,940 --> 00:11:28,020 >> Alle reg, so dit is redelik underwhelming, reg? 248 00:11:28,020 --> 00:11:30,240 Ons kan dit doen in enige aantal tale. 249 00:11:30,240 --> 00:11:33,200 Kom ons doen iets baie meer kragtig. 250 00:11:33,200 --> 00:11:35,610 Kom ons afwerking probleem stel vyf. 251 00:11:35,610 --> 00:11:37,370 So ek gaan om voort te gaan en doen dit. 252 00:11:37,370 --> 00:11:42,920 Ek gaan 'n lêer te skep genoem woordeboek dot PHP, 253 00:11:42,920 --> 00:11:45,424 en geneig as jy kan wees skarrel af baie van notas, 254 00:11:45,424 --> 00:11:47,340 die notas sal net help jy as jy toegelaat 255 00:11:47,340 --> 00:11:48,923 te implementeer probleme stel vyf in PHP. 256 00:11:48,923 --> 00:11:52,706 Maar ons sal sien hoe vinnig ons nou kan dieselfde probleem stel implementeer. 257 00:11:52,706 --> 00:11:56,830 >> So in woordeboek dot PHP, gaan ek om te aanvaar dat daar reeds 258 00:11:56,830 --> 00:11:58,514 'n lêer in die wêreld genoem speller. 259 00:11:58,514 --> 00:12:01,430 En inderdaad, ek het dit in advance, en ons sal nie loop deur hierdie lyn 260 00:12:01,430 --> 00:12:03,596 deur die lyn, maar as jy nuuskierig later en regtig wil 261 00:12:03,596 --> 00:12:06,250 om jou gedagtes te draai om die verskille tussen c en PHP, 262 00:12:06,250 --> 00:12:09,030 letterlik vergelyk hierdie lêer, speller, van vandag se bronkode 263 00:12:09,030 --> 00:12:11,190 dat ons later sal plaas vandag teen p stel 264 00:12:11,190 --> 00:12:15,309 vyf speller dot c dat ons julle gee, en dit is byna dieselfde lyn deur die lyn. 265 00:12:15,309 --> 00:12:16,600 Daar is 'n paar meer dollar tekens. 266 00:12:16,600 --> 00:12:18,330 'N Paar funksies 'n bietjie anders. 267 00:12:18,330 --> 00:12:20,038 Maar dit is 'n mooi manier van soort sien hoe 268 00:12:20,038 --> 00:12:22,740 jy een taal na 'n ander te vertaal. 269 00:12:22,740 --> 00:12:24,812 En dit is byna identies lyn vir lyn. 270 00:12:24,812 --> 00:12:27,770 Maar ek gaan om te aanvaar dat bestaan, en wat ek gaan om hier te doen 271 00:12:27,770 --> 00:12:31,310 is probeer om te blaas jou omgee deur reimplementing 272 00:12:31,310 --> 00:12:36,210 die geheel van die probleem stel vyf manier vinniger as wat jy het tot dusver te doen. 273 00:12:36,210 --> 00:12:39,330 So byvoorbeeld, ek gaan eerste verklaar 'n globale veranderlike genoem grootte, 274 00:12:39,330 --> 00:12:40,444 en stel dit gelyk aan nul. 275 00:12:40,444 --> 00:12:41,610 Nou is dit nie veel spaar. 276 00:12:41,610 --> 00:12:44,170 Kans is jy geïmplementeer grootte pretty much dieselfde, 277 00:12:44,170 --> 00:12:48,440 of hint hint, sal vanaand of môre, net die gebruik van 'n globale veranderlike genoem 278 00:12:48,440 --> 00:12:49,900 grootte, en die opstel van dit gelyk is aan nul. 279 00:12:49,900 --> 00:12:52,660 Dit is nie 'n besonder ongelooflike verwoester. 280 00:12:52,660 --> 00:12:57,180 >> So, wat was jou data strukture van keuse, dié van julle wat het geduik in 281 00:12:57,180 --> 00:13:02,170 en lees die spec, wat datastrukture het die meeste van julle het al met behulp van? 282 00:13:02,170 --> 00:13:06,840 A hash tafel of probeer, miskien sommige variante daarvan. 283 00:13:06,840 --> 00:13:10,490 So implementering van 'n hash tafel ten minste, is 'n soort van 'n baie reëls van die kode, 284 00:13:10,490 --> 00:13:10,990 reg? 285 00:13:10,990 --> 00:13:13,700 En nie almal van hulle kan wees funksionele op hierdie punt in die week, 286 00:13:13,700 --> 00:13:14,366 maar dit is goed. 287 00:13:14,366 --> 00:13:19,300 Want in PHP, as ek wil 'n hash tafel, gedoen. 288 00:13:19,300 --> 00:13:20,260 Reg? 289 00:13:20,260 --> 00:13:22,610 Sodat veranderlike wat ek net verklaar is natuurlik 290 00:13:22,610 --> 00:13:26,180 genoem dollar teken tafel, per die bekendstelling tevore. 291 00:13:26,180 --> 00:13:28,902 >> Maar ek regtig wil net op die einde van die dag, 'n skikking. 292 00:13:28,902 --> 00:13:31,610 Maar dit is nie 'n numeries geïndekseer skikking, want dit is soos twee week 293 00:13:31,610 --> 00:13:33,440 dinge, wanneer ons gepraat oor skikkings. 294 00:13:33,440 --> 00:13:34,850 Ek wil 'n hash tafel. 295 00:13:34,850 --> 00:13:38,070 Maar 'n hash tafel is regtig net 'n konkrete manier om te sê, 296 00:13:38,070 --> 00:13:40,190 jy wil 'n assosiatiewe skikking. 297 00:13:40,190 --> 00:13:43,270 Jy wil in staat wees om assosieer sleutels waardes. 298 00:13:43,270 --> 00:13:44,200 Keys met waardes. 299 00:13:44,200 --> 00:13:45,640 Wat is 'n woordeboek, regtig? 300 00:13:45,640 --> 00:13:47,080 Wel dit is 'n hele klomp van die sleutels. 301 00:13:47,080 --> 00:13:50,320 Woorde soos appel, peer, en piesang, en al hierdie Engelse woorde 302 00:13:50,320 --> 00:13:51,490 dat ons hand jou. 303 00:13:51,490 --> 00:13:54,820 >> En die waardes wat jy effektief is invoeging in jou woordeboek 304 00:13:54,820 --> 00:13:57,790 is óf waar, of die afwesigheid, vals is. 305 00:13:57,790 --> 00:14:00,540 Met ander woorde jy invoeging 'n hele klomp van die sleutel waarde pare 306 00:14:00,540 --> 00:14:03,720 appel, waar, peer, waar, piesang, waar is. 307 00:14:03,720 --> 00:14:07,446 Sodat wanneer jy haal of kyk up wat data in jou hash tafel 308 00:14:07,446 --> 00:14:10,070 met 'n tjek funksie, jy is óf om terug 'n antwoord, 309 00:14:10,070 --> 00:14:13,260 ja, ek het dit gevind in my kompleks hash tafel, of nee, dit is nie daar nie, 310 00:14:13,260 --> 00:14:14,540 sodat jy valse terugkeer. 311 00:14:14,540 --> 00:14:19,440 >> So om dit te doen, al wat ek nodig het, is die data struktuur soos ek voorgestel het nie. 312 00:14:19,440 --> 00:14:22,050 Ek het net nodig om in staat wees om woorde te assosieer 313 00:14:22,050 --> 00:14:25,570 soos, quote unquote, simbool, met 'n waarde soos, waar is. 314 00:14:25,570 --> 00:14:27,090 So daar is my hash tafel. 315 00:14:27,090 --> 00:14:28,180 Kom ons eintlik dit gebruik. 316 00:14:28,180 --> 00:14:30,310 So is daar 'n paar funksies Ek nodig het om te implementeer. 317 00:14:30,310 --> 00:14:33,300 Ek gaan om voort te gaan en byt af 'n funksie genoem grootte. 318 00:14:33,300 --> 00:14:34,390 Dit neem nie argumente. 319 00:14:34,390 --> 00:14:36,660 Ek hoef nie te pla met die woord, nietig, in PHP. 320 00:14:36,660 --> 00:14:38,770 Ek is net gaan om terug te keer grootte. 321 00:14:38,770 --> 00:14:41,287 >> En as 'n eenkant, PHP het hierdie minorly irriterende detail, 322 00:14:41,287 --> 00:14:44,620 waar as iets is globale, moet jy vertel die funksie in wat jy gebruik 323 00:14:44,620 --> 00:14:46,220 dit hey, dit is 'n globale veranderlike. 324 00:14:46,220 --> 00:14:49,330 So, klein onnoselheid, maar jy het dit nietemin te doen. 325 00:14:49,330 --> 00:14:50,920 >> So, wat oor las? 326 00:14:50,920 --> 00:14:52,990 Ek gaan om te implementeer 'n funksie genoem vrag 327 00:14:52,990 --> 00:14:56,790 wat neem in die naam van 'n woordeboek, net soos in die probleem stel vyf. 328 00:14:56,790 --> 00:14:59,554 En voor ek gaan, sien dat Ek het nie 329 00:14:59,554 --> 00:15:00,970 is tik heeltemal dieselfde dinge. 330 00:15:00,970 --> 00:15:06,060 Wat is natuurlik anders in PHP oor hoe jy 'n funksie versus C verklaar? 331 00:15:06,060 --> 00:15:06,616 Ja. 332 00:15:06,616 --> 00:15:07,490 GEHOOR: [onhoorbaar] 333 00:15:07,490 --> 00:15:08,573 Spreker 1: Geen terugkeer tipe. 334 00:15:08,573 --> 00:15:12,350 En inderdaad, dit is die geval, PHP sover dit losweg getik, 335 00:15:12,350 --> 00:15:14,190 is ook 'n bietjie slordig in daardie sin nie. 336 00:15:14,190 --> 00:15:17,680 Jy hoef nie spesifiseer as die programmeerder wat hierdie funksie gee terug. 337 00:15:17,680 --> 00:15:20,490 Jy sal hê om werklik te kyk by die kode om uit te vind wat. 338 00:15:20,490 --> 00:15:22,670 Of lees die kommentaar of die dokumentasie. 339 00:15:22,670 --> 00:15:24,870 So plus punte en minuses van hierdie soort besluite. 340 00:15:24,870 --> 00:15:26,750 Maar ek het nie om te sê die sleutel woord, funksie. 341 00:15:26,750 --> 00:15:28,360 En wanneer ons leer JavaScript in 'n paar weke 342 00:15:28,360 --> 00:15:31,026 ons gaan dieselfde ding sien weer, maar dit is dieselfde idee. 343 00:15:31,026 --> 00:15:34,220 Die naam van die funksie, sy argument of argumente of die gebrek daaraan, en nou 344 00:15:34,220 --> 00:15:35,630 hier is die implementering daarvan. 345 00:15:35,630 --> 00:15:38,860 >> So ek gaan 'n paar hoeke net sny wees dramatiese vir net 'n oomblik. 346 00:15:38,860 --> 00:15:40,485 Maar ek gaan om voort te gaan en sê dit. 347 00:15:40,485 --> 00:15:44,890 Dit is hoe ek kan laai 'n lêer in 'n skikking. 348 00:15:44,890 --> 00:15:47,580 Daar is 'n funksie in PHP genoem lêer. 349 00:15:47,580 --> 00:15:49,300 Jy gee dit die naam van 'n lêer. 350 00:15:49,300 --> 00:15:53,950 Dit gee aan jou terug 'n skikking, binne waarvan elke lyn van die lêer. 351 00:15:53,950 --> 00:15:56,480 Van nul, een, op die up om n minus 1 lyne. 352 00:15:56,480 --> 00:15:57,210 Dit is dit, reg? 353 00:15:57,210 --> 00:15:57,990 Daar is geen f lees. 354 00:15:57,990 --> 00:15:58,826 Daar is geen f get s. 355 00:15:58,826 --> 00:15:59,700 Daar is geen persent s. 356 00:15:59,700 --> 00:16:00,420 Daar is geen hoofpyn. 357 00:16:00,420 --> 00:16:01,220 Daar is geen feof. 358 00:16:01,220 --> 00:16:03,950 Al daardie dinge waarmee jy is stoei miskien, 359 00:16:03,950 --> 00:16:06,550 met p stel vier en vyf, gaan weg. 360 00:16:06,550 --> 00:16:09,450 >> So ek lees net die lyne in die lêer, en dan weet jy wat? 361 00:16:09,450 --> 00:16:15,510 As ek wil Itereer oor daardie woorde, Ek kan doen, vir elke lyne as lyn. 362 00:16:15,510 --> 00:16:19,992 Onthou dat dit was soort van 'n slim manier iterating oor 'n skikking, indeks 363 00:16:19,992 --> 00:16:25,090 deur-indeks, en op elke iterasie roeping die huidige lyn, dollar teken lyn. 364 00:16:25,090 --> 00:16:31,560 En hier gaan ek om te gaan en sê tafel, bracket, lyn, kry waar. 365 00:16:31,560 --> 00:16:35,880 >> Met ander woorde, dit is hoe ek voeg in my hash tafel in PHP. 366 00:16:35,880 --> 00:16:38,740 Ek sê dollar teken tafel, wat is my assosiatiewe skikking wat was 367 00:16:38,740 --> 00:16:40,690 leë per die reël van die kode bo. 368 00:16:40,690 --> 00:16:42,790 Ek het toe indeks in dit nie, met behulp van 'n aantal, 369 00:16:42,790 --> 00:16:45,300 maar letterlik die gebruik van die term wat ek omgee. 370 00:16:45,300 --> 00:16:47,730 Miskien is dit die appel of peer of piesang of wat ook al, 371 00:16:47,730 --> 00:16:51,645 maar spesifiek ek kruip in dit wil ek vroeër voorgestel. 372 00:16:51,645 --> 00:16:53,770 Ek neem die naam van my assosiatiewe skikking, en dan het ek 373 00:16:53,770 --> 00:16:56,450 quote unquote gebruik in die vierkantige hakies met 'n string, 374 00:16:56,450 --> 00:16:58,490 in plaas van 'n werklike nommer. 375 00:16:58,490 --> 00:17:00,250 >> En so dit is dit. 376 00:17:00,250 --> 00:17:01,720 Die vrag funksie gedoen word. 377 00:17:01,720 --> 00:17:05,119 Sodra dit lus iterate, het ek alles in die hash tafel. 378 00:17:05,119 --> 00:17:07,810 Nou klein disclaimer, daar is 'n paar dinge wat ek nodig het om vas te stel. 379 00:17:07,810 --> 00:17:10,030 En die weergawe wat ek sal post aanlyn sal al die nuanses het, 380 00:17:10,030 --> 00:17:12,670 maar dit is meestal net gaan om 'n paar te wees foutopsporing en 'n paar klein tweaked. 381 00:17:12,670 --> 00:17:14,044 Maar dit is inderdaad die kern van dit. 382 00:17:14,044 --> 00:17:16,750 As ek nou wil implementeer die funksie genoem 383 00:17:16,750 --> 00:17:19,869 kyk, wat 'n verwag woord as sy argument, 384 00:17:19,869 --> 00:17:22,099 hoe kan ek gaan om dit te doen? 385 00:17:22,099 --> 00:17:30,020 Wel, ek net gaan om te sê, as binnekant van my tafel, by plek woord 386 00:17:30,020 --> 00:17:30,652 As is ingestel. 387 00:17:30,652 --> 00:17:32,360 So as daar is-- eintlik, jy weet wat? 388 00:17:32,360 --> 00:17:34,830 Ek is van plan om dit te doen in 'n bietjie van pseudokode. 389 00:17:34,830 --> 00:17:36,020 Maar die idee is dieselfde. 390 00:17:36,020 --> 00:17:41,640 As dit waar is gelyk, terugkeer waar. 391 00:17:41,640 --> 00:17:43,890 Alles reg. 392 00:17:43,890 --> 00:17:46,851 Else-- jy soort van kan sien waar dit is going-- vals terugkeer. 393 00:17:46,851 --> 00:17:47,350 Gedoen. 394 00:17:47,350 --> 00:17:49,640 Check gedoen word. 395 00:17:49,640 --> 00:17:50,940 >> Pretty nice, reg? 396 00:17:50,940 --> 00:17:52,560 En so wat is dit regtig om by? 397 00:17:52,560 --> 00:17:53,680 En dit ook, sny ek 'n paar hoeke. 398 00:17:53,680 --> 00:17:56,020 Kyk na die weergawe aanlyn vir al die effense nuanses. 399 00:17:56,020 --> 00:17:57,103 Maar dit is die kern van dit. 400 00:17:57,103 --> 00:17:59,080 Indeks in jou assosiatiewe skikking, a.k.a. 401 00:17:59,080 --> 00:18:02,910 Hash tafel, kyk of daar nie 'n waarde daar, as dit waar, en indien wel, 402 00:18:02,910 --> 00:18:03,930 terugkeer waar. 403 00:18:03,930 --> 00:18:05,819 Dus het ons Uiteindelik af al die kompleksiteit. 404 00:18:05,819 --> 00:18:07,110 So soort van gees waai, reg? 405 00:18:07,110 --> 00:18:09,680 Ek sal nie die moeite afwerking met los, want in fact-- oh, jy weet wat? 406 00:18:09,680 --> 00:18:11,620 Ja, laat dit voltooi met los. 407 00:18:11,620 --> 00:18:18,940 >> Los in 'n hash tafel kan kyk soos funksie los, terug te keer. 408 00:18:18,940 --> 00:18:19,930 OK so dit is los. 409 00:18:19,930 --> 00:18:21,350 Want daar is niks om te los, reg? 410 00:18:21,350 --> 00:18:22,170 Daar is geen malloc. 411 00:18:22,170 --> 00:18:24,280 Ek het nie uitdruklik vra die bedryfstelsel vir enigiets. 412 00:18:24,280 --> 00:18:25,571 Ek het net begin die gebruik van veranderlikes. 413 00:18:25,571 --> 00:18:30,510 En so ook dit is 'n manifestasie van kenmerke van 'n hoër vlak tale. 414 00:18:30,510 --> 00:18:32,940 So weer, die meeste van hierdie kwartaal ons het al hier te doen af 415 00:18:32,940 --> 00:18:34,280 met C. Super lae vlak. 416 00:18:34,280 --> 00:18:35,980 Jy kan die rekenaar se geheue te sien. 417 00:18:35,980 --> 00:18:38,440 Jy kan enigiets raak jy wil in RAM jou rekenaar, 418 00:18:38,440 --> 00:18:39,440 vir 'n beter of vir slegter. 419 00:18:39,440 --> 00:18:41,760 >> Hier gaan ons om op te gee dat die krag. 420 00:18:41,760 --> 00:18:44,730 Maar my god, kyk hoe veel minder code ek geskryf het. 421 00:18:44,730 --> 00:18:47,660 In werklikheid, as ek nie praat en praat oor my tik, 422 00:18:47,660 --> 00:18:50,190 ons sou gedoen met hierdie voorbeeld vyf minute gelede. 423 00:18:50,190 --> 00:18:52,150 So, wat is die prys wat betaal word? 424 00:18:52,150 --> 00:18:54,100 Wel, laat ons neem 'n blik. 425 00:18:54,100 --> 00:18:55,340 Kom ons neem 'n blik. 426 00:18:55,340 --> 00:18:59,340 Ek gaan om voort te gaan en uit te voer CS50. 427 00:18:59,340 --> 00:19:02,160 Laat my toe om eers te gaan in voorbeelde vandag se waar 428 00:19:02,160 --> 00:19:03,970 Ek het die tekste gids as tevore. 429 00:19:03,970 --> 00:19:08,520 Ek gaan die oplossing hardloop dat dit kom met die probleem sit vyf genoem 430 00:19:08,520 --> 00:19:11,190 speller, wat in aanmerking CS50 se. 431 00:19:11,190 --> 00:19:14,040 >> En ek gaan om dit te doen op iets groot soos die King James Bybel, 432 00:19:14,040 --> 00:19:16,547 Net sodat ons regtig sit die personeel oplossings vir die toets. 433 00:19:16,547 --> 00:19:19,130 Nou soms die internet is 'n bietjie stadiger, 'n bietjie vinniger, 434 00:19:19,130 --> 00:19:20,338 dalk 'n rukkie neem om te blaai. 435 00:19:20,338 --> 00:19:23,730 Maar dit het 'n totaal van 0,56 sekondes te spel check die King James 436 00:19:23,730 --> 00:19:25,150 Bybel met behulp van die personeel oplossing. 437 00:19:25,150 --> 00:19:25,620 So redelik goed. 438 00:19:25,620 --> 00:19:27,786 Joune dalk veel stadiger wees, en dit is heeltemal fyn. 439 00:19:27,786 --> 00:19:30,090 Maar dit korrek is hier. 440 00:19:30,090 --> 00:19:32,440 So wat is die personeel oplossing. 441 00:19:32,440 --> 00:19:34,785 As ek gaan in en skoon te maak die PHP weergawe. 442 00:19:34,785 --> 00:19:36,990 En ek gaan 'n bietjie te doen soos bak show ding. 443 00:19:36,990 --> 00:19:39,720 Ons gaan die kode wat ek geskryf neem vroeër, so dit is perfek korrek is. 444 00:19:39,720 --> 00:19:42,678 Omdat die kode wat ek geskryf het nie gaan perfek korrek te wees nou net. 445 00:19:42,678 --> 00:19:47,310 Maar as ek die PHP weergawe, wat moet ek gee vandag? 446 00:19:47,310 --> 00:19:49,980 Het my vyf minute om implementeer p stel vyf, ek eis. 447 00:19:49,980 --> 00:19:51,770 Wat is die prys het ek betaal? 448 00:19:51,770 --> 00:19:52,270 Ja. 449 00:19:52,270 --> 00:19:52,937 >> GEHOOR: Speed. 450 00:19:52,937 --> 00:19:53,645 Spreker 1: Speed. 451 00:19:53,645 --> 00:19:54,380 Wat bedoel jy? 452 00:19:54,380 --> 00:19:55,230 >> GEHOOR: Dit gaan langer neem. 453 00:19:55,230 --> 00:19:55,660 >> Spreker 1: Alle reg. 454 00:19:55,660 --> 00:19:56,160 Kom ons kyk. 455 00:19:56,160 --> 00:19:59,590 Dit gaan langer neem, nie om te skryf nie, maar om dit te doen. 456 00:19:59,590 --> 00:20:00,090 Ja. 457 00:20:00,090 --> 00:20:00,960 So kom ons probeer hierdie. 458 00:20:00,960 --> 00:20:05,720 So hier gaan ek voort te gaan en te doen PHP van speller, en omdat die lêer se 459 00:20:05,720 --> 00:20:06,360 genoem speller. 460 00:20:06,360 --> 00:20:07,580 So ek is nie die bestuur van die woordeboek, onthou, 461 00:20:07,580 --> 00:20:09,204 Ek hardloop die program genaamd speller. 462 00:20:09,204 --> 00:20:12,450 Ek gaan om te slaag in dieselfde lêer, King James die vyfde. 463 00:20:12,450 --> 00:20:14,377 Dit vlieg deur. 464 00:20:14,377 --> 00:20:17,210 Dit kan net die internet spoed, so moenie te veel in daardie lees. 465 00:20:17,210 --> 00:20:21,680 Maar dit voel nie meer vir seker. 466 00:20:21,680 --> 00:20:23,280 1,26 sekondes. 467 00:20:23,280 --> 00:20:25,150 >> Nou dit is nog redelik damn vinnig, reg? 468 00:20:25,150 --> 00:20:28,140 En die enigste rede dat gevoel soos meer soos drie, of vier, of vyf 469 00:20:28,140 --> 00:20:30,515 sekondes, dit is net omdat die internet is wat stadig. 470 00:20:30,515 --> 00:20:33,980 Die rekenaar tyd was 1,26 sekondes, versus Ek dink 0,56. 471 00:20:33,980 --> 00:20:35,880 So meer as twee keer so stadig. 472 00:20:35,880 --> 00:20:39,170 Nou dit is nog steeds pretty darn vinnig, maar dit is 'n manifestasie 473 00:20:39,170 --> 00:20:40,860 van, wel, wat presiese prys. 474 00:20:40,860 --> 00:20:43,460 >> Omdat ons die interpretasie in die kode reël vir reël, 475 00:20:43,460 --> 00:20:46,740 en dat die program PHP is die lees van my kode bo na onder, links na regs, 476 00:20:46,740 --> 00:20:47,940 dit het meer denke te doen. 477 00:20:47,940 --> 00:20:50,430 Dit het soort omskep dit binne homself 478 00:20:50,430 --> 00:20:53,464 die ooreenstemmende masjien kode op die vlieg, so te sê, 479 00:20:53,464 --> 00:20:55,380 selfs al is die meganika is 'n bietjie anders. 480 00:20:55,380 --> 00:20:59,430 In plaas van net voed die Intel CPU die rou nulle en ene 481 00:20:59,430 --> 00:21:00,930 dat dit verstaan ​​native. 482 00:21:00,930 --> 00:21:04,110 >> So absoluut, hande af, het ons 'n prys betaal. 483 00:21:04,110 --> 00:21:09,120 En kode geskryf in 'n taal soos PHP is geneig om stadiger. 484 00:21:09,120 --> 00:21:10,050 Maar my god. 485 00:21:10,050 --> 00:21:12,740 So nou toe ek my speltoets lêer, spandeer ek 'n ekstra 0,7 486 00:21:12,740 --> 00:21:17,280 of so sekondes vs 20 uur te implementeer 'n vinniger speltoetser, reg? 487 00:21:17,280 --> 00:21:18,397 Dit is soort van 'n kompromis. 488 00:21:18,397 --> 00:21:20,980 En as jy net begin p stel vyf, kan nie 20 uur. 489 00:21:20,980 --> 00:21:22,188 Dalk veel minder as dit wees. 490 00:21:22,188 --> 00:21:23,600 Maar dit is 'n kompromis, vir die ware. 491 00:21:23,600 --> 00:21:27,820 En as jy 'n baie groot kode op data-stelle, of op selfs ouer hardeware, 492 00:21:27,820 --> 00:21:32,650 daardie soort verskille kan beslis voeg. 493 00:21:32,650 --> 00:21:34,880 >> Enige vrae wat tot dusver? 494 00:21:34,880 --> 00:21:35,617 Ja. 495 00:21:35,617 --> 00:21:36,492 >> GEHOOR: [onhoorbaar] 496 00:21:36,492 --> 00:21:38,187 497 00:21:38,187 --> 00:21:39,978 Spreker 1: Jammer, kan jy sê dit weer? 498 00:21:39,978 --> 00:21:40,853 GEHOOR: [onhoorbaar] 499 00:21:40,853 --> 00:21:43,326 500 00:21:43,326 --> 00:21:44,700 Spreker 1: Jy gee tyd. 501 00:21:44,700 --> 00:21:45,283 Wel, so ja. 502 00:21:45,283 --> 00:21:47,322 Jy spaar tyd deur nie met dit saam te stel, 503 00:21:47,322 --> 00:21:48,530 as dit is wat jy vra. 504 00:21:48,530 --> 00:21:50,710 En inderdaad, in CS50, die meeste van die programme, 505 00:21:50,710 --> 00:21:53,668 selfs al is hulle 'n rukkie kon neem om te skryf, hulle is relatief kort. 506 00:21:53,668 --> 00:21:56,860 Paar dosyn, paar honderd lyne kode, en so saam te stel wat hulle redelik vinnig. 507 00:21:56,860 --> 00:21:58,470 Maar wanneer jy begin skryf groter programme, 508 00:21:58,470 --> 00:22:01,511 soos as jy Microsoft is of jy Google en skryf baie groot programme 509 00:22:01,511 --> 00:22:05,360 in C, of ​​C ++ of soortgelyke saamgestel tale, kan baie sekondes, 510 00:22:05,360 --> 00:22:08,577 of selfs minute of langer om stel miljoene reëls van die kode. 511 00:22:08,577 --> 00:22:10,660 En daar ook dat verskil gaan optel. 512 00:22:10,660 --> 00:22:12,840 >> En in die feit, wanneer ons oorgang vandag dieselfde dag 513 00:22:12,840 --> 00:22:15,910 vandag op die web programmering met behulp van PHP, is jy 514 00:22:15,910 --> 00:22:18,460 gaan om dit te vind net soveel meer aangenaam kode te skryf 515 00:22:18,460 --> 00:22:21,501 wanneer jy nie hierdie dom doen stappe soos verandering in jou terminale 516 00:22:21,501 --> 00:22:24,202 venster, tipe make hello, re hardloop dit, herlaai die venster. 517 00:22:24,202 --> 00:22:25,910 Net so baie stupid meganiese stappe wat 518 00:22:25,910 --> 00:22:28,480 net in die manier van doen die interessante, die pret werk. 519 00:22:28,480 --> 00:22:31,450 En inderdaad ons gooi wat weggedoen het met PHP. 520 00:22:31,450 --> 00:22:34,960 En ons kan kommunikeer met dit vinniger. 521 00:22:34,960 --> 00:22:35,495 Ja. 522 00:22:35,495 --> 00:22:36,370 GEHOOR: [onhoorbaar] 523 00:22:36,370 --> 00:22:40,294 524 00:22:40,294 --> 00:22:40,960 Spreker 1: Natuurlik. 525 00:22:40,960 --> 00:22:42,876 Kan ek verduidelik wat dit beteken om geïnterpreteer word? 526 00:22:42,876 --> 00:22:45,870 Wanneer jy 'n taal te stel soos C, dit gaan 527 00:22:45,870 --> 00:22:48,140 soos ons sê masjien kode, nulle en ene. 528 00:22:48,140 --> 00:22:51,860 En Intel besluit jaar gelede dat sekere patrone van nulle en ene 529 00:22:51,860 --> 00:22:56,220 verteenwoordig Daarbenewens of aftrek, of druk, of ander basiese operasies. 530 00:22:56,220 --> 00:23:00,250 In die wêreld van 'n taal geïnterpreteer soos PHP, of JavaScript, of Python, 531 00:23:00,250 --> 00:23:03,120 of Ruby, of trosse ander, in plaas iemand 532 00:23:03,120 --> 00:23:05,120 geskryf het 'n interpreter-- in hierdie geval, 533 00:23:05,120 --> 00:23:09,770 dit is ook 'n beroep PHP, identies aan die Naam van die language-- wat in wese 534 00:23:09,770 --> 00:23:13,840 het 'n groot lus in dit wat iterate oor al die lyne van die kode 535 00:23:13,840 --> 00:23:18,170 dat ek voer dit as insette, soos hallo dot PHP, of 'n woordeboek dot PHP. 536 00:23:18,170 --> 00:23:21,760 >> En dan kan jy dink van hul groot lus as met 'n baie van toestande. 537 00:23:21,760 --> 00:23:26,340 En dié toestande sê, as die mens het die navraag vir skriftelike, 538 00:23:26,340 --> 00:23:28,470 begin doen sy of haar kode weer en weer. 539 00:23:28,470 --> 00:23:31,360 Of indien die mens het geskryf die reël van die kode, 540 00:23:31,360 --> 00:23:34,880 As slegs voer hul volgende reël voorwaardelik. 541 00:23:34,880 --> 00:23:37,740 So dit is werklik soos die interpretasie dit in 'n menslike sin, lyn 542 00:23:37,740 --> 00:23:39,660 deur die lyn, en wat net neem tyd. 543 00:23:39,660 --> 00:23:41,340 Dit neem oorhoofse. 544 00:23:41,340 --> 00:23:44,189 En so dit is 'n price-- goeie question-- ons betaal. 545 00:23:44,189 --> 00:23:46,480 So kom ons doen 'n ander demo dit is 'n bietjie meer dramaties. 546 00:23:46,480 --> 00:23:51,160 Daar is, wil ek sê, 'n ball hierdie by 'n 90% waarskynlikheid van die versuim verskriklik, 547 00:23:51,160 --> 00:23:53,869 maar jy sal verbaas wees met 10% waarskynlikheid. 548 00:23:53,869 --> 00:23:55,660 Sodat ons elke jaar probeer om dit te doen, waardeur ons 549 00:23:55,660 --> 00:23:59,061 probeer om 'n program wat gaan deur te skryf probleem gestel nul, waarvoor jy het 550 00:23:59,061 --> 00:24:02,060 voorgelê jou telefoonnommers en 'n baie ander demografiese inligting, 551 00:24:02,060 --> 00:24:06,030 en ons programmaties stuur jou 'n SMS-boodskap. 552 00:24:06,030 --> 00:24:08,540 En dan is almal se selfoon begin piep of vibreer, 553 00:24:08,540 --> 00:24:11,460 en dit is net ongelooflik, want Wel, kyk na wat rekenaars kan doen. 554 00:24:11,460 --> 00:24:13,840 >> Dit werk selde korrek dit lyk, 'n groot deel 555 00:24:13,840 --> 00:24:16,800 want ek gewoonlik kry die swartlys deur Gmail of 'n ander diens 556 00:24:16,800 --> 00:24:19,630 vir eintlik probeer om dit te doen op skaal. 557 00:24:19,630 --> 00:24:24,940 Maar funny ding is ook, want ons nie almal nie hier vandag, 558 00:24:24,940 --> 00:24:27,690 pret feit dat die laaste keer dat ons probeer om hierdie twee jaar gelede, 559 00:24:27,690 --> 00:24:30,870 Ek dink ek het 'n program wat sit in 'n lus iterating 560 00:24:30,870 --> 00:24:34,040 oor al die studente in die klas, en elkeen van hulle 'n SMS-boodskap, 561 00:24:34,040 --> 00:24:37,534 en dit het gesê iets soos, Hoekom is jy nie in lesing? 562 00:24:37,534 --> 00:24:39,170 Liefde, CS50 bot. 563 00:24:39,170 --> 00:24:42,580 >> Jy het geen idee hoeveel apologetiese en soort pynlike e-pos 564 00:24:42,580 --> 00:24:46,970 Ek in reaksie van die ontvang N minus 100 mense wat nie hier was 565 00:24:46,970 --> 00:24:47,960 daai dag. 566 00:24:47,960 --> 00:24:52,116 En selfs snaakser, meer skande story-- jy weet, laat dit daar. 567 00:24:52,116 --> 00:24:53,740 Dit is reeds op video 'n paar jaar terug. 568 00:24:53,740 --> 00:24:56,810 So sal jy my gou sien skryf 'n lus vir die, waardeur 569 00:24:56,810 --> 00:25:00,640 dit is baie maklik om 'n fout in die skryf lus, soos wat die eerste keer 570 00:25:00,640 --> 00:25:02,800 deur die lus, jy stuur 'n SMS-boodskap. 571 00:25:02,800 --> 00:25:06,190 >> Die tweede keer deur die lus ek moet 'n mens meer teks boodskap gestuur het, 572 00:25:06,190 --> 00:25:08,250 en dan nog een teks boodskap, en 'n meer. 573 00:25:08,250 --> 00:25:11,490 Maar dit blyk as jy 'n tikfout maak wanneer die programmatuur, soms moet jy 574 00:25:11,490 --> 00:25:14,460 kan programme wat 'n mens stuur skryf SMS-boodskap, dan twee sms-boodskappe, 575 00:25:14,460 --> 00:25:18,742 dan drie teksboodskappe aan almal wat 'n SMS-boodskap wat reeds ontvang het. 576 00:25:18,742 --> 00:25:21,450 En soos jy weet, om iets te doen, plus iets plus iets 577 00:25:21,450 --> 00:25:25,910 plus iets is groot O van 'n baie van sms-boodskappe, of N vierkantig 578 00:25:25,910 --> 00:25:29,830 of by $ 0,10 'n SMS-boodskap, $ 20,000. 579 00:25:29,830 --> 00:25:33,700 >> Gelukkig het ek getref Control-C voor daardie gebeur het, maar ek het skuld ten minste een 580 00:25:33,700 --> 00:25:37,550 jou voorgangers $ 20 vir die 200 'n paar vreemde teks boodskappe wat, 581 00:25:37,550 --> 00:25:40,450 nie net na sy selfoon, maar ook was dit soos 'n ouer telefoon flip 582 00:25:40,450 --> 00:25:43,520 sodat dit graag gestoot uit sy geheue elke ander persoonlike teks 583 00:25:43,520 --> 00:25:45,930 boodskap wat hy het eintlik gekry. 584 00:25:45,930 --> 00:25:49,250 So het ons een doel vandag, nie om dit te doen. 585 00:25:49,250 --> 00:25:50,620 Miskien draai op die vliegtuig af. 586 00:25:50,620 --> 00:25:51,120 Alles reg. 587 00:25:51,120 --> 00:25:56,590 So laat ons gaan in 'n program hier callled-- 588 00:25:56,590 --> 00:25:59,060 dat ek die teks sal roep dot PHP. 589 00:25:59,060 --> 00:26:01,074 En in advance, het ek twee lêers het hier. 590 00:26:01,074 --> 00:26:06,030 Ek 'n lêer vir net personeel gemaak dat is het al die personeel se inligting, al die name 591 00:26:06,030 --> 00:26:07,260 van die kursus se webblad. 592 00:26:07,260 --> 00:26:09,756 En dan vir nou is ek net sit sommige vals nommers 555-1212. 593 00:26:09,756 --> 00:26:11,380 So het hierdie sou nie eintlik gaan oral. 594 00:26:11,380 --> 00:26:15,140 Maar kennis van die binnekant van hierdie CSV, wat ons gepraat oor vlugtig voor 595 00:26:15,140 --> 00:26:16,540 in die konteks van die lêer IO. 596 00:26:16,540 --> 00:26:18,730 >> Wat is 'n CSV-lêer? 597 00:26:18,730 --> 00:26:19,970 Kommas geskei veranderlikes. 598 00:26:19,970 --> 00:26:24,400 En dit is soort van soos 'n baie liggewig databasis, as jy wil. 599 00:26:24,400 --> 00:26:28,650 Daar is soort van soort vier kolomme in hierdie lêer, en daar kronkelende, 600 00:26:28,650 --> 00:26:32,400 maar die kommas in wese kolomme in die lêer te verteenwoordig. 601 00:26:32,400 --> 00:26:35,400 Die eerste kolom is die TF of naam CA se. 602 00:26:35,400 --> 00:26:37,800 Tweede kolom is hul laaste naam. 603 00:26:37,800 --> 00:26:39,820 Derde kolom is hul telefoonnommer. 604 00:26:39,820 --> 00:26:44,760 En vierde kolom blykbaar is-- vierde kolom is blykbaar wat? 605 00:26:44,760 --> 00:26:45,870 OK, so dit is hul draer. 606 00:26:45,870 --> 00:26:47,180 So Verizon, Sprint of nie, of wat nie. 607 00:26:47,180 --> 00:26:48,620 En as ek vroeër misspoke, CSV. 608 00:26:48,620 --> 00:26:51,800 Kommas geskei waardes is CSV hier. 609 00:26:51,800 --> 00:26:54,260 >> So wat kan ek doen met hierdie? 610 00:26:54,260 --> 00:26:56,940 Wel, dit is net 'n groot teks lêer, en dit is soort van 'n lang, reg? 611 00:26:56,940 --> 00:26:58,690 Soos dit gaan soort van irriterende. 612 00:26:58,690 --> 00:27:03,510 En dit blyk egter dat as ek wil 'n SMS-boodskap, laat se stuur 613 00:27:03,510 --> 00:27:05,180 sê Alex hier. 614 00:27:05,180 --> 00:27:09,690 Laat my gaan in my browser en die uitgang van die volle skerm 615 00:27:09,690 --> 00:27:11,660 net so kan ek heen en weer skakel. 616 00:27:11,660 --> 00:27:20,280 Dit blyk uit, laat ons sien, as ek gaan in hier en teken in Gmail, alles reg. 617 00:27:20,280 --> 00:27:22,950 Moenie kyk na hierdie deel. 618 00:27:22,950 --> 00:27:23,880 Net ek kry om te sien. 619 00:27:23,880 --> 00:27:26,551 620 00:27:26,551 --> 00:27:28,800 natuurlik die Livestream kan steeds te sien wat ek doen. 621 00:27:28,800 --> 00:27:29,360 Alles reg. 622 00:27:29,360 --> 00:27:31,850 >> So hier is net Gmail met Rekening John Harvard se. 623 00:27:31,850 --> 00:27:34,000 So as ek wil 'n stuur SMS-boodskap aan Alex, 624 00:27:34,000 --> 00:27:35,530 Ek kan natuurlik komponeer 'n boodskap. 625 00:27:35,530 --> 00:27:38,410 En dit blyk, en ek het dit getoets met Alex voor hier, 626 00:27:38,410 --> 00:27:42,260 sodat jy kan 'n sekere domein voeg noem om mense se telefoonnommers, 627 00:27:42,260 --> 00:27:45,850 want daar bestaan ​​in die wêreld dinge genoem SMS na e-pos poorte. 628 00:27:45,850 --> 00:27:50,000 Wat is 'n fancy manier van alle gesê van ons wat selfone wat 629 00:27:50,000 --> 00:27:53,200 het telefoonnommers, natuurlik, daar is waarskynlik vir jou diensverskaffer, 630 00:27:53,200 --> 00:27:56,840 'n sekere agtervoegsel soos by Vtext.com vir Verizon teksboodskap 631 00:27:56,840 --> 00:28:00,320 dot com, wat jy kan voeg by jou eie persoonlike telefoonnommer, en dan 632 00:28:00,320 --> 00:28:03,540 jy of vriende, of jou ouers kan teks wat jy op daardie spesifieke adres. 633 00:28:03,540 --> 00:28:07,380 >> En Verizon het 'n bediener, 'n e- bediener, wat oor die ontvangs van hierdie e-pos, 634 00:28:07,380 --> 00:28:11,180 kyk na die numeriese deel en dan gebruik alles wat spesiale bedryf magie 635 00:28:11,180 --> 00:28:14,540 hulle moet eintlik stuur dit uit oor die luggolwe jou spesifieke sel 636 00:28:14,540 --> 00:28:15,040 foon. 637 00:28:15,040 --> 00:28:18,030 Nou is dit lekker, want ek doen nie regtig weet hoe om 'n SMS-boodskap 638 00:28:18,030 --> 00:28:20,460 of die kode nog skryf vir my selfoon, 639 00:28:20,460 --> 00:28:23,580 en jy kan presies doen wat vir 'n finale projek, maar vir nou al 640 00:28:23,580 --> 00:28:24,770 Ek het my laptop hier. 641 00:28:24,770 --> 00:28:29,830 So ek wil Itereer oor daardie CSV lêer, lyn, deur die lyn, deur die lyn, deur die lyn, 642 00:28:29,830 --> 00:28:35,160 gryp elke telefoonnommers die personeel se en hulle draer en programatically, 643 00:28:35,160 --> 00:28:39,770 koppel, dit is, verbind die telefoon nommer met die toepaslike domein 644 00:28:39,770 --> 00:28:40,820 en dan stuur 'n epos. 645 00:28:40,820 --> 00:28:41,940 >> So dit is 'n baie stappe. 646 00:28:41,940 --> 00:28:45,530 En voorspoed doen wat in C. Dit is 'n nagmerrie van 'n situasie 647 00:28:45,530 --> 00:28:48,350 om 'n lêer oop te maak, om dit te lees lyn, deur die lyn, deur die lyn, as jy 648 00:28:48,350 --> 00:28:51,100 sien, of dalk binnekort te sien met die probleem sit vyf, indien nie 649 00:28:51,100 --> 00:28:53,560 probleem stel vier, en dan dinamies koppel 650 00:28:53,560 --> 00:28:57,020 twee stringe saam, want in C, twee snare te neem en hulle kombineer, 651 00:28:57,020 --> 00:29:00,900 wat jy doen minimaal moet waarskynlik doen? 652 00:29:00,900 --> 00:29:03,020 Jy moet meer geheue te verklaar, reg? 653 00:29:03,020 --> 00:29:04,710 En vra, malloc, kan ek meer geheue? 654 00:29:04,710 --> 00:29:07,060 So ek kan die helfte van hierdie plaas hier, die helfte van hierdie hier. 655 00:29:07,060 --> 00:29:08,150 Dit is net so baie stappe. 656 00:29:08,150 --> 00:29:10,310 En deur daardie punt wat jy verloor het belangstelling in die dom bietjie demo 657 00:29:10,310 --> 00:29:11,851 waar jy maak almal se selfoon beep. 658 00:29:11,851 --> 00:29:14,590 Kom ons doen hierdie soort van PHP styl, waardeur ons net 659 00:29:14,590 --> 00:29:16,210 begin die gebruik van meer van daardie kombuis wasbak. 660 00:29:16,210 --> 00:29:18,050 >> En die idees is fundamenteel dieselfde, 661 00:29:18,050 --> 00:29:20,710 maar ons hoef nie te bekommer te veel oor wat laer vlak. 662 00:29:20,710 --> 00:29:22,950 So laat ons sien hoe ek kan gaan om dit te doen. 663 00:29:22,950 --> 00:29:26,664 En net so dat ek dit nie doen nie herhaal foute van die verlede, 664 00:29:26,664 --> 00:29:28,330 Ek het 'n paar notas geskryf vir myself hier. 665 00:29:28,330 --> 00:29:31,070 En laat ons sien of ek ons ​​kan loop deur 'n paar van die fundamentele stappe, 666 00:29:31,070 --> 00:29:33,861 en dan ter wille van die tyd se ons sal miskien sny n paar hoeke in die einde. 667 00:29:33,861 --> 00:29:38,007 Ek gaan om voort te gaan en te doen oop bracket PHP hierdie lêer begin. 668 00:29:38,007 --> 00:29:39,590 En ek gaan om voort te gaan en doen dit. 669 00:29:39,590 --> 00:29:41,490 Lêer te hanteer, soos u sal gou sien, eintlik 670 00:29:41,490 --> 00:29:44,790 noem 'n funksie genoem f oop. 671 00:29:44,790 --> 00:29:46,280 En onthou dit open 'n lêer. 672 00:29:46,280 --> 00:29:48,800 En die kwotasie, unquote, r beteken wat, weer? 673 00:29:48,800 --> 00:29:49,800 Maak dit net vir die lees. 674 00:29:49,800 --> 00:29:51,210 Nou in p stel vir u dit gedoen het. 675 00:29:51,210 --> 00:29:54,500 En hanteer kan enigiets wees, fu, bar, bas, enige veranderlike naam. 676 00:29:54,500 --> 00:29:57,470 Maar oor die algemeen 'n rekenaar wetenskaplike sou 'n oop lêer noem, 677 00:29:57,470 --> 00:30:00,962 gee jou 'n lêer te hanteer, iets om te hou op om so te praat. 678 00:30:00,962 --> 00:30:02,670 Ek gaan net om te doen sommige foutopsporing. 679 00:30:02,670 --> 00:30:07,260 So as die handvatsel vals is, net soos in C, ek gaan om iets te doen soos, 680 00:30:07,260 --> 00:30:09,545 Kon lêer nie oopmaak, backslash n. 681 00:30:09,545 --> 00:30:11,420 En dan is ek net gaan om voort te gaan en die uitgang. 682 00:30:11,420 --> 00:30:14,340 En dit blyk, in PHP, Ek is nie in 'n funksie. 683 00:30:14,340 --> 00:30:16,160 Daar is geen hooffunksie hier. 684 00:30:16,160 --> 00:30:17,450 Sodat ek nie terugkeer nie, per se. 685 00:30:17,450 --> 00:30:18,120 Ek verlaat. 686 00:30:18,120 --> 00:30:19,619 Wat is basies dieselfde ding. 687 00:30:19,619 --> 00:30:22,510 En ek verlaat met 'n y waarskynlik. 688 00:30:22,510 --> 00:30:24,220 Een beteken net 'n fout van 'n soort. 689 00:30:24,220 --> 00:30:25,580 Dit is nie-nul, so dit is 'n fout. 690 00:30:25,580 --> 00:30:30,220 >> Alle reg, so as ek hier af nou in my program wat ek die lêer oopgemaak het. 691 00:30:30,220 --> 00:30:34,250 Ek gaan om voort te gaan en verklaar 'n skikking met die naam adresse, 692 00:30:34,250 --> 00:30:38,610 en in C ek wil hê om die ken grootte van die skikking in advance, reg? 693 00:30:38,610 --> 00:30:41,910 Of ek sou nodig om hierdie te verklaar is 'n wyser, en gebruik dan malloc. 694 00:30:41,910 --> 00:30:44,720 En dan elke keer as ek lees deur 'n ander ry in die lêer, 695 00:30:44,720 --> 00:30:46,620 Ek gaan moet malloc meer geheue, malloc meer geheue. 696 00:30:46,620 --> 00:30:47,703 Dit is 'n pyn in die nek. 697 00:30:47,703 --> 00:30:50,950 En gelukkig, PHP, en Ruby, en Python, en JavaScript, hulle 698 00:30:50,950 --> 00:30:53,880 sal jou skikkings groei outomaties vir jou. 699 00:30:53,880 --> 00:30:54,830 Nie meer malloc. 700 00:30:54,830 --> 00:30:56,227 Nie meer geheue bestuur. 701 00:30:56,227 --> 00:30:57,560 Die rekenaar sorg dat. 702 00:30:57,560 --> 00:31:00,330 Maar die prys wat jy betaal. 703 00:31:00,330 --> 00:31:01,350 Dit is 'n bietjie stadiger. 704 00:31:01,350 --> 00:31:03,190 En vir 'n program soos hierdie ons is nie van plan om op te let. 705 00:31:03,190 --> 00:31:04,720 Ons gaan 100 SMS-boodskappe stuur. 706 00:31:04,720 --> 00:31:06,136 Byvoorbeeld nie van plan om dit te voel. 707 00:31:06,136 --> 00:31:08,430 Dit is regtig net begin saak taal van jou keuse 708 00:31:08,430 --> 00:31:11,490 wanneer jou data of jou programme kry regtig, regtig aansienlike, 709 00:31:11,490 --> 00:31:14,120 soos wat die geval meer so wees met ons web-gebaseerde dinge. 710 00:31:14,120 --> 00:31:15,450 >> Maar vir nou, laat ons vooruit. 711 00:31:15,450 --> 00:31:20,120 Terwyl dit blyk daar is 'n funksie in C genoem f te kry CSV. 712 00:31:20,120 --> 00:31:24,570 Lêer te kry CSV, wat neem 'n lêer handvatsel as sy argument, 713 00:31:24,570 --> 00:31:28,810 en dit verder gaan dan ry deur ry deur ry, om te lees in 'n ry. 714 00:31:28,810 --> 00:31:30,964 So is dit net lees 'n lyn van teks van die lêer. 715 00:31:30,964 --> 00:31:34,130 Maar wat is lekker oor hierdie funksie, dit nie net hand vir my 'n reël van die teks. 716 00:31:34,130 --> 00:31:37,320 Dit lyk vir diegene kommas, en ontleed die lyn. 717 00:31:37,320 --> 00:31:41,740 En om die lyn te ontleed beteken om te verdeel dit op 'n sekere waardes in hierdie konteks. 718 00:31:41,740 --> 00:31:45,510 >> Met ander woorde, dollar teken ry is 'n veranderlike wat 719 00:31:45,510 --> 00:31:47,010 gaan vir my 'n klomp van die indekse gee. 720 00:31:47,010 --> 00:31:49,635 Dit gaan die wees eerste kolom in my CSV. 721 00:31:49,635 --> 00:31:52,510 Dit gaan die tweede wees kolom, dit gaan na die derde wees, 722 00:31:52,510 --> 00:31:53,968 en dit gaan die vierde te wees. 723 00:31:53,968 --> 00:31:57,440 Omdat onthou, en Excel die nie saam die laaste keer dat ons dit gedoen het, 724 00:31:57,440 --> 00:32:03,350 maar as ek dit aflaai personeel dot CSV. 725 00:32:03,350 --> 00:32:04,940 Oeps, herbenoem nie. 726 00:32:04,940 --> 00:32:09,120 As ek aflaai personeel dot CSV, en probeer om dit oop te, 727 00:32:09,120 --> 00:32:12,510 Ek het reeds registered-- oh ek nie werk Excel sedert die laaste keer. 728 00:32:12,510 --> 00:32:15,880 Jy sal sien dat personeel dot CSV, ek het vier kolomme. 729 00:32:15,880 --> 00:32:18,720 So toe ek lees in die eerste ry vir Abby hier 730 00:32:18,720 --> 00:32:23,582 dollar teken ry 0 is Abby, dollar teken ry een is Lyons, 731 00:32:23,582 --> 00:32:27,740 dollar teken ry twee is haar nommer, en dan draer van haar selfoon. 732 00:32:27,740 --> 00:32:28,410 >> So dis al. 733 00:32:28,410 --> 00:32:30,740 En dit is mooi, want ek hoef nie te nou uitvind 734 00:32:30,740 --> 00:32:32,800 waar al die kommas eintlik. 735 00:32:32,800 --> 00:32:35,300 So ek gaan om voort te gaan en doen dit, gegewe dat definisie 736 00:32:35,300 --> 00:32:38,960 Ek gaan om te sê dat haar naam is in ry bracket nul, soos belowe. 737 00:32:38,960 --> 00:32:41,150 En ek gaan grab-- en eintlik, jy weet wat? 738 00:32:41,150 --> 00:32:42,780 Ek gaan nie te bekommer oor haar naam, in hierdie geval. 739 00:32:42,780 --> 00:32:43,988 Ek gaan dit makliker te hou. 740 00:32:43,988 --> 00:32:48,610 Ek gaan om te doen haar nommer is in ry bracket twee, dink ek. 741 00:32:48,610 --> 00:32:50,510 En haar draer was in waar? 742 00:32:50,510 --> 00:32:53,405 Ry drie, die een oor. 743 00:32:53,405 --> 00:32:54,280 So niks nuuts daar. 744 00:32:54,280 --> 00:32:56,770 Dis net nul kruip in 'n skikking. 745 00:32:56,770 --> 00:32:58,760 >> En nou, ek gaan na die volgende te doen. 746 00:32:58,760 --> 00:33:03,930 As die draer gelyk gelyk AT & T-- Ek gaan net om 'n loop-- het 747 00:33:03,930 --> 00:33:06,790 Ek wil 'n e-pos te skep adres wat lyk soos hierdie. 748 00:33:06,790 --> 00:33:12,320 Dit gaan wees 617-555-1212 by, wat is dit, text.ATT.net, 749 00:33:12,320 --> 00:33:13,490 is wat ek wil doen. 750 00:33:13,490 --> 00:33:15,260 So hoe kan ek dit doen? 751 00:33:15,260 --> 00:33:16,730 Ek gaan die volgende te doen. 752 00:33:16,730 --> 00:33:22,460 Haar adres is gaan haar nommer wees, en nou, laat my gaan voort en doen dit. 753 00:33:22,460 --> 00:33:23,760 Dit is 'n paar funky sintaksis. 754 00:33:23,760 --> 00:33:27,250 Ek kon die persentasie s truuk te doen, maar ek kan eintlik net dit te doen. 755 00:33:27,250 --> 00:33:29,900 >> So dit is 'n PHP ding, maar Kom ons kyk wat ek doen. 756 00:33:29,900 --> 00:33:31,630 Dollars teken adres op links, net 'n veranderlike. 757 00:33:31,630 --> 00:33:32,300 Gee my 'n veranderlike. 758 00:33:32,300 --> 00:33:33,390 Ek het nie die tipe spesifiseer. 759 00:33:33,390 --> 00:33:34,570 PHP sal dit uitwerk. 760 00:33:34,570 --> 00:33:36,580 Op die regterkant, Wat is die tipe data 761 00:33:36,580 --> 00:33:38,399 van daardie hele ding op die regterhand? 762 00:33:38,399 --> 00:33:40,190 Lyk soos 'n string, want daar is dubbele 763 00:33:40,190 --> 00:33:42,280 haal die ver links en heel regs. 764 00:33:42,280 --> 00:33:44,210 Nou is daar 'n paar funky nuwe sintaksis hier. 765 00:33:44,210 --> 00:33:47,550 Daar is die krulhakies, en die dollar teken nommer. 766 00:33:47,550 --> 00:33:52,860 Maar neem 'n raai wat is dat sintaksis waarskynlik vertel PHP te doen vir my? 767 00:33:52,860 --> 00:33:53,360 Ja. 768 00:33:53,360 --> 00:33:54,630 Voeg net die waarde daar. 769 00:33:54,630 --> 00:33:55,530 Sodat daar geen persent s. 770 00:33:55,530 --> 00:33:58,160 Ons kon druk f, of s gebruik Druk f of iets soos dit, 771 00:33:58,160 --> 00:34:00,070 maar PHP en 'n baie hoër vlak tale, 772 00:34:00,070 --> 00:34:03,070 jy gaan om te sien wat jy kan doen dieselfde ding funksioneel, miskien 773 00:34:03,070 --> 00:34:04,019 ses verskillende maniere. 774 00:34:04,019 --> 00:34:06,310 En so het dit begin te raak 'n saak van die ontwerp of styl. 775 00:34:06,310 --> 00:34:09,902 So dit is net 'n kriptiese soek manier sê, gee my 'n e-posadres, 776 00:34:09,902 --> 00:34:12,110 maar plug-in die nommer in tussen hierdie krullerige draadjies. 777 00:34:12,110 --> 00:34:15,440 En die krulhakies sal nie beland in die finale adres. 778 00:34:15,440 --> 00:34:18,010 >> Nou kan ons slaan oor 'n paar van hierdie lyne ter wille se tyd. 779 00:34:18,010 --> 00:34:21,210 So as 'n draer gelyk gelyk verHorizon-- Oeps, 780 00:34:21,210 --> 00:34:24,989 Verizon-- ek iets wil doen baie soortgelyk, waar die adres kry, 781 00:34:24,989 --> 00:34:27,569 quote, unquote, nommer by text.ATT.net. 782 00:34:27,569 --> 00:34:30,380 783 00:34:30,380 --> 00:34:35,050 En dan kan ek dieselfde soort te doen ding vir die res van die draers. 784 00:34:35,050 --> 00:34:37,090 Maar ek sal net dot, dot, dot doen vir nou. 785 00:34:37,090 --> 00:34:43,050 En nou, laat ons veronderstel dat Ek wil verskeidenheid by te voeg, te stoot. 786 00:34:43,050 --> 00:34:45,969 Ek wil toe te voeg tot die skikking, genaamd adresse. 787 00:34:45,969 --> 00:34:50,409 >> Hierdie adres, dit is hoe jy iets toe te voeg tot 'n skikking in PHP. 788 00:34:50,409 --> 00:34:51,610 Jy hoef nie te malloc doen. 789 00:34:51,610 --> 00:34:53,068 Jy hoef nie na die verskeidenheid grootte. 790 00:34:53,068 --> 00:34:54,259 Jy moet net sê skikking, stoot. 791 00:34:54,259 --> 00:34:57,300 Wat wil jy wat array push-- wil jy iets op te stoot? 792 00:34:57,300 --> 00:34:58,000 Adresse. 793 00:34:58,000 --> 00:34:59,550 Wat jy wil om te stoot op adresse? 794 00:34:59,550 --> 00:35:00,350 Adres. 795 00:35:00,350 --> 00:35:02,430 En in werklikheid, as jy regtig wil om slim te wees, 796 00:35:02,430 --> 00:35:05,610 sommige sintaktiese suiker vir hierdie, so te sê, 797 00:35:05,610 --> 00:35:10,230 wat beteken net hoe kan jy dit doen in die mooier manier sou wees om dit te doen. 798 00:35:10,230 --> 00:35:14,060 Dit het te die effek van groeiende die adresse verskeidenheid deur die grootte een 799 00:35:14,060 --> 00:35:17,130 en dan plop dat bykomende e-pos adres in dit. 800 00:35:17,130 --> 00:35:17,630 Ja. 801 00:35:17,630 --> 00:35:19,730 >> GEHOOR: [onhoorbaar] 802 00:35:19,730 --> 00:35:22,520 >> Spreker 1: 'n tikfout op die anders if-- oh, draer. 803 00:35:22,520 --> 00:35:23,070 Dit is OK. 804 00:35:23,070 --> 00:35:26,971 Dit sal ook nie graag my versuim om implementeer deel van hierdie program 805 00:35:26,971 --> 00:35:27,470 later. 806 00:35:27,470 --> 00:35:28,810 Maar dankie vir die vang. 807 00:35:28,810 --> 00:35:30,671 Een fout. 808 00:35:30,671 --> 00:35:31,170 Dankie. 809 00:35:31,170 --> 00:35:33,746 Ons wil om dit te Vtext.com wees. 810 00:35:33,746 --> 00:35:34,340 Ja. 811 00:35:34,340 --> 00:35:34,839 Alles reg. 812 00:35:34,839 --> 00:35:36,330 So waar laat dit ons? 813 00:35:36,330 --> 00:35:38,224 Ons het die kode om die lêer oop te maak geskryf. 814 00:35:38,224 --> 00:35:40,390 Ons het 'n lus om Itereer oor die rye in die lêer. 815 00:35:40,390 --> 00:35:43,650 Ons het kode wat bydra tot my skikking, een op 'n tyd, het die reg 816 00:35:43,650 --> 00:35:44,790 geformateer e-posadres. 817 00:35:44,790 --> 00:35:48,480 So al wat werklik bly is om te stuur 'n e-pos aan elkeen van hierdie mense. 818 00:35:48,480 --> 00:35:52,830 >> So ek het vooruit gegaan en gereed gemaak myself as volg. 819 00:35:52,830 --> 00:35:59,580 Wat gaan ek hier is-- doen en laat gaan voort en slaan 'n paar werklike kode, 820 00:35:59,580 --> 00:36:00,620 wat lyk soos hierdie. 821 00:36:00,620 --> 00:36:02,950 So hier is die pre-gebakte weergawe wat ek vroeër geskryf het. 822 00:36:02,950 --> 00:36:04,700 En sien ek klaar implementering Sprint. 823 00:36:04,700 --> 00:36:06,130 Ek het klaar die implementering T-Mobile. 824 00:36:06,130 --> 00:36:08,020 Ek het klaar die implementering Virgin Mobile. 825 00:36:08,020 --> 00:36:09,622 En Ek sal om verskoning vra in advance. 826 00:36:09,622 --> 00:36:12,080 Daar is 'n paar draers wat sommige studente in die klas 827 00:36:12,080 --> 00:36:14,640 dat ek nie die moeite deelinventaris in die toestand as hier. 828 00:36:14,640 --> 00:36:16,015 So nie al die tekste sal uitgaan. 829 00:36:16,015 --> 00:36:17,556 Maar laat ons sien wat anders wat ek nodig het om te doen. 830 00:36:17,556 --> 00:36:19,660 Ek maak die lêer, net soos in p stel vier. 831 00:36:19,660 --> 00:36:20,835 >> En dit is 'n nuwe sintaksis. 832 00:36:20,835 --> 00:36:22,710 En ons sal sien 'n bietjie bietjie van hierdie verloop van tyd, 833 00:36:22,710 --> 00:36:24,450 veral met die p stel sewe en agt. 834 00:36:24,450 --> 00:36:28,140 Maar dit is vir die skep van sintaksis 'n spesiale tipe van struktuur. 835 00:36:28,140 --> 00:36:31,490 Dit blyk daar is 'n biblioteek wat kom met PHP, genoem PHP mailer. 836 00:36:31,490 --> 00:36:33,840 Sy doel in die lewe is om programmaties e-pos stuur. 837 00:36:33,840 --> 00:36:36,840 Dit is code iemand anders geskryf dat maak dit vir ons makliker om e-pos te stuur, 838 00:36:36,840 --> 00:36:39,131 sodat ons nie hoef te hou heen en weer om Gmail gaan, 839 00:36:39,131 --> 00:36:41,151 en plak in mense se e-pos adresse. 840 00:36:41,151 --> 00:36:44,150 Daar is 'n hele klomp van die lyne hier wat eerlik, ek net soort van gekopieerde 841 00:36:44,150 --> 00:36:45,660 en geplak van die dokumentasie. 842 00:36:45,660 --> 00:36:47,409 En in die feit, as jy nuuskierig, ek het alles verlaat 843 00:36:47,409 --> 00:36:50,550 van die URLs van die dokumentasie in die kode wat ons sal later plaas. 844 00:36:50,550 --> 00:36:52,360 En sien dat onder die dinge wat ek doen 845 00:36:52,360 --> 00:36:55,710 is, ek vertel hierdie biblioteek, gebruik bediener se Gmail, reg? 846 00:36:55,710 --> 00:36:59,360 SMTP ons gepraat kortliks oor wanneer ons was aan die Yale oor die feit dat eenvoudige pos 847 00:36:59,360 --> 00:37:00,110 oordrag protokol. 848 00:37:00,110 --> 00:37:02,920 Dit is die protokol wat bedieners wat gebruik word om e-pos te stuur, 849 00:37:02,920 --> 00:37:05,150 en that's-- Gmail het een van daardie. 850 00:37:05,150 --> 00:37:07,290 A hawe, dit is die TCP-poort nommer. 851 00:37:07,290 --> 00:37:09,630 Dit is goed as jy het nie gesien voor 587. 852 00:37:09,630 --> 00:37:11,420 Weet net dat die dokumentasie. 853 00:37:11,420 --> 00:37:12,250 Hier is my gebruikersnaam. 854 00:37:12,250 --> 00:37:13,670 Ek gaan die CF50 bot gebruik. 855 00:37:13,670 --> 00:37:16,690 En in 'n oomblik, ek is net gaan om te tik in die bot se werklike wagwoord. 856 00:37:16,690 --> 00:37:18,690 En dan af hier, sien wat oorbly. 857 00:37:18,690 --> 00:37:22,840 >> Ek het my van adres word Bot by CS50.net. 858 00:37:22,840 --> 00:37:26,240 Ek dink ek sal nie spyt stuur van 'n SMS-boodskap na 800 mense wat 859 00:37:26,240 --> 00:37:30,590 sê, mis jou, liefde CS50 bot, miskien vir diegene wat nie kon maak wat dit vandag. 860 00:37:30,590 --> 00:37:33,160 En dan in lyn 76, wat moet ek doen? 861 00:37:33,160 --> 00:37:39,010 Hierdie soort lyk soos C. So vir i gelyk 0, n equals-- nou tel is 'n nuwe. 862 00:37:39,010 --> 00:37:42,077 Dit blyk dat as jy wil te kry die aantal van die dinge in 'n skikking, 863 00:37:42,077 --> 00:37:43,660 jy hoef nie om dit nie meer dink nie. 864 00:37:43,660 --> 00:37:45,370 Jy kan net vra funksie genoem telling, 865 00:37:45,370 --> 00:37:48,320 en dit sal vir jou sê hoeveel adresse in daardie skikking. 866 00:37:48,320 --> 00:37:53,210 >> En dan gaan ek voeg die adres aan die e-pos. 867 00:37:53,210 --> 00:37:55,090 En ek weet dit uit die gebruik van die dokumentasie. 868 00:37:55,090 --> 00:37:56,900 Daar is 'n add-posadres funksie. 869 00:37:56,900 --> 00:37:58,980 En nou is daar sien is 'n stuk van sintaksis. 870 00:37:58,980 --> 00:38:01,470 Ons het dit gesien voor in C. Soortgelyke in die gees. 871 00:38:01,470 --> 00:38:04,100 Jy kan dink dollar teken pos as 'n veranderlike, wat dit is. 872 00:38:04,100 --> 00:38:08,100 Maar dit is 'n struct binnekant van wat nie net eiendomme, 873 00:38:08,100 --> 00:38:09,400 veranderlikes as jy wil. 874 00:38:09,400 --> 00:38:13,480 Maar dit blyk dat in PHP, wat is 'n objekgeoriënteerde programmering 875 00:38:13,480 --> 00:38:16,520 taal, soos Java as jy het APCs. 876 00:38:16,520 --> 00:38:21,420 >> Dollar-teken pos, as jy wil aan- dit het ook funksies binnekant van dit, 877 00:38:21,420 --> 00:38:22,380 of metodes. 878 00:38:22,380 --> 00:38:24,720 So, dit is om te sê dat spesiale PHP mailer 879 00:38:24,720 --> 00:38:29,280 biblioteek, as ek 'n veranderlike daarvan het, as ek wil 'n funksie noem 880 00:38:29,280 --> 00:38:31,559 kom met daardie biblioteek, vir doeleindes vandag se 881 00:38:31,559 --> 00:38:33,100 net jy weet die pyl notasie te gebruik. 882 00:38:33,100 --> 00:38:34,150 Daar is geen dot-notasie. 883 00:38:34,150 --> 00:38:35,220 Dis net die pyl. 884 00:38:35,220 --> 00:38:36,380 Maar dit is nie 'n wyser. 885 00:38:36,380 --> 00:38:38,680 Dit is net geleen van C se sintaksis. 886 00:38:38,680 --> 00:38:43,620 So bel voeg adres binnekant van voorwerp of veranderlike se biblioteek. 887 00:38:43,620 --> 00:38:44,440 >> Alles reg. 888 00:38:44,440 --> 00:38:45,570 Dit is die magiese lyn. 889 00:38:45,570 --> 00:38:46,740 Dit is hoe ek 'n e-pos te stuur. 890 00:38:46,740 --> 00:38:50,040 Dit is die ekwivalent van die opening Gmail, tik dit uit en slaan stuur nie. 891 00:38:50,040 --> 00:38:54,870 Maar dit gaan plaas stuur 'n e-pos na hierdie adres met hierdie liggaam, 892 00:38:54,870 --> 00:38:57,120 uit die CS50 bot. 893 00:38:57,120 --> 00:38:58,710 En nou sleutel lyn. 894 00:38:58,710 --> 00:39:03,130 Hierdie lyn is afwesig in 2011 soos as ek dink ek verlede probeer om hierdie. 895 00:39:03,130 --> 00:39:05,640 Dat die lyn daar, natuurlik, goedkeuring van die adresse. 896 00:39:05,640 --> 00:39:07,920 So logies, as ek nie die adres nie duidelik 897 00:39:07,920 --> 00:39:11,740 na elke iterasie, die eerste e-pos of SMS-boodskap gaan na Alice, 898 00:39:11,740 --> 00:39:14,320 die tweede gaan Alice en Bob, die derde 899 00:39:14,320 --> 00:39:17,870 gaan na Alice en Bob en Charlie, vandaar die baie duur fout 900 00:39:17,870 --> 00:39:18,760 Ek daardie jaar gemaak. 901 00:39:18,760 --> 00:39:21,080 >> So laat ons sien. 902 00:39:21,080 --> 00:39:24,200 Is daar enige vrae voordat ons stuur jou al 'n teks 903 00:39:24,200 --> 00:39:28,210 boodskap met 10 persent waarskynlikheid? 904 00:39:28,210 --> 00:39:28,940 Enige vrae? 905 00:39:28,940 --> 00:39:30,330 Alles reg. 906 00:39:30,330 --> 00:39:36,100 Kom my hier en verandering gaan die wagwoord om wat moet werk, 907 00:39:36,100 --> 00:39:37,780 sal waarskynlik kry swartlys geplaas word deur Gmail. 908 00:39:37,780 --> 00:39:39,821 Sodat hulle kan gaan nie alles uit, aangesien hulle waarskynlik 909 00:39:39,821 --> 00:39:42,960 hou nie van ons te stuur e-pos 800 in 'n lus vir die alles op een slag. 910 00:39:42,960 --> 00:39:45,140 Want dit is nie veral menslike gedrag. 911 00:39:45,140 --> 00:39:47,460 >> O, ek gaan 'n ander ding te verander. 912 00:39:47,460 --> 00:39:50,850 By die top, ek gaan sent-- verander die lêer om studente dot CSV. 913 00:39:50,850 --> 00:39:55,420 En ek sal dit nie oopmaak nie, maar dit is 'n identies CSV met nie 100 personeel, 914 00:39:55,420 --> 00:39:58,970 maar 800 studente, net van Harvard, Yale, want 915 00:39:58,970 --> 00:40:00,207 het Oktober reses hierdie week. 916 00:40:00,207 --> 00:40:03,290 En dit lyk asof soort van 'n ruk ding om te doen om almal van hulle teks waarom 917 00:40:03,290 --> 00:40:04,750 hulle is nie in die klas op vakansie. 918 00:40:04,750 --> 00:40:05,250 Dit is OK. 919 00:40:05,250 --> 00:40:08,310 Net Harvard studente vandag binnekant van die lêer. 920 00:40:08,310 --> 00:40:12,320 En nou, laat ons gaan terug my terminale venster. 921 00:40:12,320 --> 00:40:13,710 Ek is soort van senuweeagtig. 922 00:40:13,710 --> 00:40:22,000 >> OK so nou gaan ek in die om te gaan gids, en PHP teks dot PHP. 923 00:40:22,000 --> 00:40:24,950 Hoe oor een dapper vrywilliger? 924 00:40:24,950 --> 00:40:26,690 So ek het nie hierdie wil op my. 925 00:40:26,690 --> 00:40:28,410 OK, kom op op. 926 00:40:28,410 --> 00:40:29,162 Wat is jou naam? 927 00:40:29,162 --> 00:40:29,662 MAYA: Maya. 928 00:40:29,662 --> 00:40:30,328 Spreker 1: Maya. 929 00:40:30,328 --> 00:40:31,610 Kom op, Maya. 930 00:40:31,610 --> 00:40:34,120 Alles reg. 931 00:40:34,120 --> 00:40:35,389 Kom ons kyk of dit werk. 932 00:40:35,389 --> 00:40:38,430 Ek het my eie e-posadres in die file-- my eie telefoonnommer in die lêer, 933 00:40:38,430 --> 00:40:40,110 sodat hopelik sal ek die een so goed te kry. 934 00:40:40,110 --> 00:40:40,819 Bly te kenne. 935 00:40:40,819 --> 00:40:41,443 MAYA: Net so. 936 00:40:41,443 --> 00:40:44,510 Spreker 1: So al wat jy hoef te doen, is druk Enter 800 SMS-boodskappe stuur, 937 00:40:44,510 --> 00:40:45,466 as ek nie skroef. 938 00:40:45,466 --> 00:40:51,106 939 00:40:51,106 --> 00:40:51,606 Lekker. 940 00:40:51,606 --> 00:40:55,556 941 00:40:55,556 --> 00:40:58,430 Kon 'n rukkie neem, statisties, totdat ons 'n e-address-- 942 00:40:58,430 --> 00:41:00,573 'n SMS-boodskap wat in die kamer nou. 943 00:41:00,573 --> 00:41:03,880 944 00:41:03,880 --> 00:41:05,390 Kom ons vertoef en sien. 945 00:41:05,390 --> 00:41:06,940 >> GEHOOR: [fluit] 946 00:41:06,940 --> 00:41:08,270 >> Spreker 1: O, ja. 947 00:41:08,270 --> 00:41:09,230 >> GEHOOR: O, Gotcha. 948 00:41:09,230 --> 00:41:16,720 949 00:41:16,720 --> 00:41:19,180 >> Spreker 1: Vir loops are-- hierdie is nie as gevolg van stadige PHP. 950 00:41:19,180 --> 00:41:21,810 Dit is stadig as gevolg Gmail is ons wurg en nie 951 00:41:21,810 --> 00:41:25,170 laat ons meer as stuur soos een e-pos per sekonde. 952 00:41:25,170 --> 00:41:26,300 Enigiets? 953 00:41:26,300 --> 00:41:29,990 Dit was 'n harde ding vir my om te toets op huis met net my en my 'n telefoon, so. 954 00:41:29,990 --> 00:41:37,630 955 00:41:37,630 --> 00:41:41,111 Is wat hopelik uit die bot? 956 00:41:41,111 --> 00:41:41,610 Ja? 957 00:41:41,610 --> 00:41:42,110 Geen? 958 00:41:42,110 --> 00:41:44,760 959 00:41:44,760 --> 00:41:46,620 Sê ja. 960 00:41:46,620 --> 00:41:47,479 Geen? 961 00:41:47,479 --> 00:41:49,374 Dit is van 'n vriend? 962 00:41:49,374 --> 00:41:49,874 Ongemaklik. 963 00:41:49,874 --> 00:41:50,374 OK. 964 00:41:50,374 --> 00:41:56,580 965 00:41:56,580 --> 00:42:00,090 Redelik seker dit is al die werk. 966 00:42:00,090 --> 00:42:00,910 Uh Oh. 967 00:42:00,910 --> 00:42:03,190 Hulle black-- O, wag 'n minuut. 968 00:42:03,190 --> 00:42:04,280 O, jy weet wat? 969 00:42:04,280 --> 00:42:06,100 Een oomblik asseblief. 970 00:42:06,100 --> 00:42:07,802 Slegs Maya en I-- Mia, was dit? 971 00:42:07,802 --> 00:42:08,301 MAYA: Maya. 972 00:42:08,301 --> 00:42:12,110 Spreker 1: Maya, gaan weet wat ek verkeerd gedoen het hier. 973 00:42:12,110 --> 00:42:14,890 O, wag 'n minuut. 974 00:42:14,890 --> 00:42:23,320 Ek dink ek het net gestuur 100 SMS-boodskappe te 555-1212. 975 00:42:23,320 --> 00:42:24,346 Staan by. 976 00:42:24,346 --> 00:42:28,080 977 00:42:28,080 --> 00:42:29,270 Ek kan enige jaar nie wen nie. 978 00:42:29,270 --> 00:42:30,180 OK. 979 00:42:30,180 --> 00:42:30,680 Maya? 980 00:42:30,680 --> 00:42:33,530 981 00:42:33,530 --> 00:42:36,219 Los wat in post-produksie. 982 00:42:36,219 --> 00:42:36,718 Dammit! 983 00:42:36,718 --> 00:42:39,430 984 00:42:39,430 --> 00:42:40,390 Volgende uit adres. 985 00:42:40,390 --> 00:42:41,301 OK, staan. 986 00:42:41,301 --> 00:42:41,800 Jammer. 987 00:42:41,800 --> 00:42:44,550 988 00:42:44,550 --> 00:42:47,080 Dit is pynlik elke jaar. 989 00:42:47,080 --> 00:42:48,640 OK, een oomblik. 990 00:42:48,640 --> 00:42:50,530 Hierdie is goed. 991 00:42:50,530 --> 00:42:54,010 Ek plaas gaan om dit te doen. 992 00:42:54,010 --> 00:42:55,470 Druk adres. 993 00:42:55,470 --> 00:42:56,030 OK, staan. 994 00:42:56,030 --> 00:43:01,340 Print adresse, bracket i. 995 00:43:01,340 --> 00:43:02,710 Ja, ek hou daarvan. 996 00:43:02,710 --> 00:43:10,220 Dollar sign-- OK ek sal verduidelik wat ek is doen in 'n oomblik, nadat ek hierdie het hardloop. 997 00:43:10,220 --> 00:43:11,670 Elke jaar. 998 00:43:11,670 --> 00:43:13,125 OK, hier gaan ons. 999 00:43:13,125 --> 00:43:15,750 Ek het just-- en ek wil nie tot almal se telefoonnommer te wys, 1000 00:43:15,750 --> 00:43:17,740 maar Maya kan bevestig met 'n knipoog van die kop, 1001 00:43:17,740 --> 00:43:20,800 dat sy sien almal is telefoonnommer in die klas 1002 00:43:20,800 --> 00:43:26,750 ek gaan om te kopieer na 'n program genaamd Gmail. 1003 00:43:26,750 --> 00:43:30,860 En as in Gmail, doen wat ons wil sê? 1004 00:43:30,860 --> 00:43:32,137 Mis jou. 1005 00:43:32,137 --> 00:43:33,220 Love-- dit is nie vir my nie. 1006 00:43:33,220 --> 00:43:35,230 Ek het nog nie eens getref nie stuur nie. 1007 00:43:35,230 --> 00:43:39,450 So laat ons gaan voort en doen hierdie, as ek kan in zoom. 1008 00:43:39,450 --> 00:43:40,300 OK. 1009 00:43:40,300 --> 00:43:42,480 So ek gebruik 'n program genaamd Gmail nou. 1010 00:43:42,480 --> 00:43:44,490 As Maya, sou jy graag Klik op die knoppie stuur 1011 00:43:44,490 --> 00:43:46,970 Ons sal simuleer wat dit kode moet gedoen. 1012 00:43:46,970 --> 00:43:54,630 1013 00:43:54,630 --> 00:43:55,254 >> Enigiets? 1014 00:43:55,254 --> 00:43:56,062 >> [Biep] 1015 00:43:56,062 --> 00:43:56,870 >> GEHOOR: Yep. 1016 00:43:56,870 --> 00:43:58,030 >> Spreker 1: Ja? 1017 00:43:58,030 --> 00:43:59,210 Redding? 1018 00:43:59,210 --> 00:44:00,427 >> GEHOOR: Yep. 1019 00:44:00,427 --> 00:44:01,260 Spreker 1: mis jou. 1020 00:44:01,260 --> 00:44:02,718 En ek gaan om uit te stuur die res. 1021 00:44:02,718 --> 00:44:06,060 Ek het die helfte, want ek het nie gedink Gmail sou laat diegene gaan deur. 1022 00:44:06,060 --> 00:44:12,410 So onthou net, vandag is die dag dat jy geleer dat ek Gmail kan gebruik. 1023 00:44:12,410 --> 00:44:14,977 1024 00:44:14,977 --> 00:44:15,810 Dit was skrikwekkend. 1025 00:44:15,810 --> 00:44:17,140 'N Groot applous vir Maya. 1026 00:44:17,140 --> 00:44:18,980 Dankie. 1027 00:44:18,980 --> 00:44:21,280 Alle reg, sodat. 1028 00:44:21,280 --> 00:44:22,210 wat 1029 00:44:22,210 --> 00:44:23,140 >> [Biep] 1030 00:44:23,140 --> 00:44:25,010 1031 00:44:25,010 --> 00:44:26,580 >> Ons het 'n paar biep, ja? 1032 00:44:26,580 --> 00:44:27,080 Alles reg. 1033 00:44:27,080 --> 00:44:30,590 Nou gaan ek regtig 700 ongelukkig e-pos terug van klasmaats. 1034 00:44:30,590 --> 00:44:32,400 So ten minste sal ons sien as dit was die moeite werd. 1035 00:44:32,400 --> 00:44:33,300 So, wat het verkeerd gegaan? 1036 00:44:33,300 --> 00:44:35,300 Ek sal uitvind wat het verkeerde na die feit, 1037 00:44:35,300 --> 00:44:38,340 maar kyk net hoe maklik dit was om dit te doen in PHP. 1038 00:44:38,340 --> 00:44:44,598 So, wat kan ons nou eintlik doen ons het hierdie uitdrukking van PHP. 1039 00:44:44,598 --> 00:44:45,970 Dit was-- daardie aaklige was. 1040 00:44:45,970 --> 00:44:46,480 Alles reg. 1041 00:44:46,480 --> 00:44:48,430 So dit was wat moet uitgegaan. 1042 00:44:48,430 --> 00:44:52,770 Dit is my toets vanoggend op my telefoon, werklike kiekie van my selfoon. 1043 00:44:52,770 --> 00:44:56,180 >> Maar nou laat ons kyk waarom ons is eintlik die bekendstelling 1044 00:44:56,180 --> 00:44:57,840 al hierdie dinge in die eerste plek. 1045 00:44:57,840 --> 00:45:01,625 So die doel is nie om skryf hierdie programme wat 1046 00:45:01,625 --> 00:45:03,250 word aan die command line, reg? 1047 00:45:03,250 --> 00:45:05,000 So ek het 'n eenvoudige hallo program, het ek 1048 00:45:05,000 --> 00:45:09,155 'n bietjie program wat conditionals doen, en gebruik 'n lees-lyn en so meer. 1049 00:45:09,155 --> 00:45:11,530 En in teorie, ek het net geskryf 'n program wat uitgestuur 1050 00:45:11,530 --> 00:45:14,290 800 sms-boodskappe, gee of neem 800. 1051 00:45:14,290 --> 00:45:16,830 En dat die program was al nog steeds loop op die opdrag lyn. 1052 00:45:16,830 --> 00:45:18,538 En dat van die kursus is nie die web, reg? 1053 00:45:18,538 --> 00:45:22,160 Die doel is nou om te begin met wat ek eis is 'n makliker om te gebruik 1054 00:45:22,160 --> 00:45:24,720 taal, daresay 'n meer kragtige taal in terme 1055 00:45:24,720 --> 00:45:27,104 van die eienskappe wat kom met dit, om te begin 1056 00:45:27,104 --> 00:45:29,850 skryf kode wat webblaaie genereer. 1057 00:45:29,850 --> 00:45:33,248 >> So laaste tyd en verlede week, Ons het gepraat oor HTTP en HTML. 1058 00:45:33,248 --> 00:45:36,350 En wat is lekker oor HTML is dat dit is net die suiwer teks. 1059 00:45:36,350 --> 00:45:38,220 En teks is beslis iets wat jy kan 1060 00:45:38,220 --> 00:45:42,040 druk deur letterlik bel die gedrukte f funksie, of die gedrukte funksie. 1061 00:45:42,040 --> 00:45:46,160 En inderdaad, dit is wat PHP is nou gaan ons toelaat om te doen. 1062 00:45:46,160 --> 00:45:48,610 So tussen die voorbeelde wat ons in vandag se bronkode, 1063 00:45:48,610 --> 00:45:51,610 bykomend tot 'n paar van die kode dat ek sit daar 'n oomblik gelede 1064 00:45:51,610 --> 00:45:55,440 Ons het programme soos hierdie byvoorbeeld. 1065 00:45:55,440 --> 00:45:58,760 Froshims of Groentjiekonsert Binnemuurse Sport, was eintlik 1066 00:45:58,760 --> 00:46:01,500 een van die eerste extracurriculars Ek het betrokke geraak met 'n jaar gelede. 1067 00:46:01,500 --> 00:46:03,750 En my kamermaat en ek, met sommige ander kinders op die kampus, 1068 00:46:03,750 --> 00:46:05,280 gebruik word om die program uit te voer froshims. 1069 00:46:05,280 --> 00:46:07,420 Ek kry nou my sms-boodskappe. 1070 00:46:07,420 --> 00:46:14,030 >> Nou, sodat ons, terug in die dag, so dit was 1996 of so, daar was 'n internet, 1071 00:46:14,030 --> 00:46:17,395 maar daar was geen process-- daar was geen webwerf vir froshims. 1072 00:46:17,395 --> 00:46:20,270 En so as jy wil aan te meld vir sokker of vlugbal of wat ook al, 1073 00:46:20,270 --> 00:46:22,240 jy sou vul hierdie ding bekend as 'n stuk papier, 1074 00:46:22,240 --> 00:46:25,060 en jy sal loop oor Harvard agterplaas, en jy sal dit skuif 1075 00:46:25,060 --> 00:46:29,230 in die pos slot van die Proctor, wat was in Wigglesworth, een van die slaapsale. 1076 00:46:29,230 --> 00:46:31,270 En dit was jy geregistreer is. 1077 00:46:31,270 --> 00:46:33,570 En hy of sy dan Stel 'n e-pos aan jou 1078 00:46:33,570 --> 00:46:36,514 hand, baie soos ek net gedoen hier met Maya, 1079 00:46:36,514 --> 00:46:38,930 en dan sal jy bevestig word as hy geregistreer is. 1080 00:46:38,930 --> 00:46:40,840 >> So was dit soos 'n lae hang vrugte, om so te praat. 1081 00:46:40,840 --> 00:46:42,930 Dit was soort van dom dat wat ons gebruik papier vir hierdie. 1082 00:46:42,930 --> 00:46:45,024 Ek wil hê ons moet in staat wees om om net te gaan op 'n webwerf, 1083 00:46:45,024 --> 00:46:47,440 of het die eerstejaars gaan op 'n webwerf, registreer vir sport, 1084 00:46:47,440 --> 00:46:50,398 en net outomatiseer baie van hierdie dinge deur om hul name en e-pos 1085 00:46:50,398 --> 00:46:51,850 en so meer in 'n databasis. 1086 00:46:51,850 --> 00:46:56,510 En in die feit, die heel eerste weergawe van die webwerf, die gebruik van super lelike HTML, 1087 00:46:56,510 --> 00:46:58,195 dalk het gekyk iets soos hierdie. 1088 00:46:58,195 --> 00:47:01,070 Dit was eintlik, ironies genoeg, meer verleentheid soek as dit terug 1089 00:47:01,070 --> 00:47:01,460 dan. 1090 00:47:01,460 --> 00:47:02,890 Maar ek het 'n programmeertaal. 1091 00:47:02,890 --> 00:47:06,060 Nie PHP, maar eerder genoem Perl, wat is 'n ouer taal, 1092 00:47:06,060 --> 00:47:07,251 maar baie soortgelyk in gees. 1093 00:47:07,251 --> 00:47:09,000 En ek het net heeltemal geleer dit vir myself. 1094 00:47:09,000 --> 00:47:12,208 En dit het my 'n rukkie om dit uit te vind, vra baie vrae van vriende. 1095 00:47:12,208 --> 00:47:14,080 Maar die idees daar was presies dieselfde. 1096 00:47:14,080 --> 00:47:18,050 Want wat regtig PHP is ontwerp vir nie die command line dinge 1097 00:47:18,050 --> 00:47:20,450 ons het net gespeel met, maar vir die web ontwikkeling. 1098 00:47:20,450 --> 00:47:24,960 >> Dit is regtig vasgebind in sy funksie stel om die web, soos volg. 1099 00:47:24,960 --> 00:47:26,370 Dit is froshims. 1100 00:47:26,370 --> 00:47:28,720 En as ek wou registreer in hierdie vorm, 1101 00:47:28,720 --> 00:47:30,930 dit is nogal lelik, beslis nie, maar laat my gaan voort 1102 00:47:30,930 --> 00:47:34,440 en 'n minder gemaklike student, en alles wat sport vir Matthews, 1103 00:47:34,440 --> 00:47:35,630 klik Register. 1104 00:47:35,630 --> 00:47:39,780 Wat ek wil in staat wees om te doen, is om inligting uit 'n vorm, 1105 00:47:39,780 --> 00:47:42,400 nie aan bediener Google se soos ons het die vorige keer, heeltemal 1106 00:47:42,400 --> 00:47:47,100 verneuk deur die gebruik van hul backend, ek wil my eie backend-kode te implementeer. 1107 00:47:47,100 --> 00:47:51,410 Wat beteken skryf PHP kode wat woon op 'n URL 1108 00:47:51,410 --> 00:47:54,180 daardie vorm data kan gestuur word aan. 1109 00:47:54,180 --> 00:47:57,510 >> En dan jou kode, geskryf in PHP op 'n bediener, 1110 00:47:57,510 --> 00:47:59,400 kan dan reageer op die gebruiker insette. 1111 00:47:59,400 --> 00:48:03,287 Soos sy of haar naam, of comfort vlak, of dorm, en dan iets te doen met dit. 1112 00:48:03,287 --> 00:48:05,120 In hierdie geval, het ek net dom gedruk dit uit 1113 00:48:05,120 --> 00:48:06,750 teks, wat nie alles wat mooi. 1114 00:48:06,750 --> 00:48:09,590 Maar jy kon beslis dink, as jy weet HTML, 1115 00:48:09,590 --> 00:48:13,010 en jy sal gou weet hoe om te genereer HTML met die druk f, en druk, 1116 00:48:13,010 --> 00:48:16,500 en soortgelyke funksies, kan jy beslis genereer 'n mooier webblad wat sê, 1117 00:48:16,500 --> 00:48:17,929 hey David, jy nou geregistreer. 1118 00:48:17,929 --> 00:48:20,220 Jy is 'n minder gemaklik student van Matthews, reg? 1119 00:48:20,220 --> 00:48:23,880 >> Jy kan net gebruik om 'n hele klomp van% ses, of die krulhakies en dollar-teken 1120 00:48:23,880 --> 00:48:27,750 notasie Ek gebruik 'n oomblik gelede, om teks wat is meer gebruikersvriendelik te genereer 1121 00:48:27,750 --> 00:48:28,567 as dit nie. 1122 00:48:28,567 --> 00:48:30,150 So laat ons neem 'n blik op hierdie een lêer. 1123 00:48:30,150 --> 00:48:34,666 Froshim nul dot PHP lyk. 1124 00:48:34,666 --> 00:48:37,860 1125 00:48:37,860 --> 00:48:43,500 Toe ek herlaai CS50 IDE, froshim nul lyk. 1126 00:48:43,500 --> 00:48:45,700 Dit is froshim nul dot PHP. 1127 00:48:45,700 --> 00:48:47,730 En wat doen jy op omtrent hierdie lêer? 1128 00:48:47,730 --> 00:48:49,506 >> GEHOOR: [onhoorbaar] 1129 00:48:49,506 --> 00:48:50,922 Spreker 1: Jammer, 'n bietjie harder? 1130 00:48:50,922 --> 00:48:53,250 GEHOOR: [onhoorbaar] Dit is alles in HTML. 1131 00:48:53,250 --> 00:48:57,130 En in die feit, dit is, want Wat is interessant oor PHP 1132 00:48:57,130 --> 00:48:58,880 is dat dit ontwerp is te wees, vir 'n beter 1133 00:48:58,880 --> 00:49:02,110 of vir slegter, vermeng met HTML-kode. 1134 00:49:02,110 --> 00:49:05,850 En in die feit, selfs al is dit lêer, froshim nul dot PHP, 1135 00:49:05,850 --> 00:49:11,470 het 'n PHP kommentaar op die top dit, dit is alles net HTML. 1136 00:49:11,470 --> 00:49:17,655 Maar in teenstelling, as ek oopmaak, laat sê, registreer nul dot PHP, wat 1137 00:49:17,655 --> 00:49:19,550 net 'n groot kommentaar op die top. 1138 00:49:19,550 --> 00:49:26,500 Dit lyk te byna geheel en al soos HTML, behalwe vir wat? 1139 00:49:26,500 --> 00:49:29,350 Line, wat, 21 lyk 'n bietjie vreemd. 1140 00:49:29,350 --> 00:49:32,739 >> Maar let ek aangaan PHP af met oop bracket vraagteken PHP. 1141 00:49:32,739 --> 00:49:33,780 Toe Ek het 'n paar dinge. 1142 00:49:33,780 --> 00:49:36,724 En dan aan die einde van die lyn Ek het amper, vraagteken PHP. 1143 00:49:36,724 --> 00:49:38,390 En dit is wat ek bedoel met vermeng. 1144 00:49:38,390 --> 00:49:41,910 Jy kan HTML skryf dat jy net wil hê dat die bediener na spoeg uit. 1145 00:49:41,910 --> 00:49:45,090 Maar as jy wil om iets te doen dinamiese halfpad deur die bladsy, 1146 00:49:45,090 --> 00:49:47,699 soos voeg my naam of dorm of comfort vlak, 1147 00:49:47,699 --> 00:49:49,490 Ek kan 'n funksie te gebruik soos gedrukte r, wat 1148 00:49:49,490 --> 00:49:52,492 druk rekursiewe, wat beteken net druk hierdie veranderlike, opmaak dit 1149 00:49:52,492 --> 00:49:53,200 maar jy wil. 1150 00:49:53,200 --> 00:49:55,880 Dit is regtig nie vir menslike doeleindes, dit is net 1151 00:49:55,880 --> 00:49:58,290 vir ontfouting doeleindes of diagnostiese. 1152 00:49:58,290 --> 00:49:59,460 So dit is hoe ek dit gedoen het. 1153 00:49:59,460 --> 00:50:06,100 >> As ek plaas gaan froshims twee dot PHP, sien dat die optrede van hierdie vorm 1154 00:50:06,100 --> 00:50:09,680 nie geregistreer is nie nul dot PHP as die old-- die vorige een was eintlik. 1155 00:50:09,680 --> 00:50:11,222 Maar dit is geregistreer twee dot PHP. 1156 00:50:11,222 --> 00:50:13,680 So laat ons kyk na hoe hierdie een optree 'n bietjie anders. 1157 00:50:13,680 --> 00:50:15,140 As ek gaan in weergawe twee. 1158 00:50:15,140 --> 00:50:20,430 As hier, as ek registreer as David, min gemaklik, van dorm van Mathews, 1159 00:50:20,430 --> 00:50:21,480 te registreer. 1160 00:50:21,480 --> 00:50:23,770 So hierdie keer is dit gesê, jy geregistreer is nie, nie regtig nie. 1161 00:50:23,770 --> 00:50:25,370 Kom ons kyk wat ek gedoen het hier. 1162 00:50:25,370 --> 00:50:29,760 As ek kyk na register twee dot PHP, dit het 'n paar meer PHP-kode. 1163 00:50:29,760 --> 00:50:35,410 Dit is 'n bietjie skoner, alhoewel dit steeds vou 'n bietjie lank op hierdie lyn. 1164 00:50:35,410 --> 00:50:36,260 Let hier. 1165 00:50:36,260 --> 00:50:40,300 Ek druk my HTML tag, my kop tag, my titel tag, die hoof, die liggaam. 1166 00:50:40,300 --> 00:50:45,410 >> En dan begin ek om te sê dinge soos betree PHP mode. 1167 00:50:45,410 --> 00:50:48,540 En sodat tag, oop bracket PHP-- vraagteken PHP sê, 1168 00:50:48,540 --> 00:50:53,460 hey, bediener, execute-- interpreteer die volgende dinge as PHP 1169 00:50:53,460 --> 00:50:55,030 totdat jy sien die einde tag. 1170 00:50:55,030 --> 00:50:58,590 En selfs al is jy dalk nie weet nie ander PHP as jy tot dusver gesien het, 1171 00:50:58,590 --> 00:51:01,290 jy kan soort van lees dit mooi intuïtief. 1172 00:51:01,290 --> 00:51:10,670 As naam is leeg, of troos is leeg, of dorm is leeg, wat moet ek doen? 1173 00:51:10,670 --> 00:51:12,830 Wat sê ek aan die gebruiker? 1174 00:51:12,830 --> 00:51:15,330 Jy moet jou naam, troos, en dorm, en so meer. 1175 00:51:15,330 --> 00:51:17,750 Anders, ek sê jy is geregistreer, goed nie regtig nie. 1176 00:51:17,750 --> 00:51:19,190 >> En Ek sê nie regtig want daar is geen databasis. 1177 00:51:19,190 --> 00:51:20,200 Ek is nie iets met die data te doen. 1178 00:51:20,200 --> 00:51:22,408 Ek is net gooi dit weg vir demonstrasie doeleindes. 1179 00:51:22,408 --> 00:51:24,320 Nou het ek soort van skimped oor lyn 22. 1180 00:51:24,320 --> 00:51:26,400 Daar is meer sintaksis daar, maar dollar teken 1181 00:51:26,400 --> 00:51:28,320 onderstreep post is 'n soort van interessant. 1182 00:51:28,320 --> 00:51:30,300 En dit is wat is lekker oor PHP. 1183 00:51:30,300 --> 00:51:35,610 In PHP, jy wat genoem word 'n paar super globale veranderlikes. 1184 00:51:35,610 --> 00:51:38,430 Hulle is soort van nog meer belangriker as globale veranderlikes. 1185 00:51:38,430 --> 00:51:41,370 En dit, al gekapitaliseer as sodanig, kom met PHP. 1186 00:51:41,370 --> 00:51:44,550 So as jy 'n bediener wat 'n web server geïnstalleer, soos Apache, 1187 00:51:44,550 --> 00:51:49,390 en jy die taal te installeer ondersteuning vir PHP, almal van 'n skielike jy 1188 00:51:49,390 --> 00:51:52,250 kan begin met behulp van hierdie super globale veranderlikes in jou kode. 1189 00:51:52,250 --> 00:51:54,330 >> En wat is lekker oor PHP is dat as jy net 1190 00:51:54,330 --> 00:51:57,540 skryf 'n lêer wat eindig in dot PHP, sit dit op 'n web bediener, 1191 00:51:57,540 --> 00:52:01,260 en dan moet jy 'n vorm in te dien om dit via die aksie tag en 'n vorm tag, 1192 00:52:01,260 --> 00:52:05,110 dat die aksie kenmerk in die vorm tag, PHP en die web 1193 00:52:05,110 --> 00:52:09,360 heeltemal figure uit hoe om te gryp al daardie sleutel waarde pare uit 1194 00:52:09,360 --> 00:52:11,633 van die URL soos vraag merk q gelyk katte, 1195 00:52:11,633 --> 00:52:14,782 dit sal uitvind hoe om q en katte. 1196 00:52:14,782 --> 00:52:17,710 As jy 'n foto of 'n gebruikersnaam voorlê, of 'n wagwoord om soos Facebook, 1197 00:52:17,710 --> 00:52:21,360 PHP sal uitvind vir jou waar al die data is. 1198 00:52:21,360 --> 00:52:23,821 En dit sal net hand jy 'n assosiatiewe skikking 1199 00:52:23,821 --> 00:52:27,560 genoem dollar teken underscore post, of dollar teken beklemtoon te kry, 1200 00:52:27,560 --> 00:52:30,590 afhangende van of jy gebruik van get of post voorleggings. 1201 00:52:30,590 --> 00:52:32,950 En dit sal jou net hand 'n super globale veranderlike, 1202 00:52:32,950 --> 00:52:37,254 sodat as jy wil by die naam te kry wat die gebruiker via die web voorgelê 1203 00:52:37,254 --> 00:52:41,894 vorm, wat jy letterlik net die naam sê van die super globale veranderlike, haal, 1204 00:52:41,894 --> 00:52:43,380 unquote, naam. 1205 00:52:43,380 --> 00:52:46,144 En quote, unquote troos, en quote, unquote dorm. 1206 00:52:46,144 --> 00:52:48,810 En ons gaan in staat wees om te doen hierdie en soveel meer met PHP. 1207 00:52:48,810 --> 00:52:50,540 En selfs al was dit 'n warrelwind blik op dit, 1208 00:52:50,540 --> 00:52:51,980 ons sal duik in baie meer volgende week. 1209 00:52:51,980 --> 00:52:54,247 Ons sal 'n databasis in te voer sodat jy eintlik is 1210 00:52:54,247 --> 00:52:56,816 gaan begin met die implementering jou eie e-handel based-- 1211 00:52:56,816 --> 00:52:59,150 soos website in net 'n week se tyd. 1212 00:52:59,150 --> 00:53:02,750 So sal ons sien jy die volgende keer, en hoop jy het die teks boodskappe. 1213 00:53:02,750 --> 00:53:05,450 Bye. 1214 00:53:05,450 --> 00:53:06,950 >> [Speel van musiek] 1215 00:53:06,950 --> 00:53:11,450 1216 00:53:11,450 --> 00:53:12,950 >> [Deuropening] 1217 00:53:12,950 --> 00:53:14,475 >> Spreker 2: Hey. 1218 00:53:14,475 --> 00:53:15,350 SPREKER 3: Wat gaan aan? 1219 00:53:15,350 --> 00:53:17,750 Spreker 2: Wat doen jy? 1220 00:53:17,750 --> 00:53:19,850 SPREKER 3: Werk op 'n probleem stel. 1221 00:53:19,850 --> 00:53:21,050 Spreker 2: Nice. 1222 00:53:21,050 --> 00:53:22,550 High Five. 1223 00:53:22,550 --> 00:53:23,150 >> [High Five] 1224 00:53:23,150 --> 00:53:25,584 >> Wat are-- uh, wat doen jy hier? 1225 00:53:25,584 --> 00:53:26,750 SPREKER 3: Net hang uit. 1226 00:53:26,750 --> 00:53:28,134 Net terug uit die gimnasium. 1227 00:53:28,134 --> 00:53:30,050 Ek kon nie help nie, maar sien wanneer ons 'n hoë-fived, 1228 00:53:30,050 --> 00:53:32,450 dat jy mooi growwe hande. 1229 00:53:32,450 --> 00:53:33,950 Gaan jy na die gym? 1230 00:53:33,950 --> 00:53:35,150 >> Spreker 2: No. 1231 00:53:35,150 --> 00:53:36,650 Geen. 1232 00:53:36,650 --> 00:53:38,450 >> SPREKER 3: Dude, kyk jy mooi groot. 1233 00:53:38,450 --> 00:53:45,950 Wat sleg is, want almal weet 8-bal is die groot man op die kampus. 1234 00:53:45,950 --> 00:53:48,050 Hoë-vyf. 1235 00:53:48,050 --> 00:53:49,550 >> Spreker 2: Uh, nee. 1236 00:53:49,550 --> 00:53:50,450 Nee, ek dink ek is goed. 1237 00:53:50,450 --> 00:53:52,300 Ek dink ek is goed. 1238 00:53:52,300 --> 00:53:54,097