1 00:00:00,000 --> 00:00:04,410 >> [MUZIKO Ludante] 2 00:00:04,410 --> 00:00:12,250 3 00:00:12,250 --> 00:00:15,770 >> Parolanto 1: Ĉi tiu estas CS50 kaj tio estas la fino de semajno sep. 4 00:00:15,770 --> 00:00:20,240 Hodiaŭ estas eble kie ni vere instruas vin lingvoj. 5 00:00:20,240 --> 00:00:24,100 Ni enkondukis en la pasintaj kelkaj semajnoj HTML kaj CSS, nek de kiuj 6 00:00:24,100 --> 00:00:25,240 estas programlingvoj. 7 00:00:25,240 --> 00:00:28,600 Kaj efektive, eĉ se ni ne faris rigardi preskaŭ ĉiujn la etikedoj 8 00:00:28,600 --> 00:00:33,410 ke HTML venas kun kaj preskaŭ ĉiuj de la proprietoj kiuj CSS venas kun, 9 00:00:33,410 --> 00:00:35,007 jen speco de ĝi por HTML kaj CSS. 10 00:00:35,007 --> 00:00:36,840 Ni nur ĝenerale komenci supozante ke vi 11 00:00:36,840 --> 00:00:39,545 kompreni la ĝeneralan ideoj de etikedoj kaj atributoj, 12 00:00:39,545 --> 00:00:41,850 kaj paĝoj senditaj de kliento al servilo. 13 00:00:41,850 --> 00:00:45,280 >> Ĉar hodiaŭ ni komencas rigardi alia programlingvo, PHP. 14 00:00:45,280 --> 00:00:47,110 Ni tuj faros tiun super rapida. 15 00:00:47,110 --> 00:00:50,910 Ni ne tuj instruos vin PHP per, multe kiel ni ne aspiris instrui vin 16 00:00:50,910 --> 00:00:52,670 C, per, sed prefere programado. 17 00:00:52,670 --> 00:00:55,088 Kaj efektive, unu el la celoj por tiu kurso 18 00:00:55,088 --> 00:00:57,820 ne instrui vin C, aŭ HTML aŭ CSS, aŭ PHP, 19 00:00:57,820 --> 00:01:00,370 aŭ ajnan numeron de aliaj zumado vortoj aŭ akronimoj, 20 00:01:00,370 --> 00:01:03,097 sed prefere la komputiko kaj kiel programi fundamente. 21 00:01:03,097 --> 00:01:05,930 Kaj efektive, hodiaŭ ni komencas preni tiuj trejnado radoj ekstere ĉiuj 22 00:01:05,930 --> 00:01:10,600 pli per fluganta tra lingvo nomata PHP, kiel sekvas. 23 00:01:10,600 --> 00:01:13,640 >> Jen kion ĉi lingvo aspektas. 24 00:01:13,640 --> 00:01:17,790 Rezultas, ke ne estas bezono por ĉefa funkcio en programo skribita 25 00:01:17,790 --> 00:01:19,470 en lingvo nomita PHP. 26 00:01:19,470 --> 00:01:22,585 Tiel ke jam sonas iom simpla ol C, kun kiu ni estas konataj. 27 00:01:22,585 --> 00:01:25,370 Ĝi rezultas ke se vi volas deklari variablon, 28 00:01:25,370 --> 00:01:29,470 vi faras ĝin preskaŭ idente al C. Sed Tie estas klare unu diferenco tie 29 00:01:29,470 --> 00:01:31,850 kiam mi deklaras ĉenon, aŭ eble du diferencoj. 30 00:01:31,850 --> 00:01:32,725 Kio aspektas malsamaj? 31 00:01:32,725 --> 00:01:35,810 32 00:01:35,810 --> 00:01:37,160 >> Publiko: La dolaro signo. 33 00:01:37,160 --> 00:01:39,951 >> Parolanto 1: Jes, ekzistas dolaro subskribi, kiun ni neniam antaŭe vidis. 34 00:01:39,951 --> 00:01:41,451 Kaj kio mankas? 35 00:01:41,451 --> 00:01:41,950 Yeah? 36 00:01:41,950 --> 00:01:42,820 >> Spektantaro: [inaudible] 37 00:01:42,820 --> 00:01:44,403 >> Parolanto 1: Jes, ne estas datumtipo. 38 00:01:44,403 --> 00:01:48,410 Do rezultas ke PHP estas kion ni voki loze tajpitaj lingvo, kie 39 00:01:48,410 --> 00:01:49,959 C estas forte tajpitaj. 40 00:01:49,959 --> 00:01:52,500 Loze tajpita nur signifas ke estas malsamaj datumtipoj, 41 00:01:52,500 --> 00:01:54,470 ekzistas kordoj, kaj ints kaj flosoj. 42 00:01:54,470 --> 00:01:56,330 Sed la komputilo figuroj ke ekstere. 43 00:01:56,330 --> 00:01:58,664 Vi la homa programisto ne devas scii ĝin. 44 00:01:58,664 --> 00:02:00,580 Do ĉiuj vi devi fari deklari variablon estas 45 00:02:00,580 --> 00:02:03,220 dolara signo, la nomo de via variablo, kaj tiam, ekzemple, 46 00:02:03,220 --> 00:02:04,760 citaĵo unquote, saluton mondo. 47 00:02:04,760 --> 00:02:07,662 >> Nu jen kion oni kondiĉo aspektas kiel en PHP. 48 00:02:07,662 --> 00:02:08,328 Ajna diferencoj? 49 00:02:08,328 --> 00:02:10,650 50 00:02:10,650 --> 00:02:11,150 No. 51 00:02:11,150 --> 00:02:12,540 Do rezultas tiuj estas identaj. 52 00:02:12,540 --> 00:02:14,665 Kaj eble vi havas malpli branĉoj aŭ pli branĉoj, 53 00:02:14,665 --> 00:02:16,557 sed la sintakso turnoj el ekzakte la sama. 54 00:02:16,557 --> 00:02:18,390 Buleaj esprimoj povas mendeblaj kune. 55 00:02:18,390 --> 00:02:20,400 Buleaj esprimoj povas anded kune. 56 00:02:20,400 --> 00:02:21,430 Vi ankoraŭ havas ŝaltilojn. 57 00:02:21,430 --> 00:02:23,790 Eĉ se vi ne uzis tiuj, tiuj ja ekzistas en C 58 00:02:23,790 --> 00:02:26,020 kaj ili estas funkcie ekvivalenta en PHP. 59 00:02:26,020 --> 00:02:28,260 >> Kaj fakte, en PHP ili estas iom pli potenca. 60 00:02:28,260 --> 00:02:32,540 En C, oni povas nur kompari iuj datumtipoj kiel ints kaj signoj, 61 00:02:32,540 --> 00:02:36,320 dum en PHP vi povas reale kompari plena elnestiĝas kordoj sen devi 62 00:02:36,320 --> 00:02:38,460 zorgi pri punteros kaj similaj. 63 00:02:38,460 --> 00:02:39,430 Do jen por buklo. 64 00:02:39,430 --> 00:02:41,270 Tiu estas nur _pseudocode_ kodo, se vi volas. 65 00:02:41,270 --> 00:02:43,400 Sed strukture ĝi estas identa al C. 66 00:02:43,400 --> 00:02:47,520 >> Jen dum ciklo, _pseudocode_ therefore-- identa al C. 67 00:02:47,520 --> 00:02:49,390 Jen do dum loop-- identaj. 68 00:02:49,390 --> 00:02:51,390 Kaj do tie estas ia tiu padrono tie whereby 69 00:02:51,390 --> 00:02:54,400 Tie estas kelkaj aliaj sintaksaj ĉefaĵoj ni ja tuj vidos. 70 00:02:54,400 --> 00:02:57,340 Fakte, ĉi tie estas bela maniero en PHP per kiu, 71 00:02:57,340 --> 00:02:59,350 se vi volas persisti super tabelo, kaj vi 72 00:02:59,350 --> 00:03:02,309 ne volas salti tra la mensa kaj sintaksa aros de havado 73 00:03:02,309 --> 00:03:05,178 int i egalas 0, i malpli ol n, i plus plus-- kiu 74 00:03:05,178 --> 00:03:07,040 estas nur multajn ĝenajn sintakso. 75 00:03:07,040 --> 00:03:10,654 Vi povas diri iom pli fluide por ĉiu nombroj 76 00:03:10,654 --> 00:03:13,320 kiel nombro, kie en tiu kazo dolara signo nombroj, Mi supozas, 77 00:03:13,320 --> 00:03:15,400 estas kiel tabelo nomis nombroj. 78 00:03:15,400 --> 00:03:18,810 Kaj poste mi supozante numeron, singulara, tuj estos variablo. 79 00:03:18,810 --> 00:03:22,940 >> Kaj kion PHP faros al mi kiel mi persisti super tiu buklo estas, sur ĉiu ripeto, 80 00:03:22,940 --> 00:03:28,450 ĝi tuj ĝisdatigi la variablo nombro esti la Ith elemento en nombrojn, pluralo. 81 00:03:28,450 --> 00:03:30,060 Do nur pritraktas ĉiujn de tio por mi. 82 00:03:30,060 --> 00:03:32,750 Neniu kvadrataj krampoj, neniu dolara signo, Neniu punktokomoj. 83 00:03:32,750 --> 00:03:34,117 Estas nur iom pli simpla. 84 00:03:34,117 --> 00:03:35,950 Nu, se vi volas tabelo, rezultas vi 85 00:03:35,950 --> 00:03:38,908 povas fari ion bela simila al C. La sintakso estas iom malsama. 86 00:03:38,908 --> 00:03:41,000 Sed ĉi tie estas tabelo nomis dolaro subskribitaj nombroj. 87 00:03:41,000 --> 00:03:44,261 Kaj mi uzas, en PHP, kvadrata krampoj, rezultas. 88 00:03:44,261 --> 00:03:47,260 Kaj ni tuj vidas tiujn denove en JavaScript-- ankoraŭ alia lingvo. 89 00:03:47,260 --> 00:03:49,968 Mi nur uzas kvadrata krampo notacio havi komo apartigis liston 90 00:03:49,968 --> 00:03:51,530 de entjeroj, en tiu kazo. 91 00:03:51,530 --> 00:03:53,010 Sed tio donas al mi tabelo. 92 00:03:53,010 --> 00:03:56,270 >> Sed eĉ pli potenca en PHP, ni ankaŭ havas kio estas ĝenerale 93 00:03:56,270 --> 00:03:57,640 nomata asociaj tabeloj. 94 00:03:57,640 --> 00:03:59,540 Kaj multan lingvoj havas tiujn ankaŭ. 95 00:03:59,540 --> 00:04:03,810 La afero pri C sensilo estas ke la indeksoj 96 00:04:03,810 --> 00:04:06,940 por tabelo, kion vi uzi en kvadrataj krampoj tra kio 97 00:04:06,940 --> 00:04:08,600 vi aliri elementojn, devas esti kio? 98 00:04:08,600 --> 00:04:10,620 >> Spektantaro: [inaudible] 99 00:04:10,620 --> 00:04:14,220 >> Parolanto 1: Ili devas esti nek nombroj entjeroj, specife de nulo sur supren. 100 00:04:14,220 --> 00:04:17,140 Nu, en PHP, kaj, rezultas ekstere, en aliaj lingvoj, 101 00:04:17,140 --> 00:04:20,820 vi povas komenci havi indeksoj kiuj ne nombraj. 102 00:04:20,820 --> 00:04:23,880 Sed ili estas reale vortoj aŭ frazoj, tiel ke anstataŭ 103 00:04:23,880 --> 00:04:27,070 provu memori kie io estas, aŭ stokitaj en variablo i, 104 00:04:27,070 --> 00:04:31,720 vi efektive povas uzi vorton kaj diri that-- vi povas diri vorton tiel. 105 00:04:31,720 --> 00:04:34,730 >> Do dolaro signo citaĵo estas la nomo de variablo tie. 106 00:04:34,730 --> 00:04:39,360 Tiu estas iom funky sintakso jen asociante du ŝlosilaj valoro 107 00:04:39,360 --> 00:04:41,250 paroj por tiu variablo. 108 00:04:41,250 --> 00:04:45,490 Specife, tiu donas min tabelo kiu estas de longo 2. 109 00:04:45,490 --> 00:04:47,660 Sed la indeksoj estas ne 0 kaj 1. 110 00:04:47,660 --> 00:04:51,250 La indeksoj estas citaĵo unquote simbolo kaj citaĵo unquote prezo. 111 00:04:51,250 --> 00:04:55,990 Kaj la valoroj de tiuj indeksoj, respektive, estas FB Facebook 112 00:04:55,990 --> 00:05:00,360 kaj $ 79,53, kiam Mi daŭri kontrolis prezon por tio. 113 00:05:00,360 --> 00:05:01,210 >> Kion tio signifas? 114 00:05:01,210 --> 00:05:04,136 Nu, tio signifas ke anstataŭ skribo kodo 115 00:05:04,136 --> 00:05:09,612 kiel tiu, kie mi kutimis fari ion kiel dolaro sign-- aŭ prefere, en C 116 00:05:09,612 --> 00:05:11,070 Mi ne eĉ havas dolaro signo. 117 00:05:11,070 --> 00:05:13,490 Mi farus ion kiel citaĵoj kaj tiam 118 00:05:13,490 --> 00:05:18,410 Mi farus krampo i akiri je iu arbitre ciferece indeksita valoro. 119 00:05:18,410 --> 00:05:21,430 De hodiaŭ en PHP, se vi volas ricevi en iu valoro, 120 00:05:21,430 --> 00:05:24,742 ni ia havi pli semantika esprimivo. 121 00:05:24,742 --> 00:05:27,450 Nur fantazio maniero diri ni povas simple nomas aferojn kiaj ili estas. 122 00:05:27,450 --> 00:05:29,800 >> Kaj se vi volas ricevi e io simbolo, 123 00:05:29,800 --> 00:05:32,180 nun vi laŭvorte fari citi unquote simbolo 124 00:05:32,180 --> 00:05:34,910 en rektaj krampoj anstataŭ nura nombro. 125 00:05:34,910 --> 00:05:36,450 Do ĝi estas bela oportuneco. 126 00:05:36,450 --> 00:05:38,140 Kaj tio estas speco de tio nun. 127 00:05:38,140 --> 00:05:40,240 Ekzistas aroj da aliaj trajtoj en PHP. 128 00:05:40,240 --> 00:05:43,180 Kaj ja, PHP venas kun la proverba kuirejo profundiĝi. 129 00:05:43,180 --> 00:05:48,640 Dekoj, centoj da funkcioj veni kun PHP-- tiom da pli ol venis kun C. 130 00:05:48,640 --> 00:05:51,360 >> Kaj tio ne intencis superforti sed prefere helpi 131 00:05:51,360 --> 00:05:53,900 vi konscias ke ni ne plu devas skribi kodon 132 00:05:53,900 --> 00:05:55,590 tio estas ia malsupren tie koncepte. 133 00:05:55,590 --> 00:05:58,465 Nun ni povas simple komenci utiligante de multe pli antaŭitaj karakterizaĵoj 134 00:05:58,465 --> 00:05:59,920 ke lingvoj kiel PHP havas. 135 00:05:59,920 --> 00:06:02,630 Do ni ne devas zorgi pri movanta objektojn per memoro. 136 00:06:02,630 --> 00:06:05,338 Ni ne devas maltrankviligi malloc kaj ĉiuj tiuj malsupera nivelo, 137 00:06:05,338 --> 00:06:09,390 potenca detalojn ke vi luktas kun, se ne luktas kun, pset5, 138 00:06:09,390 --> 00:06:13,380 sed vi povas komenci baldaŭ prenas por donita. 139 00:06:13,380 --> 00:06:17,770 >> Fakte, ni skribos la super simpla programo en PHP, kiel sekvas. 140 00:06:17,770 --> 00:06:21,550 Mi tuj iros kapon en CS50 IDE tie, kaj kion mi tuj faros 141 00:06:21,550 --> 00:06:29,370 estas krei novan dosieron, ke tre simple tuj nomos saluton skalara PHP. 142 00:06:29,370 --> 00:06:31,860 Do anstataŭ punkto c, estas tuj nomos skalara PHP. 143 00:06:31,860 --> 00:06:34,260 Kaj tiam en tiu dosiero, Mi povas ektajpu. 144 00:06:34,260 --> 00:06:36,960 Sed rezultu ke la unu aferon mi devas scii 145 00:06:36,960 --> 00:06:41,470 estas ke neniu PHP dosiero ĝenerale, bezonoj komenci kun iu speciala sintakso. 146 00:06:41,470 --> 00:06:44,570 Simila en spirito al HTML, sed denove, PHP estas programlingvo, ne 147 00:06:44,570 --> 00:06:45,590 markado lingvo. 148 00:06:45,590 --> 00:06:48,700 >> Do ĉiu dosiero, kaj ĝi estas speco de stultaj rigardante mi agnoskas. 149 00:06:48,700 --> 00:06:50,480 Malferma krampo, demandosigno, PHP. 150 00:06:50,480 --> 00:06:53,060 Kaj tio estas nur la lingvo maniero diri, 151 00:06:53,060 --> 00:06:58,400 hej, komputila tie venas iu kodo skribita en lingvo nomita PHP. 152 00:06:58,400 --> 00:07:01,900 Kaj tiam ĉe la fino de via dosiero, vi faras ia specon de la malon. 153 00:07:01,900 --> 00:07:04,860 Vi ne skribas PHP denove, vi nur fari demandosigno, angulo krampo. 154 00:07:04,860 --> 00:07:08,500 Kaj tiam io vi metis enen de tiuj du etikedoj, tiel diri, 155 00:07:08,500 --> 00:07:11,490 estos, aŭ devus esti, PHP-kodo. 156 00:07:11,490 --> 00:07:13,180 >> Do ni faru ion super simpla. 157 00:07:13,180 --> 00:07:19,370 Mi tuj iros antaŭen kaj fari print def, saluton mondo, backslash n, savi. 158 00:07:19,370 --> 00:07:27,310 Kaj nun en mia prompto, mi tuj faru, faru hello-- ne, mi tuj faros, 159 00:07:27,310 --> 00:07:28,726 dot oblikvo saluton. 160 00:07:28,726 --> 00:07:31,250 Ne, dot oblikvo, hm. 161 00:07:31,250 --> 00:07:32,990 Do io estas malsama. 162 00:07:32,990 --> 00:07:36,920 Kaj efektive, tiu estas ŝlosila diferenco inter PHP kaj lingvoj kiel C. C 163 00:07:36,920 --> 00:07:38,730 estis tielnomita kompilita lingvo. 164 00:07:38,730 --> 00:07:40,929 Kion ĝi signifas por C esti kompilitaj? 165 00:07:40,929 --> 00:07:41,970 Kio estis la implikaĵon? 166 00:07:41,970 --> 00:07:42,898 Yeah. 167 00:07:42,898 --> 00:07:45,220 >> Publiko: Wrote ĝin en kodo de maŝino do ĝi povus esti prizorgita fare de la komputilo. 168 00:07:45,220 --> 00:07:46,011 >> Parolanto 1: Ekzakte. 169 00:07:46,011 --> 00:07:49,075 Ni unue devi konverti ĝin tn maŝino kodo, nuloj kaj, 170 00:07:49,075 --> 00:07:51,950 antaŭ ĝi efektive estos plenumebla kaj komprenitaj de la komputilo. 171 00:07:51,950 --> 00:07:52,840 De Intel ene. 172 00:07:52,840 --> 00:07:54,530 Per la CPU ene de la komputilo. 173 00:07:54,530 --> 00:07:58,170 PHP, kontraste, estas kio nomiĝas interpretita lingvo, kiu 174 00:07:58,170 --> 00:08:02,230 signifas ke vi ne kompili ĝin en nuloj kaj, maŝino kodo, 175 00:08:02,230 --> 00:08:04,360 vi anstataŭ lasi fontkodo. 176 00:08:04,360 --> 00:08:08,130 Kaj vi anstataŭ pasi ĝin kiel enigo al programo, interpretisto 177 00:08:08,130 --> 00:08:11,960 ke iu alia skribis jaroj ke komprenas 178 00:08:11,960 --> 00:08:14,310 linion post linio, karaktero por karaktero. 179 00:08:14,310 --> 00:08:16,120 Do alivorte, homoj tie ekstere skribis 180 00:08:16,120 --> 00:08:19,670 programo kiu aspektos ĉe via kodo linio por linio, 181 00:08:19,670 --> 00:08:21,680 kaj elkompreni la komputilo devus fari, 182 00:08:21,680 --> 00:08:25,960 sen konvertado rekte al nuloj kaj aĵoj. 183 00:08:25,960 --> 00:08:28,370 >> Do se ĝi vidas por ciklo, tiu tn interpretisto 184 00:08:28,370 --> 00:08:30,630 tuj estos kiel, bone, mi devus fari ion denove kaj denove kaj denove. 185 00:08:30,630 --> 00:08:31,150 Kion mi devas fari? 186 00:08:31,150 --> 00:08:32,159 Lasu min rigardi la sekva linio. 187 00:08:32,159 --> 00:08:33,367 Lasu min rigardi la sekva linio. 188 00:08:33,367 --> 00:08:35,350 Kaj ĝi vere interpretas linion por linio. 189 00:08:35,350 --> 00:08:37,220 Do ekzekuti ĝin, mi ne uzas konsiston. 190 00:08:37,220 --> 00:08:39,409 Mi ne uzas dot oblikvo tiukaze. 191 00:08:39,409 --> 00:08:43,530 Mi anstataŭe fari PHP, kiu estas la nomo de programo, a.k.a. 192 00:08:43,530 --> 00:08:46,562 Interpretisto, jen preinstalado en CS50 IDE, 193 00:08:46,562 --> 00:08:48,770 kaj nun mi bezonas pasi komandlinio argumento, kiun 194 00:08:48,770 --> 00:08:52,290 Estas sufiĉe simple la nomo de la file ke mi volas interpreti. 195 00:08:52,290 --> 00:08:54,740 Aŭ pli indiferente, ke mi volas kuri. 196 00:08:54,740 --> 00:08:57,000 Kaj se mi batis Enter, tie ni havas in. 197 00:08:57,000 --> 00:08:57,825 Saluton mondo. 198 00:08:57,825 --> 00:08:59,950 Nun ĝi rezultas ke mi uzita presaĵo def intence 199 00:08:59,950 --> 00:09:01,600 transponti nin de C al PHP. 200 00:09:01,600 --> 00:09:05,150 Plej PHP programistoj, kiel vi vidos, eĉ ne tedas uzante print def. 201 00:09:05,150 --> 00:09:08,290 Ili simple uzi funkcio nomita print, kiun C ne havas. 202 00:09:08,290 --> 00:09:11,390 Kaj do se mi rerun ĝin nun, ĝi reale kondutas funkcie la sama. 203 00:09:11,390 --> 00:09:13,730 Mi ne povas uzi la procento s kaj procento i kaj tiel plu, 204 00:09:13,730 --> 00:09:16,250 sed estas aliaj manieroj en PHP fari tion. 205 00:09:16,250 --> 00:09:18,100 Sed tio estas nur por diri ke sintakse, 206 00:09:18,100 --> 00:09:21,850 krom iuj strangaj aĵojn supro, kaj iuj strangaj signoj malsupren 207 00:09:21,850 --> 00:09:25,960 ĉe la malsupro, la konceptojn nun de programadon en tiu alia lingvo 208 00:09:25,960 --> 00:09:27,860 tuj estos ĝuste la sama. 209 00:09:27,860 --> 00:09:30,120 >> Fakte, ni faru unu alia ekzemplo. 210 00:09:30,120 --> 00:09:32,520 Do mi tuj iros antaŭen kaj fermas la dosiero. 211 00:09:32,520 --> 00:09:37,740 Lasu min krei alian kiu Mi vokos kondiĉoj 1 skalara PHP. 212 00:09:37,740 --> 00:09:40,770 Do ne nulo, ĉar kion mi faris mi rerigardis kelkaj semajnoj, 213 00:09:40,770 --> 00:09:43,490 ni havis dosieron nomatan kondiĉoj 1 skalara C. Kaj kio 214 00:09:43,490 --> 00:09:47,590 Mi konvertiĝis ĝin en mian kapo, kaj tien sur papero, 215 00:09:47,590 --> 00:09:51,290 kaj baldaŭ sur la kurso la retejo, linio por linio en PHP. 216 00:09:51,290 --> 00:09:55,520 >> Do en la C versio, ni faris ion kiel kordoj s akiras akiri kordoj. 217 00:09:55,520 --> 00:09:58,200 Do ĝi estas iom malsama fari tion en PHP. 218 00:09:58,200 --> 00:10:01,390 Anstataŭe, mi simple tuj fari, aŭ pli ĝuste, mi 219 00:10:01,390 --> 00:10:05,870 eble faritan int n prenas akiri int, en tiu ekzemplo pli frue. 220 00:10:05,870 --> 00:10:12,600 Do anstataŭ tio, mi tuj faru n gets legi linion, Mi ŝatus entjero, 221 00:10:12,600 --> 00:10:13,670 bonvolu. 222 00:10:13,670 --> 00:10:15,110 Do tiu estas nur mia prompto. 223 00:10:15,110 --> 00:10:17,260 Kaj tial ĝi rezultas, kaj Mi volus nur scii ĉi 224 00:10:17,260 --> 00:10:20,480 el leginte aŭ vidita la funkcio antaŭe, legi liniojn de funkcio en PHP 225 00:10:20,480 --> 00:10:23,810 prenas argumenton, kiu estas prompto por la homa, kaj lia celo en la vivo 226 00:10:23,810 --> 00:10:26,220 estas legi linion de teksto ke li aŭ ŝi tipoj en. 227 00:10:26,220 --> 00:10:29,160 Kaj tiam stokas ke teksto en la variablo n. 228 00:10:29,160 --> 00:10:32,200 >> Kaj nun mi volus fari ion kiel Mi faris semajnoj, en kiel semajno 229 00:10:32,200 --> 00:10:33,290 unu de la klaso. 230 00:10:33,290 --> 00:10:36,600 Se n estas pli granda ol nulo, tiam, mi tuj 231 00:10:36,600 --> 00:10:42,930 deprunti ke sintakso ni ĵus vidis, print def, vi plukis pozitiva nombro, 232 00:10:42,930 --> 00:10:44,360 backslash n. 233 00:10:44,360 --> 00:10:49,990 Else se n egalas egalas nulo, mi tuj iru antaŭen kaj diru, presi def, 234 00:10:49,990 --> 00:10:54,090 vi elektis nulon backslash n. 235 00:10:54,090 --> 00:10:56,830 Alie, la kazo tie devas kompreneble, presi def, 236 00:10:56,830 --> 00:10:58,620 vi prenis negativa nombro. 237 00:10:58,620 --> 00:11:00,970 >> Kaj ni certe povas apliki la logiko de tiu afero 238 00:11:00,970 --> 00:11:03,390 en aron da malsamaj vojoj, sed la punkto ĉi tie 239 00:11:03,390 --> 00:11:07,210 estas ke sintakse, apenaŭ io estas nova. 240 00:11:07,210 --> 00:11:09,830 Estas nur la dolaro signo kaj nova funkcio kaj legi linion. 241 00:11:09,830 --> 00:11:12,090 Sed fundamente, kio novas nun estas mi interpreti tion. 242 00:11:12,090 --> 00:11:13,910 Mi pasante kiel enigo al alia programo. 243 00:11:13,910 --> 00:11:16,620 Do se mi volas kuri ĉi, se Mi ne faris erarojn, 244 00:11:16,620 --> 00:11:20,140 Mi tuj kuros PHP, de kondiĉoj 1 skalara PHP, Enter, 245 00:11:20,140 --> 00:11:23,440 Mi tuj tajpi la numeron 50, kaj ni supozu por nun funkcias. 246 00:11:23,440 --> 00:11:25,940 Ĉar la logiko estas la samajn aferojn kiel semajno unu. 247 00:11:25,940 --> 00:11:28,020 >> Bone, do jen vere underwhelming, dekstra? 248 00:11:28,020 --> 00:11:30,240 Ni povus fari tion en ajna nombro de lingvoj. 249 00:11:30,240 --> 00:11:33,200 Ni faru ion vojon pli potenca. 250 00:11:33,200 --> 00:11:35,610 Ni finpoluro problemo starigis kvin. 251 00:11:35,610 --> 00:11:37,370 Do mi tuj iros antaŭen kaj fari tion. 252 00:11:37,370 --> 00:11:42,920 Mi tuj krei dosieron vokis vortaro skalara PHP, 253 00:11:42,920 --> 00:11:45,424 kaj klinis kiel vi povus esti grimpi malsupren multaj notoj, 254 00:11:45,424 --> 00:11:47,340 la notojn nur helpos vi se vi estas permesita 255 00:11:47,340 --> 00:11:48,923 implementar problemojn starigis kvin en PHP. 256 00:11:48,923 --> 00:11:52,706 Sed ni vidos kiom rapide nun ni povas apliki tiun saman problemon aro. 257 00:11:52,706 --> 00:11:56,830 >> Do en vortaro skalara PHP, mi iras supozi, ke ekzistas jam 258 00:11:56,830 --> 00:11:58,514 dosiero en la mondo nomita literumanto. 259 00:11:58,514 --> 00:12:01,430 Kaj efektive, mi faris tion anticipe, kaj ni ne iros tra tiu linio 260 00:12:01,430 --> 00:12:03,596 por linio, sed se vi estas scivola poste kaj vere volas 261 00:12:03,596 --> 00:12:06,250 envolver via menso ĉirkaŭ la diferencoj inter c kaj PHP, 262 00:12:06,250 --> 00:12:09,030 laŭvorte kompari tiun dosieron: literumanto, el hodiaŭa fontkodo 263 00:12:09,030 --> 00:12:11,190 ke ni afiŝi poste hodiaŭ, kontraŭ p aro 264 00:12:11,190 --> 00:12:15,309 kvin literumanto punkto c ke ni donu al vi, Kaj ĝi estas preskaŭ la sama linio por linio. 265 00:12:15,309 --> 00:12:16,600 Ekzistas kelkaj pli dolaro signoj. 266 00:12:16,600 --> 00:12:18,330 Paro funkcioj estas iom malsama. 267 00:12:18,330 --> 00:12:20,038 Sed estas bela maniero de ia vidante kiel 268 00:12:20,038 --> 00:12:22,740 vi tradukas unu lingvo al alia. 269 00:12:22,740 --> 00:12:24,812 Kaj ĝi estas preskaŭ identa linio por linio. 270 00:12:24,812 --> 00:12:27,770 Sed mi tuj supozis ke tio ekzistas, kaj kion mi faros tie 271 00:12:27,770 --> 00:12:31,310 estas provu blovi vian menson per reimplementing 272 00:12:31,310 --> 00:12:36,210 la tuteco de problemo aro kvin maniero rapide ol vi estis farante tiel malproksime. 273 00:12:36,210 --> 00:12:39,330 Do ekzemple, mi tuj unua deklari tutmonda variablo nomis grandeco, 274 00:12:39,330 --> 00:12:40,444 kaj starigis ĝin egala al nulo. 275 00:12:40,444 --> 00:12:41,610 Nun tio ne multe ŝparadoj. 276 00:12:41,610 --> 00:12:44,170 Odds estas vi implementado grandeco preskaux la samo, 277 00:12:44,170 --> 00:12:48,440 aŭ aludo aludo, volo ĉinokte aŭ mateno, nur uzanta malloka variablo nomata 278 00:12:48,440 --> 00:12:49,900 grandecon, kaj fiksante ĝin egala al nulo. 279 00:12:49,900 --> 00:12:52,660 Tio ne estas aparte mirinda spoiler. 280 00:12:52,660 --> 00:12:57,180 >> Do kio estus via datumstrukturoj de elekto, tiuj de vi kiu plonĝis en 281 00:12:57,180 --> 00:13:02,170 kaj legis la spec, kion datumstrukturoj esti la plej multaj el vi estis uzanta? 282 00:13:02,170 --> 00:13:06,840 Hash tablo aŭ provi, eble iuj variantoj de tio. 283 00:13:06,840 --> 00:13:10,490 Do implementando hash tablo almenaŭ, afablas multajn liniojn de kodo, 284 00:13:10,490 --> 00:13:10,990 dekstra? 285 00:13:10,990 --> 00:13:13,700 Kaj ne ĉiuj el ili povus esti funkcia ĉe tiu punkto en la semajno, 286 00:13:13,700 --> 00:13:14,366 sed tio estas bone. 287 00:13:14,366 --> 00:13:19,300 Ĉar en PHP, se mi volas hash tablo farita. 288 00:13:19,300 --> 00:13:20,260 Dekstra? 289 00:13:20,260 --> 00:13:22,610 Por ke variablo kiu mi havas nur deklaris evidente 290 00:13:22,610 --> 00:13:26,180 nomita dolaro signo tablo po la enkonduko antaŭe. 291 00:13:26,180 --> 00:13:28,902 >> Sed mi vere volas nur, ĉe la fino de la tago, tabelo. 292 00:13:28,902 --> 00:13:31,610 Sed ne estas ciferece indeksita tabelo, ĉar tio estas kiel semajno du 293 00:13:31,610 --> 00:13:33,440 aĵon, kiam ni parolis pri tabeloj. 294 00:13:33,440 --> 00:13:34,850 Mi volas hash tablo. 295 00:13:34,850 --> 00:13:38,070 Sed hash tablo estas vere nur konkreta maniero diri, 296 00:13:38,070 --> 00:13:40,190 vi volas asocieca tabelo. 297 00:13:40,190 --> 00:13:43,270 Vi volas povi asociita ŝlosilojn kun valoroj. 298 00:13:43,270 --> 00:13:44,200 Ŝlosiloj kun valoroj. 299 00:13:44,200 --> 00:13:45,640 Kio estas vortaro, vere? 300 00:13:45,640 --> 00:13:47,080 Nu ĝi estas tuta aro de klavoj. 301 00:13:47,080 --> 00:13:50,320 Vortoj kiel pomo, piro, kaj banano, kaj ĉiuj el tiuj anglaj vortoj 302 00:13:50,320 --> 00:13:51,490 ke ni transdonu vin. 303 00:13:51,490 --> 00:13:54,820 >> Kaj la valoroj kiujn vi efike enmeto en via vortaro 304 00:13:54,820 --> 00:13:57,790 estas aŭ vera, aŭ la foresto, falsa. 305 00:13:57,790 --> 00:14:00,540 Alivorte vi enmeto tutan faskon da ŝlosilaj valoro paroj, 306 00:14:00,540 --> 00:14:03,720 pomo, vera, piro, vera, banano, vera. 307 00:14:03,720 --> 00:14:07,446 Por ke kiam vi elsxuti aux rigardu kolektis datumojn en via hash tablo 308 00:14:07,446 --> 00:14:10,070 kun via ĉeko funkcio, vi ĉu reatingas respondon, 309 00:14:10,070 --> 00:14:13,260 jes, mi trovis ĝin en mia komplekso hash tablo, aŭ ne, ĝi ne estas tie, 310 00:14:13,260 --> 00:14:14,540 tiel vi revenos falsaj. 311 00:14:14,540 --> 00:14:19,440 >> Do fari tion, mi nur bezonas la datumojn strukturon kiel mi proponis antaŭe. 312 00:14:19,440 --> 00:14:22,050 Mi nur bezonas povi asocii vortojn 313 00:14:22,050 --> 00:14:25,570 kiel, citaĵo unquote, simbolo, kun valoro kiel, vera. 314 00:14:25,570 --> 00:14:27,090 Do ekzistas mia hash tablo. 315 00:14:27,090 --> 00:14:28,180 Ni efektive uzi ĝin. 316 00:14:28,180 --> 00:14:30,310 Do ekzistas kelkaj funkcioj Mi bezonas apliki. 317 00:14:30,310 --> 00:14:33,300 Mi tuj iros antaŭen kaj mordi malproksime funkcio nomita grandeco. 318 00:14:33,300 --> 00:14:34,390 Ĝi prenas neniun argumenton. 319 00:14:34,390 --> 00:14:36,660 Mi ne devas zorgi pri la vorto, malplenon, en PHP. 320 00:14:36,660 --> 00:14:38,770 Mi simple tuj revenos grandeco. 321 00:14:38,770 --> 00:14:41,287 >> Kaj kiel flanken, PHP havas ĉi minorly ĝena detalo, 322 00:14:41,287 --> 00:14:44,620 kie se io estas tutmonda, vi devas diri la funkcio kiun vi uzas 323 00:14:44,620 --> 00:14:46,220 ĝi, hey, tiu estas malloka variablo. 324 00:14:46,220 --> 00:14:49,330 Do, minora stulteco, sed vi devi fari ĝin tamen. 325 00:14:49,330 --> 00:14:50,920 >> Do kio pri ŝarĝo? 326 00:14:50,920 --> 00:14:52,990 Mi tuj apliki funkcio nomita ŝarĝo 327 00:14:52,990 --> 00:14:56,790 kiu portas en la nomon de vortaro, samkiel en problemo starigis kvin. 328 00:14:56,790 --> 00:14:59,554 Kaj antaŭ mi procedi, rimarkos ke mi ne 329 00:14:59,554 --> 00:15:00,970 estis tajpanta tute same. 330 00:15:00,970 --> 00:15:06,060 Kio estas evidente malsama en PHP pri kiamaniere vi rakontos funkcio kontre C? 331 00:15:06,060 --> 00:15:06,616 Yeah. 332 00:15:06,616 --> 00:15:07,490 Spektantaro: [inaudible] 333 00:15:07,490 --> 00:15:08,573 Parolanto 1: Neniu reveno tipo. 334 00:15:08,573 --> 00:15:12,350 Kaj efektive, jen la kazo, PHP mezuro ĝi estas loze tajpita, 335 00:15:12,350 --> 00:15:14,190 estas ankaŭ iom fuŝa en tiu senco. 336 00:15:14,190 --> 00:15:17,680 Vi ne specifas kiel la programisto kion tiu funkcio redonas. 337 00:15:17,680 --> 00:15:20,490 Vi devus reale rigardu ĉe la kodo por kalkuli ke ekstere. 338 00:15:20,490 --> 00:15:22,670 Aŭ legu la komentojn aŭ la dokumentado. 339 00:15:22,670 --> 00:15:24,870 Do plusoj kaj minusoj de tiajn decidojn. 340 00:15:24,870 --> 00:15:26,750 Sed mi devas diri la ŝlosila vorto, funkcio. 341 00:15:26,750 --> 00:15:28,360 Kiam ni lernas JavaScript en paro semajnoj 342 00:15:28,360 --> 00:15:31,026 ni tuj vidas la saman aferon denove, sed ĝi estas la sama ideo. 343 00:15:31,026 --> 00:15:34,220 La nomo de la funkcio, lia argumento aŭ argumentoj aŭ manko, kaj nun 344 00:15:34,220 --> 00:15:35,630 tie estas la efektivigo. 345 00:15:35,630 --> 00:15:38,860 >> Do mi tuj tranĉis iuj anguloj simple esti drama por nur momento. 346 00:15:38,860 --> 00:15:40,485 Sed mi tuj iros antaŭen kaj diru tion. 347 00:15:40,485 --> 00:15:44,890 Jen kiel mi povas ŝarĝi dosiero en tabelo. 348 00:15:44,890 --> 00:15:47,580 Ekzistas funkcio en PHP nomis dosiero. 349 00:15:47,580 --> 00:15:49,300 Vi donu ĝin la nomo de dosiero. 350 00:15:49,300 --> 00:15:53,950 Ĝi donas al vi reen tabelo, enen el kiuj estas ĉiu linio el la dosiero. 351 00:15:53,950 --> 00:15:56,480 El nulo, unu, plu supren al n minus 1 linioj. 352 00:15:56,480 --> 00:15:57,210 Estas tio, ĉu ne? 353 00:15:57,210 --> 00:15:57,990 Mankas f legita. 354 00:15:57,990 --> 00:15:58,826 Mankas f get s. 355 00:15:58,826 --> 00:15:59,700 Mankas procentoj s. 356 00:15:59,700 --> 00:16:00,420 Mankas kapdolorojn. 357 00:16:00,420 --> 00:16:01,220 Mankas feof. 358 00:16:01,220 --> 00:16:03,950 Ĉiuj kiuj aĵoj kun kiuj vi estis luktanta eble, 359 00:16:03,950 --> 00:16:06,550 kun p starigis kvar kaj kvin, iras. 360 00:16:06,550 --> 00:16:09,450 >> Do mi ĵus legis tiujn liniojn en la dosieron, kaj tiam vi scias kion? 361 00:16:09,450 --> 00:16:15,510 Se mi volas persisti super tiuj vortoj, Mi povas fari, por ĉiu linioj kiel linion. 362 00:16:15,510 --> 00:16:19,992 Memoru ke ĉi tiu estis ia saĝa vojo de ripetanta super tabelo, indekso 363 00:16:19,992 --> 00:16:25,090 per indico, kaj sur ĉiu ripeto voko la nuna linio, dolaro signo linio. 364 00:16:25,090 --> 00:16:31,560 Kaj ĝuste ĉi tie mi tuj iros kaj diri tablo, krampo, linio, ricevas vera. 365 00:16:31,560 --> 00:16:35,880 >> Alivorte, jen kiel mi enmeti en mian hash tablo en PHP. 366 00:16:35,880 --> 00:16:38,740 Mi diras dolaro signo tablo, kiu Estas mia asocieca tabelo kiu estis 367 00:16:38,740 --> 00:16:40,690 malplena po la linion de kodo ĝis supre. 368 00:16:40,690 --> 00:16:42,790 Mi tiam indekson en ĝi Ne, uzante numeron, 369 00:16:42,790 --> 00:16:45,300 sed laŭvorte uzante la ŝlosilvorto ke interesas min. 370 00:16:45,300 --> 00:16:47,730 Eble estas pomo aŭ piro aŭ banano aŭ kio ajn, 371 00:16:47,730 --> 00:16:51,645 sed specife mi indeksante en ĝin preferas mi proponis antaŭe. 372 00:16:51,645 --> 00:16:53,770 Mi prenas la nomon de mia asocieca tabelo, kaj tiam mi 373 00:16:53,770 --> 00:16:56,450 uzi citaĵon unquote en la rektaj krampoj kun ŝnureto, 374 00:16:56,450 --> 00:16:58,490 anstataŭ fakta nombro. 375 00:16:58,490 --> 00:17:00,250 >> Kaj do jen ĝi. 376 00:17:00,250 --> 00:17:01,720 La ŝarĝo funkcio estas farita. 377 00:17:01,720 --> 00:17:05,119 Unufoje ke buklo ripetas, mi metis ĉion en la hash tablo. 378 00:17:05,119 --> 00:17:07,810 Nun malgranda malgarantio, ekzistas paro aferoj mi devas redifini. 379 00:17:07,810 --> 00:17:10,030 Kaj la versio mi afiŝi rete havos ĉiujn de la nuancoj, 380 00:17:10,030 --> 00:17:12,670 sed ĝi estas plejparte nur tuj estos iuj eraro kontrolanta kaj iuj malgrandaj retuŝojn. 381 00:17:12,670 --> 00:17:14,044 Sed tio estas ja la esencon de ĝi. 382 00:17:14,044 --> 00:17:16,750 Se mi nun volas apliki la funkcio nomita 383 00:17:16,750 --> 00:17:19,869 kontroli, kiu atendas vorto kiel lia argumento, 384 00:17:19,869 --> 00:17:22,099 kiom povus mi iras pri faranta tion? 385 00:17:22,099 --> 00:17:30,020 Nu, mi simple volis diri, se interne de mia tablo, ĉe situo vorto, 386 00:17:30,020 --> 00:17:30,652 se estas metata. 387 00:17:30,652 --> 00:17:32,360 Do se is-- reale, vi scias kion? 388 00:17:32,360 --> 00:17:34,830 Mi tuj faros ĝin en iom de _pseudocode_. 389 00:17:34,830 --> 00:17:36,020 Sed la ideo estas la sama. 390 00:17:36,020 --> 00:17:41,640 Se tio egalas vera, revenu vera. 391 00:17:41,640 --> 00:17:43,890 Bone. 392 00:17:43,890 --> 00:17:46,851 Else-- vi povas ia vidi kie tio going-- reveni falsaj. 393 00:17:46,851 --> 00:17:47,350 Done. 394 00:17:47,350 --> 00:17:49,640 Ĉeko estas farita. 395 00:17:49,640 --> 00:17:50,940 >> Sufiĉe bela, ĉu ne? 396 00:17:50,940 --> 00:17:52,560 Kaj do kio estas ĉi vere celas? 397 00:17:52,560 --> 00:17:53,680 Kaj tiu ankaŭ, mi tranĉis iuj anguloj. 398 00:17:53,680 --> 00:17:56,020 Rigardu la versio online por ĉiuj la malpeza nuancoj. 399 00:17:56,020 --> 00:17:57,103 Sed tio estas la esenco de ĝi. 400 00:17:57,103 --> 00:17:59,080 Indekso en vian asocieca tabelo, a.k.a. 401 00:17:59,080 --> 00:18:02,910 Hash tablo, vidi se estas valoro tie, se ĝi estas agordita por vera, kaj se jes, 402 00:18:02,910 --> 00:18:03,930 reveni vera. 403 00:18:03,930 --> 00:18:05,819 Do ni ĉizis malsupren ĉiuj la komplekseco. 404 00:18:05,819 --> 00:18:07,110 Do ia menso blovanta, dekstra? 405 00:18:07,110 --> 00:18:09,680 Mi ne tedos finante ĝin kun malŝarĝi, ĉar en fact-- ho, vi scias kion? 406 00:18:09,680 --> 00:18:11,620 Jes, ni finos gxin kun malŝarĝi. 407 00:18:11,620 --> 00:18:18,940 >> Malŝarĝi en hash tablo povus aspekti kiel funkcio malŝarĝi, reveni. 408 00:18:18,940 --> 00:18:19,930 OK tiel tio malŝarĝi. 409 00:18:19,930 --> 00:18:21,350 Ĉar nenio estas malŝarĝi, dekstra? 410 00:18:21,350 --> 00:18:22,170 Mankas malloc. 411 00:18:22,170 --> 00:18:24,280 Mi ne eksplicite demandas la mastruma sistemo por nenio. 412 00:18:24,280 --> 00:18:25,571 Mi ĵus komencis uzi variablojn. 413 00:18:25,571 --> 00:18:30,510 Kaj tiel ĉi tro estas demonstracio de karakterizaĵoj de alta nivelo lingvoj. 414 00:18:30,510 --> 00:18:32,940 Do denove, la plej multaj el ĉi termino ni estis kontraktanta malsupren tie 415 00:18:32,940 --> 00:18:34,280 kun C. Super malalta nivelo. 416 00:18:34,280 --> 00:18:35,980 Vi povas vidi la komputilo la memoro. 417 00:18:35,980 --> 00:18:38,440 Vi povas tuŝi ion vi deziras en via komputilo RAM, 418 00:18:38,440 --> 00:18:39,440 por bone aŭ por malbone. 419 00:18:39,440 --> 00:18:41,760 >> Ĝis tie, ni tuj rezigni tiun potencon. 420 00:18:41,760 --> 00:18:44,730 Sed mia dio, rigardu, kiel multe malpli kodo mi skribis. 421 00:18:44,730 --> 00:18:47,660 Fakte se mi ne parolas kaj babiladis ĉirkaŭ mia tajpado, 422 00:18:47,660 --> 00:18:50,190 ni estus farita kun tiu ekzemplo antaŭ kvin minutoj. 423 00:18:50,190 --> 00:18:52,150 Do kio la prezo pagita? 424 00:18:52,150 --> 00:18:54,100 Bone ni rigardu. 425 00:18:54,100 --> 00:18:55,340 Ni rigardu. 426 00:18:55,340 --> 00:18:59,340 Mi tuj iros antaŭen kaj kuri CS50. 427 00:18:59,340 --> 00:19:02,160 Lasu min unue iri en hodiaŭa ekzemploj kie 428 00:19:02,160 --> 00:19:03,970 Mi havas la tekstojn dosierujo kiel antaŭe. 429 00:19:03,970 --> 00:19:08,520 Mi tuj kuros la solvo kiu ĝi venas kun problemo starigis kvin nomitaj 430 00:19:08,520 --> 00:19:11,190 literumanto, kiu estas en CS50 la konto. 431 00:19:11,190 --> 00:19:14,040 >> Kaj mi tuj kuri ĝin sur io granda kiel la Reĝo James Biblio, 432 00:19:14,040 --> 00:19:16,547 nur por ke ni vere metis la kunlaborantaro solvojn al la testo. 433 00:19:16,547 --> 00:19:19,130 Nun kelkfoje la interreto estas iom malrapida, iom pli rapida, 434 00:19:19,130 --> 00:19:20,338 povus preni momenton por rulumi. 435 00:19:20,338 --> 00:19:23,730 Sed ĝi prenis totalon de .56 sekundoj literumi kontroli la Reĝo James 436 00:19:23,730 --> 00:19:25,150 Biblio uzante la personaro solvo. 437 00:19:25,150 --> 00:19:25,620 Do sufiĉe bona. 438 00:19:25,620 --> 00:19:27,786 Yours povu multe pli malrapida, kaj tio estas tute bone. 439 00:19:27,786 --> 00:19:30,090 Sed estas korekta ĉi tie. 440 00:19:30,090 --> 00:19:32,440 Do jen la personaro solvo. 441 00:19:32,440 --> 00:19:34,785 Se mi eniros kaj purigi la PHP versio. 442 00:19:34,785 --> 00:19:36,990 Kaj mi tuj faros iom kiel bakado spektaklo afero. 443 00:19:36,990 --> 00:19:39,720 Ni tuj prenos la kodo kiun mi skribis pli frue, do estas tute prava. 444 00:19:39,720 --> 00:19:42,678 Ĉar la kodo mi skribis ne tuj esti perfekte korekta nun. 445 00:19:42,678 --> 00:19:47,310 Sed se mi kuri la PHP versio, Kion mi devas rezigni hodiaŭ? 446 00:19:47,310 --> 00:19:49,980 Prenis min kvin minutoj efektivigu p starigis kvin, mi asertas. 447 00:19:49,980 --> 00:19:51,770 Kio prezo mi pagis? 448 00:19:51,770 --> 00:19:52,270 Yeah. 449 00:19:52,270 --> 00:19:52,937 >> Publiko: Rapido. 450 00:19:52,937 --> 00:19:53,645 Parolanto 1: Rapido. 451 00:19:53,645 --> 00:19:54,380 Kion vi celas? 452 00:19:54,380 --> 00:19:55,230 >> Spektantaro: Ĝi estas tuj prenos plu. 453 00:19:55,230 --> 00:19:55,660 >> Parolanto 1: Bone. 454 00:19:55,660 --> 00:19:56,160 Ni vidu. 455 00:19:56,160 --> 00:19:59,590 Ĝi tuj preni plu, ne skribi, sed por ruligi ĝin. 456 00:19:59,590 --> 00:20:00,090 Yeah. 457 00:20:00,090 --> 00:20:00,960 Do ni provu tion. 458 00:20:00,960 --> 00:20:05,720 Do ĉi tie mi tuj iros antaŭen kaj fari PHP de Speller, kaj ĉar la dosiero 459 00:20:05,720 --> 00:20:06,360 nomata literumanto. 460 00:20:06,360 --> 00:20:07,580 Do mi ne rulas la vortaro, revokon, 461 00:20:07,580 --> 00:20:09,204 Mi kuras la programo nomita literumanto. 462 00:20:09,204 --> 00:20:12,450 Mi tuj pasos en la sama dosiero, Reĝo Jakobo la kvina. 463 00:20:12,450 --> 00:20:14,377 Ĝi flugas de. 464 00:20:14,377 --> 00:20:17,210 Tio povus esti simple interretan rapidon, do ne legas tro multe en tiu. 465 00:20:17,210 --> 00:20:21,680 Sed ĝi sentas plu sekura. 466 00:20:21,680 --> 00:20:23,280 1.26 sekundoj. 467 00:20:23,280 --> 00:20:25,150 >> Nun tio estas ankoraŭ bela malbenita rapida, dekstra? 468 00:20:25,150 --> 00:20:28,140 Kaj la sola kialo kiu sentis kiel pli kiel tri aŭ kvar, aŭ kvin 469 00:20:28,140 --> 00:20:30,515 sekundoj, tio estas nur pro interreto estis estanta malrapida. 470 00:20:30,515 --> 00:20:33,980 La komputila tempo pasigita estis 1.26 sekundoj, kontre Mi pensas 0.56. 471 00:20:33,980 --> 00:20:35,880 Do pli ol dufoje kiel malrapida. 472 00:20:35,880 --> 00:20:39,170 Nun tio estas ankoraŭ bela Darn rapida, sed ĝi estas manifestiĝo 473 00:20:39,170 --> 00:20:40,860 de, ja, ke ĝusta prezo. 474 00:20:40,860 --> 00:20:43,460 >> Ĉar ni interpreti en la kodo linio por linio, 475 00:20:43,460 --> 00:20:46,740 kaj ke programo PHP estas leganta miajn kodo supre sube, maldekstre dekstren, 476 00:20:46,740 --> 00:20:47,940 ĝi devas vidi pli pensado. 477 00:20:47,940 --> 00:20:50,430 Ĝi havas al ia konverti ĝin ene de sin 478 00:20:50,430 --> 00:20:53,464 al la respondaj maŝino kodo sur la muŝo, tiel diri, 479 00:20:53,464 --> 00:20:55,380 eĉ se la mekaniko estas iom malsamaj. 480 00:20:55,380 --> 00:20:59,430 Anstataŭ nur nutrante al la Intel CPU la kruda nuloj kaj 481 00:20:59,430 --> 00:21:00,930 ke komprenas denaske. 482 00:21:00,930 --> 00:21:04,110 >> Do absolute, manoj malsupren, ni pagis prezon. 483 00:21:04,110 --> 00:21:09,120 Kaj kodo skribita en lingvo kiel PHP inklinas esti pli malrapida. 484 00:21:09,120 --> 00:21:10,050 Sed mia dio. 485 00:21:10,050 --> 00:21:12,740 Do nun, kiam mi Literumkontrolado mia dosiero, mi pasigas kroman 0.7 486 00:21:12,740 --> 00:21:17,280 aŭ tiel sekundoj vs 20 horoj implementar pli rapidan literumilo, dekstra? 487 00:21:17,280 --> 00:21:18,397 Ĝi estas speco de komerco ekstere. 488 00:21:18,397 --> 00:21:20,980 Kaj se vi nur komencante p starigis kvin, eble ne 20 horoj. 489 00:21:20,980 --> 00:21:22,188 Povus esti multe malpli ol tio. 490 00:21:22,188 --> 00:21:23,600 Sed estas komerco ekstere, por realo. 491 00:21:23,600 --> 00:21:27,820 Kaj se vi uzas kodon sur vere granda datenaroj, aŭ sur eĉ pli malnovaj aparataro, 492 00:21:27,820 --> 00:21:32,650 tiuj specoj de diferencoj certe povas sumigi. 493 00:21:32,650 --> 00:21:34,880 >> Demandojn ĝis nun? 494 00:21:34,880 --> 00:21:35,617 Yeah. 495 00:21:35,617 --> 00:21:36,492 >> Spektantaro: [inaudible] 496 00:21:36,492 --> 00:21:38,187 497 00:21:38,187 --> 00:21:39,978 Parolanto 1: Pardonu, povas vi ripeti tion? 498 00:21:39,978 --> 00:21:40,853 Spektantaro: [inaudible] 499 00:21:40,853 --> 00:21:43,326 500 00:21:43,326 --> 00:21:44,700 Parolanto 1: Vi lasanta tempon. 501 00:21:44,700 --> 00:21:45,283 Nu, do jes. 502 00:21:45,283 --> 00:21:47,322 Vi ŝparas tempon per ne havanta kompili ĝin, 503 00:21:47,322 --> 00:21:48,530 se tion vi petas. 504 00:21:48,530 --> 00:21:50,710 Kaj efektive, en CS50, plejparto de la programoj, 505 00:21:50,710 --> 00:21:53,668 kvankam ili povus preni momenton skribi, ili estas relative mallongaj. 506 00:21:53,668 --> 00:21:56,860 Kelkdek, kelkcent linioj de kodo, kaj tiel ili kompilos bela rapide. 507 00:21:56,860 --> 00:21:58,470 Sed kiam vi komencos skribi pli granda programoj, 508 00:21:58,470 --> 00:22:01,511 kiel se vi estas Microsoft aŭ vi estas Google kaj skribi vere grandaj programoj 509 00:22:01,511 --> 00:22:05,360 en C, aŭ C ++, aŭ simile kompilita lingvoj, povis preni multajn sekundoj, 510 00:22:05,360 --> 00:22:08,577 aŭ eĉ minutoj aŭ pli longe por kompili milionojn da linioj de kodo. 511 00:22:08,577 --> 00:22:10,660 Kaj ankaŭ, ke diferenco tuj sumigas. 512 00:22:10,660 --> 00:22:12,840 >> Kaj fakte, iam ni transiro hodiaŭ, sama tago 513 00:22:12,840 --> 00:22:15,910 hodiaŭ, por ttt programado uzante PHP, vi estas 514 00:22:15,910 --> 00:22:18,460 tuj trovi ĝin nur tiel pli plezura verki kodon 515 00:22:18,460 --> 00:22:21,501 kiam vi ne devas fari tiuj stultaj paŝoj kiel ŝanĝo al via terminalo 516 00:22:21,501 --> 00:22:24,202 fenestro, tajpu fari saluton, re ruli ĝin, reŝarĝi la fenestro. 517 00:22:24,202 --> 00:22:25,910 Ĝuste tiel multaj stultaj mekanika paŝoj 518 00:22:25,910 --> 00:22:28,480 nur akiras en la maniero fari la interesa, la amuza verko. 519 00:22:28,480 --> 00:22:31,450 Kaj efektive ni ĵetu ke for kun PHP. 520 00:22:31,450 --> 00:22:34,960 Kaj ni povas interagi per ĝi pli rapide. 521 00:22:34,960 --> 00:22:35,495 Yeah. 522 00:22:35,495 --> 00:22:36,370 Spektantaro: [inaudible] 523 00:22:36,370 --> 00:22:40,294 524 00:22:40,294 --> 00:22:40,960 Parolanto 1: Sure. 525 00:22:40,960 --> 00:22:42,876 Ĉu mi povas klarigi kion ĝi signifas esti interpretita? 526 00:22:42,876 --> 00:22:45,870 Kiam vi kompili lingvo kiel C, iras malsupren 527 00:22:45,870 --> 00:22:48,140 kiel ni diris al maŝino kodo, nuloj kaj aĵoj. 528 00:22:48,140 --> 00:22:51,860 Kaj Intel decidis jarojn tiu certaj ŝablonoj de nuloj kaj 529 00:22:51,860 --> 00:22:56,220 reprezenti Krome, aŭ subtraho, aŭ presita, aŭ aliaj bazaj operacioj. 530 00:22:56,220 --> 00:23:00,250 En la mondo de interpretita lingvo kiel PHP aŭ JavaScript aŭ Python, 531 00:23:00,250 --> 00:23:03,120 aŭ Ruby, aŭ kuketojn aliaj, anstataŭ iu 532 00:23:03,120 --> 00:23:05,120 verkis interpreter-- tiukaze 533 00:23:05,120 --> 00:23:09,770 ĝi estas ankaŭ nomata PHP, identa al la nomo de la language-- ke esence 534 00:23:09,770 --> 00:23:13,840 havas grandan banton en ĝi ke ripetas super ĉiuj el la linioj de la kodo 535 00:23:13,840 --> 00:23:18,170 ke mi manĝas ĝin kiel enigo, kiel saluton skalara PHP, aŭ vortaro skalara PHP. 536 00:23:18,170 --> 00:23:21,760 >> Kaj tiam vi povas pensi pri siaj grandaj buklo kiel havanta multajn kondiĉojn. 537 00:23:21,760 --> 00:23:26,340 Kaj tiuj kondiĉoj, se la homaj skribis la ŝlosilvorto por, 538 00:23:26,340 --> 00:23:28,470 komenci fari lian aŭ ŝian kodo denove kaj denove. 539 00:23:28,470 --> 00:23:31,360 Tamen se la homo havas skribita la linio de kodo, 540 00:23:31,360 --> 00:23:34,880 se, nur ekzekuti ilian sekva linio kondiĉe. 541 00:23:34,880 --> 00:23:37,740 Do estas vere kiel interpreti ĝi en homa senso, linio 542 00:23:37,740 --> 00:23:39,660 por linio, kaj ke nur prenas tempon. 543 00:23:39,660 --> 00:23:41,340 Ĝi prenas superkape. 544 00:23:41,340 --> 00:23:44,189 Kaj do tio estas price-- bona question-- ni pagas. 545 00:23:44,189 --> 00:23:46,480 Do ni faru alian demo ke estas iom pli drama. 546 00:23:46,480 --> 00:23:51,160 Tie estas, mi diru, stadionon ĉi ĉe ĉirkaŭ 90% de probabloj de maltrafi terure, 547 00:23:51,160 --> 00:23:53,869 sed vi estos mirita kun 10% de probabloj. 548 00:23:53,869 --> 00:23:55,660 Do ĉiujare ni provu fari tiun, per kiu ni 549 00:23:55,660 --> 00:23:59,061 provu skribi programon kiu iras tra problemo aro nulon, por kiuj vi havas 550 00:23:59,061 --> 00:24:02,060 prezentis viajn telefonnumerojn kaj Multaj aliaj demografiaj informoj, 551 00:24:02,060 --> 00:24:06,030 kaj ni programmatically sendi vin tekstmesaĝo. 552 00:24:06,030 --> 00:24:08,540 Kaj tiam ĉies telefono Komencas beeping aŭ vibranta, 553 00:24:08,540 --> 00:24:11,460 kaj ĝi estas nur mirinda, ĉar Nu, rigardu kion komputiloj povas fari. 554 00:24:11,460 --> 00:24:13,840 >> Tiu malofte funkcias ĝuste ŝajnas, grandparte 555 00:24:13,840 --> 00:24:16,800 ĉar mi tipe get lerta kvaronnoto per Gmail aŭ alian servon 556 00:24:16,800 --> 00:24:19,630 por vere provas fari tion en skalo. 557 00:24:19,630 --> 00:24:24,940 Sed lin scivola estas tro, ĉar ni ne havas ĉiujn ĉi tie hodiaŭ, 558 00:24:24,940 --> 00:24:27,690 Amuza fakto lastfoje ni provis ĉi du jaroj, 559 00:24:27,690 --> 00:24:30,870 Mi kredas ke mi skribis programon kiuj sidis en buklo ripetanta 560 00:24:30,870 --> 00:24:34,040 super ĉiuj studentoj en la klaso, kaj ĉiu el ili teksta mesaĝo, 561 00:24:34,040 --> 00:24:37,534 kaj ĝi diris iun tiel kiel: kial ne vi en prelego? 562 00:24:37,534 --> 00:24:39,170 Amas, CS50 bot. 563 00:24:39,170 --> 00:24:42,580 >> Vi ne havas ideon kiom pardonpetan kaj ia dolora retpoŝtojn 564 00:24:42,580 --> 00:24:46,970 Mi ricevis responde el n minus 100 personoj kiuj ne estis tie 565 00:24:46,970 --> 00:24:47,960 tiu tago. 566 00:24:47,960 --> 00:24:52,116 Kaj eĉ pli amuza, pli hontinda story-- Vi scias, ni metu ĝin tie. 567 00:24:52,116 --> 00:24:53,740 Jam en video kelkaj jaroj reen. 568 00:24:53,740 --> 00:24:56,810 Do vi baldaŭ vidos min skribi por ciklo, per 569 00:24:56,810 --> 00:25:00,640 ĝi estas tre facile skribi cimon en tiu por ciklo, tia ke la unua fojo 570 00:25:00,640 --> 00:25:02,800 tra la ciklo, vi sendu unu tekstmesaĝo. 571 00:25:02,800 --> 00:25:06,190 >> La dua fojo tra la buklo mi devus esti sendita pli tekstmesaĝo, 572 00:25:06,190 --> 00:25:08,250 kaj tiam pli teksto mesaĝo, kaj unu pli. 573 00:25:08,250 --> 00:25:11,490 Sed rezultu se vi faras tajperaron kiam programado, kelkfoje vi 574 00:25:11,490 --> 00:25:14,460 povas skribi programojn kiuj sendas unu tekstmesaĝo, tiam du mesaĝojn de teksto, 575 00:25:14,460 --> 00:25:18,742 tiam tri teksto mesaĝojn al ĉiuj Kiu jam ricevis mesaĝon de teksto. 576 00:25:18,742 --> 00:25:21,450 Kaj kiel vi scias, faras ion, plus ion, plus ion, 577 00:25:21,450 --> 00:25:25,910 plus ion, estas granda a de amaso de teksto mesaĝojn, aŭ n kvadratoj, 578 00:25:25,910 --> 00:25:29,830 aŭ ĉe $ 0.10 teksta mesaĝo, $ 20.000. 579 00:25:29,830 --> 00:25:33,700 >> Feliĉe mi batis Kontrolo-C antaŭ tio okazis, sed mi ŝuldas almenaŭ 580 00:25:33,700 --> 00:25:37,550 de via antaŭuloj $ 20 por la 200 iuj neparaj teksto mesaĝoj kiuj, 581 00:25:37,550 --> 00:25:40,450 ne nur estis al lia telefono, sed Ankaŭ estis kiel malnova flip phone 582 00:25:40,450 --> 00:25:43,520 do ĝi ŝatas puŝita el lia memoro ĉiu alia persona teksto 583 00:25:43,520 --> 00:25:45,930 mesaĝo li fakte akiris. 584 00:25:45,930 --> 00:25:49,250 Do ni havas unu celon hodiaŭ, ne fari tion. 585 00:25:49,250 --> 00:25:50,620 Eble ŝalti aviadilo modo. 586 00:25:50,620 --> 00:25:51,120 Bone. 587 00:25:51,120 --> 00:25:56,590 Do ni iru en programo tie callled-- 588 00:25:56,590 --> 00:25:59,060 Mi alvokos teksto skalara PHP. 589 00:25:59,060 --> 00:26:01,074 Kaj anticipe, mi havas du dosierojn tie. 590 00:26:01,074 --> 00:26:06,030 Mi faris dosieron por nura kunlaborantaro, ke estas atingis ĉiuj Staff info, ĉiuj nomoj 591 00:26:06,030 --> 00:26:07,260 de la kurso de afiŝinto. 592 00:26:07,260 --> 00:26:09,756 Kaj tiam por nun mi nur metis iuj falsaj nombroj 555-1212. 593 00:26:09,756 --> 00:26:11,380 Do tiuj ne vere iru ie. 594 00:26:11,380 --> 00:26:15,140 Sed rimarki la internon de ĉi tiu dosiero CSV, kiu ni parolis pri mallonge antaŭ 595 00:26:15,140 --> 00:26:16,540 en la kunteksto de dosiero IO. 596 00:26:16,540 --> 00:26:18,730 >> Kio estas CSV-dosiero? 597 00:26:18,730 --> 00:26:19,970 Komo apartigis variabloj. 598 00:26:19,970 --> 00:26:24,400 Kaj tiu estas speco de kiel tre malpeza datumbazo, se vi volas. 599 00:26:24,400 --> 00:26:28,650 Estas speco de varo de kvar kolumnoj en tiu dosiero, kaj tie dentitaj, 600 00:26:28,650 --> 00:26:32,400 sed la komoj esence reprezenti kolumnoj en la dosiero. 601 00:26:32,400 --> 00:26:35,400 La unua kolumno estas la TF aŭ CA nomo. 602 00:26:35,400 --> 00:26:37,800 Dua kolumno estas ilia familinomo. 603 00:26:37,800 --> 00:26:39,820 Tria kolumno estas ilia telefonnumero. 604 00:26:39,820 --> 00:26:44,760 Kaj kvara kolumno ŝajne is-- kvara kolumno estas ŝajne kion? 605 00:26:44,760 --> 00:26:45,870 OK, Do ĝi estas ilia portanto. 606 00:26:45,870 --> 00:26:47,180 Do Verizon, aŭ Sprint, aŭ kio ne. 607 00:26:47,180 --> 00:26:48,620 Kaj se mi misspoke antaŭe, CSV. 608 00:26:48,620 --> 00:26:51,800 Komo apartigis valorojn estas CSV tie. 609 00:26:51,800 --> 00:26:54,260 >> Do kion mi povas fari kun tio? 610 00:26:54,260 --> 00:26:56,940 Nu tiu estas nur granda tekstdosiero, kaj ĝi estas speco de longa, ĉu ne? 611 00:26:56,940 --> 00:26:58,690 Kiel ĉi tiu tuj esti ia ĝena. 612 00:26:58,690 --> 00:27:03,510 Kaj ĝi rezultas, tamen, ke se mi volas sendi mesaĝon de teksto al, ni 613 00:27:03,510 --> 00:27:05,180 diru Alex tie. 614 00:27:05,180 --> 00:27:09,690 Lasu min iri en mia retumilo kaj eliri la tutekrana reĝimo 615 00:27:09,690 --> 00:27:11,660 nur do mi povas mastrumi reen. 616 00:27:11,660 --> 00:27:20,280 Rezultas, ni vidu, se mi iros en tie kaj ensaluti Gmail, tute certe. 617 00:27:20,280 --> 00:27:22,950 Ne rigardu tiun parton. 618 00:27:22,950 --> 00:27:23,880 Nur mi vidigas. 619 00:27:23,880 --> 00:27:26,551 620 00:27:26,551 --> 00:27:28,800 kompreneble la Livestream povas ankoraŭ vidi kion mi faras. 621 00:27:28,800 --> 00:27:29,360 Bone. 622 00:27:29,360 --> 00:27:31,850 >> Do jen estas nur Gmail kun John Harvard konto. 623 00:27:31,850 --> 00:27:34,000 Do se mi volas sendi tekstmesaĝo al Alex, 624 00:27:34,000 --> 00:27:35,530 Mi povas kompreneble komponi mesaĝon. 625 00:27:35,530 --> 00:27:38,410 Kaj ĝi rezultas, kaj mi havas provis gxin kun Alex antaŭ ĉi tie, 626 00:27:38,410 --> 00:27:42,260 do vi povas append certan domajnon nomon al popola telefonnumerojn, 627 00:27:42,260 --> 00:27:45,850 ĉar ne ekzistas en la mondo aĵoj nomata SMS retposxtu enirejoj. 628 00:27:45,850 --> 00:27:50,000 Kio estas fantazio maniero diri ĉiuj de ni kiu havas poŝtelefonojn kiu 629 00:27:50,000 --> 00:27:53,200 havas telefonnumerojn, kompreneble, tie probable estas por via portanto, 630 00:27:53,200 --> 00:27:56,840 certan sufikson kiel ĉe Vtext.com por Verizon tekstmesaĝo 631 00:27:56,840 --> 00:28:00,320 punkto com, ke vi povas append al via propra persona Telefonnumero, kaj tiam 632 00:28:00,320 --> 00:28:03,540 vi aŭ amikoj, aŭ via gepatroj povas teksto vi en tiu aparta adreso. 633 00:28:03,540 --> 00:28:07,380 >> Kaj Verizon havas servilon, retmesaĝon servilo, ke ricevinte ĉi tiun retpoŝton, 634 00:28:07,380 --> 00:28:11,180 rigardas la numera parto kaj tiam uzas ajn specialaj industrio magio 635 00:28:11,180 --> 00:28:14,540 Ili devas reale sendu ĝin super la sendondoj al via aparta ĉelo 636 00:28:14,540 --> 00:28:15,040 telefonon. 637 00:28:15,040 --> 00:28:18,030 Nun tiu estas bela ĉar mi ne vere scias kiel sendi mesaĝon de teksto 638 00:28:18,030 --> 00:28:20,460 aŭ skribi kodon tamen por mia poŝtelefono, 639 00:28:20,460 --> 00:28:23,580 kaj vi povus fari precize tion por fina projekto, sed nuntempe ĉiu 640 00:28:23,580 --> 00:28:24,770 Mi estas mia portebla tie. 641 00:28:24,770 --> 00:28:29,830 Do mi volas persisti super tiu CSV dosiero, linio, por linio, por linio, por linio, 642 00:28:29,830 --> 00:28:35,160 Ekpreni ĉiu de la Staff telefonnumerojn, kaj ilia portanto kaj programatically, 643 00:28:35,160 --> 00:28:39,770 concatenate, te konekti la telefonon nombro kun la taŭga domajna nomo 644 00:28:39,770 --> 00:28:40,820 kaj tiam sendu retmesaĝon. 645 00:28:40,820 --> 00:28:41,940 >> Do jen multa paŝoj. 646 00:28:41,940 --> 00:28:45,530 Kaj bonŝancon faranta ke en C. Ĝi estas koŝmaro de situacio 647 00:28:45,530 --> 00:28:48,350 malfermi dosieron, legi ĝin linion, por linio, por linio, kiel vi 648 00:28:48,350 --> 00:28:51,100 vidas, aŭ baldaŭ povas vidi kun problemo aro kvin, se ne 649 00:28:51,100 --> 00:28:53,560 problemo starigis kvar, kaj tiam dinamike concatenate 650 00:28:53,560 --> 00:28:57,020 du kordoj kune, ĉar en C, preni du kordoj kaj kombini ilin, 651 00:28:57,020 --> 00:29:00,900 kion faras vi minimume bezonas fari plej verŝajna? 652 00:29:00,900 --> 00:29:03,020 Vi devas deklari pli memoro, ĉu ne? 653 00:29:03,020 --> 00:29:04,710 Kaj demandi, malloc, mi povas havi pli memoro? 654 00:29:04,710 --> 00:29:07,060 Do mi povas meti la duonon de tiu tie, la duono de ĉi tie. 655 00:29:07,060 --> 00:29:08,150 Estas nur tiom da paŝoj. 656 00:29:08,150 --> 00:29:10,310 Kaj per tiu punkto vi perdis intereso en la stulta iom demo 657 00:29:10,310 --> 00:29:11,851 kie vi faras ĉies telefonon pepi. 658 00:29:11,851 --> 00:29:14,590 Ni faru tian PHP stilo, per kiu ni ĵus 659 00:29:14,590 --> 00:29:16,210 ekuzi pli de tiu kuirejo profundiĝi. 660 00:29:16,210 --> 00:29:18,050 >> Kaj la ideoj estas fundamente la sama, 661 00:29:18,050 --> 00:29:20,710 sed ni ne devas maltrankviligi tro multe pri tiu malalta nivelo. 662 00:29:20,710 --> 00:29:22,950 Do ni vidu kiel mi povus iri pri fari tion. 663 00:29:22,950 --> 00:29:26,664 Kaj nur por ke mi ne ripeti preter eraroj, 664 00:29:26,664 --> 00:29:28,330 Mi verkis kelkajn notojn por mi mem ĉi tie. 665 00:29:28,330 --> 00:29:31,070 Kaj ni vidos se mi povos marŝi nin tra iuj de la fundamentaj paŝoj, 666 00:29:31,070 --> 00:29:33,861 kaj tiam por tempo, kalkaj ni eble tranĉis iuj anguloj en la fino. 667 00:29:33,861 --> 00:29:38,007 Mi tuj iros antaŭen kaj fari malfermita krampo PHP komenci tiun dosieron. 668 00:29:38,007 --> 00:29:39,590 Kaj mi tuj iros antaŭen kaj fari tion. 669 00:29:39,590 --> 00:29:41,490 Dosiera tenilo, kiel vi baldaŭ vidos, reale 670 00:29:41,490 --> 00:29:44,790 nomas funkcio nomita f malferma. 671 00:29:44,790 --> 00:29:46,280 Kaj memoru ĉi malfermas dosieron. 672 00:29:46,280 --> 00:29:48,800 Kaj la citaĵo, unquote, r signifas kio, denove? 673 00:29:48,800 --> 00:29:49,800 Nur malfermi gxin por legado. 674 00:29:49,800 --> 00:29:51,210 Nun en p aro por, vi faris. 675 00:29:51,210 --> 00:29:54,500 Kaj manipuli povus esti io, fu, trinkejo, bas, ajna variablo nomo. 676 00:29:54,500 --> 00:29:57,470 Sed ĝenerale komputilo sciencisto vokus malfermita dosiero, 677 00:29:57,470 --> 00:30:00,962 donante vi dosiero tenilo, io teni al tiel diri. 678 00:30:00,962 --> 00:30:02,670 Mi simple tuj fari iu eraro kontrolanta. 679 00:30:02,670 --> 00:30:07,260 Do se la tenilo estas falsa, nur ŝatas en C, mi tuj faru ion kiel, 680 00:30:07,260 --> 00:30:09,545 ne povis malfermi dosieron, backslash n. 681 00:30:09,545 --> 00:30:11,420 Kaj tiam mi simple tuj iri antaŭen kaj eliro. 682 00:30:11,420 --> 00:30:14,340 Kaj ĝi rezultas, en PHP, Mi ne estas ene de funkcio. 683 00:30:14,340 --> 00:30:16,160 Mankas ĉefa funkcio tie. 684 00:30:16,160 --> 00:30:17,450 Do mi ne revenos, por se. 685 00:30:17,450 --> 00:30:18,120 Mi eliras. 686 00:30:18,120 --> 00:30:19,619 Kiu estas esence la sama afero. 687 00:30:19,619 --> 00:30:22,510 Kaj mi eliranta kun unu y verŝajne. 688 00:30:22,510 --> 00:30:24,220 Unu nur signifas eraron de iu varo. 689 00:30:24,220 --> 00:30:25,580 Ĝi estas ne-nulo, do ĝi estas eraro. 690 00:30:25,580 --> 00:30:30,220 >> Bone, do se mi estas cxi tie nun en mia programo mi malfermis la dosieron. 691 00:30:30,220 --> 00:30:34,250 Mi tuj iros antaŭen kaj deklari tabelo nomita adresoj, 692 00:30:34,250 --> 00:30:38,610 kaj en C mi devus scii la grandeco de la tabelo anticipe, ĉu ne? 693 00:30:38,610 --> 00:30:41,910 Aŭ mi bezonus por deklari ĉi estas puntero, kaj tiam uzi malloc. 694 00:30:41,910 --> 00:30:44,720 Kaj tiam ĉiu tempo mi legis tra alia vico en la dosiero, 695 00:30:44,720 --> 00:30:46,620 Mi tuj bezonas malloc pli memoro, malloc pli memoro. 696 00:30:46,620 --> 00:30:47,703 Ke estas doloro en la kolo. 697 00:30:47,703 --> 00:30:50,950 Kaj dankeme, PHP, kaj Ruby, kaj Python, kaj JavaScript, ili 698 00:30:50,950 --> 00:30:53,880 kreskos via tabeloj por vi aŭtomate. 699 00:30:53,880 --> 00:30:54,830 Plu malloc. 700 00:30:54,830 --> 00:30:56,227 Plu memoro mastrumado. 701 00:30:56,227 --> 00:30:57,560 La komputilo prizorgas tion. 702 00:30:57,560 --> 00:31:00,330 Sed la prezo vi pagas. 703 00:31:00,330 --> 00:31:01,350 Ĝi estas iom pli malrapida. 704 00:31:01,350 --> 00:31:03,190 Kaj por programo kiel ĉi ni ne tuj rimarki. 705 00:31:03,190 --> 00:31:04,720 Ni tuj sendas 100 mesaĝojn de teksto. 706 00:31:04,720 --> 00:31:06,136 Ekzemple ne tuj sentas ĝin. 707 00:31:06,136 --> 00:31:08,430 Ĝi vere nur komencas gravas via lingvo de elekto 708 00:31:08,430 --> 00:31:11,490 kiam viajn datumojn aŭ viaj programoj ricevas vere, vere konsiderinda, 709 00:31:11,490 --> 00:31:14,120 kiel estos la kazo pli tiel kun nia ttt bazita aĵoj. 710 00:31:14,120 --> 00:31:15,450 >> Sed nuntempe ni veturu antaŭen. 711 00:31:15,450 --> 00:31:20,120 Dum ĝi rezultas ke estas funkcio en C nomis f akiri CSV. 712 00:31:20,120 --> 00:31:24,570 Dosiero akiri CSV, kiu prenas file tenilo kiel lia argumento, 713 00:31:24,570 --> 00:31:28,810 kaj ĝi procedas tiam, vico, per vico, post linio, por legi en unu vico. 714 00:31:28,810 --> 00:31:30,964 Do nur legas linion de teksto de la dosiero. 715 00:31:30,964 --> 00:31:34,130 Sed kio estas agrabla pri tiu funkcio, ne nur transdoni min linio de teksto. 716 00:31:34,130 --> 00:31:37,320 Ĝi serĉas tiujn komojn, kaj parses la linio. 717 00:31:37,320 --> 00:31:41,740 Kaj analizi la linio signifas disfendi sur certaj valoroj en tiu kunteksto. 718 00:31:41,740 --> 00:31:45,510 >> Alivorte, dolaro signo vico estas variablo kiu estas 719 00:31:45,510 --> 00:31:47,010 tuj donu al mi faskon de indeksoj. 720 00:31:47,010 --> 00:31:49,635 Ĉi tiu tuj estos la unua kolumno en mia CSV. 721 00:31:49,635 --> 00:31:52,510 Ĉi tiu tuj estos la dua kolumno, ĉi tiu tuj estos la tria, 722 00:31:52,510 --> 00:31:53,968 kaj ĉi tiu tuj estos la kvara. 723 00:31:53,968 --> 00:31:57,440 Ĉar revoko kaj Excel la ne kunlaboru lastfoje ni faris tion, 724 00:31:57,440 --> 00:32:03,350 sed se mi elŝuti kunlaborantaro dot CSV. 725 00:32:03,350 --> 00:32:04,940 Whoops, alinomi. 726 00:32:04,940 --> 00:32:09,120 Se mi elŝuti kunlaborantaro skalara CSV, kaj provas malfermi ĝin, 727 00:32:09,120 --> 00:32:12,510 Mi jam registered-- ho mi ne ĝisdatigi Excel ekde lasta tempo. 728 00:32:12,510 --> 00:32:15,880 Vi vidos ke en personaro skalara CSV, mi havas kvar kolumnojn. 729 00:32:15,880 --> 00:32:18,720 Do kiam mi legis en la unua vico por Abby tie, 730 00:32:18,720 --> 00:32:23,582 dolara signo vico 0 estas Abby, dolara signo vico estas Liono, 731 00:32:23,582 --> 00:32:27,740 dolara signo vico du estas ŝia numeron, kaj tiam ŝi poŝtelefona portanto. 732 00:32:27,740 --> 00:32:28,410 >> Do jen ĉio. 733 00:32:28,410 --> 00:32:30,740 Kaj tio estas bela, ĉar mi ne devas nun kalkuli 734 00:32:30,740 --> 00:32:32,800 kie ĉiuj el tiuj komoj efektive estas. 735 00:32:32,800 --> 00:32:35,300 Do mi tuj iros antaŭen kaj fari tion, donita ke difino, 736 00:32:35,300 --> 00:32:38,960 Mi tuj diru, ke ŝia nomo estas en vico krampo nulo, kiel promesis. 737 00:32:38,960 --> 00:32:41,150 Kaj mi tuj grab-- kaj reale, vi scias kion? 738 00:32:41,150 --> 00:32:42,780 Mi ne tuj zorgi pri ŝia nomo, en tiu kazo. 739 00:32:42,780 --> 00:32:43,988 Mi tuj konservi ĝin simpla. 740 00:32:43,988 --> 00:32:48,610 Mi tuj fari ŝian nombro estas en vico krampo du, mi pensas. 741 00:32:48,610 --> 00:32:50,510 Kaj ŝia portanto estis en kie? 742 00:32:50,510 --> 00:32:53,405 Vico, unu apud. 743 00:32:53,405 --> 00:32:54,280 Do nenio nova tie. 744 00:32:54,280 --> 00:32:56,770 Estas nur nulo indeksado en tabelo. 745 00:32:56,770 --> 00:32:58,760 >> Kaj nun, mi tuj faru la sekvajn. 746 00:32:58,760 --> 00:33:03,930 Se la portanto egalas egalas AT & T-- Mi simple tuj havi loop-- 747 00:33:03,930 --> 00:33:06,790 Mi volas krei retpoŝto Adreso kiu similas ĉi. 748 00:33:06,790 --> 00:33:12,320 Ĝi okazas esti 617-555-1212 ĉe kio ĝi estas, text.ATT.net, 749 00:33:12,320 --> 00:33:13,490 estas kion mi volas fari. 750 00:33:13,490 --> 00:33:15,260 Do kiel mi faru tion? 751 00:33:15,260 --> 00:33:16,730 Mi tuj faru la sekvajn. 752 00:33:16,730 --> 00:33:22,460 Ŝia adreso estas iranta esti ŝi numeron, kaj nun, lasu min antaŭeniri kaj fari tion. 753 00:33:22,460 --> 00:33:23,760 Jen kelkaj funky sintakso. 754 00:33:23,760 --> 00:33:27,250 Mi povus fari la procento s ruzo, sed mi povas vere nur faru tion. 755 00:33:27,250 --> 00:33:29,900 >> Do tiu estas PHP afero, sed ni rigardu, kion mi faras. 756 00:33:29,900 --> 00:33:31,630 Dolaroj subskribi adreson sur la maldekstra, nur variablo. 757 00:33:31,630 --> 00:33:32,300 Donu variablon. 758 00:33:32,300 --> 00:33:33,390 Mi ne devas specifi la tipon. 759 00:33:33,390 --> 00:33:34,570 PHP elpensi. 760 00:33:34,570 --> 00:33:36,580 Sur la dekstra flanko, kio estas la datumtipo 761 00:33:36,580 --> 00:33:38,399 de tiu tuta afero sur la dekstra flanko? 762 00:33:38,399 --> 00:33:40,190 Aspektas kiel ŝnuro, ĉar ekzistas duobla 763 00:33:40,190 --> 00:33:42,280 citaĵoj sur la maldekstra kaj ekstremdekstro. 764 00:33:42,280 --> 00:33:44,210 Nun tie estas iuj funky nova sintakso tie. 765 00:33:44,210 --> 00:33:47,550 Jen la krispa krampoj, kaj la dolaro signo nombro. 766 00:33:47,550 --> 00:33:52,860 Sed preni diveni kian sintakson verŝajne rakontanta PHP fari por mi? 767 00:33:52,860 --> 00:33:53,360 Yeah. 768 00:33:53,360 --> 00:33:54,630 Nur enmeti la valoron tie. 769 00:33:54,630 --> 00:33:55,530 Do ne procentoj s. 770 00:33:55,530 --> 00:33:58,160 Ni povus uzi print f, aŭ s print f aŭ ion similan, 771 00:33:58,160 --> 00:34:00,070 sed PHP kaj multajn alta nivelo lingvoj, 772 00:34:00,070 --> 00:34:03,070 vi tuj rimarkas, ke vi povis fari la samon funkcie, eble 773 00:34:03,070 --> 00:34:04,019 ses malsamaj manieroj. 774 00:34:04,019 --> 00:34:06,310 Kaj tiel ĝi komenciĝas fariĝi afero de dezajno aŭ stilo. 775 00:34:06,310 --> 00:34:09,902 Do tio estas nur kripta rigardas maniero diri, donu min retadreson, 776 00:34:09,902 --> 00:34:12,110 sed plug-en la nombro en inter tiuj buklaj krampoj. 777 00:34:12,110 --> 00:34:15,440 Kaj la krispa krampoj ne faros finas en la fina adreso. 778 00:34:15,440 --> 00:34:18,010 >> Nun ni povas salti super iu de tiuj linioj por momento gajno. 779 00:34:18,010 --> 00:34:21,210 Do se portanto egalas egalas verHorizon-- whoops, 780 00:34:21,210 --> 00:34:24,989 Verizon-- mi volas fari ion tre similaj, kie la adreso ricevas, 781 00:34:24,989 --> 00:34:27,569 citaĵo, unquote, nombro je text.ATT.net. 782 00:34:27,569 --> 00:34:30,380 783 00:34:30,380 --> 00:34:35,050 Kaj tiam mi povas fari samspecan afero por la resto de la portantoj. 784 00:34:35,050 --> 00:34:37,090 Sed mi nur faras dot, punkto, punkto nun. 785 00:34:37,090 --> 00:34:43,050 Kaj nun ni supozu ke Mi volas aldoni tabelo, puŝi. 786 00:34:43,050 --> 00:34:45,969 Mi volas aldoni al la tabelo, nomita adresoj. 787 00:34:45,969 --> 00:34:50,409 >> Tiu adreso, jen kiel vi aldoni ion al tabelo en PHP. 788 00:34:50,409 --> 00:34:51,610 Vi ne bezonas fari malloc. 789 00:34:51,610 --> 00:34:53,068 Vi ne devas regrandigi la tabelo. 790 00:34:53,068 --> 00:34:54,259 Vi nur diru tabelo, puŝo. 791 00:34:54,259 --> 00:34:57,300 Kion vi volas push-- kio tabelo ĉu vi volas puŝi ion sur? 792 00:34:57,300 --> 00:34:58,000 Adresoj. 793 00:34:58,000 --> 00:34:59,550 Kion vi volas puŝi sur adresojn? 794 00:34:59,550 --> 00:35:00,350 Adreso. 795 00:35:00,350 --> 00:35:02,430 Kaj fakte, se vi vere volas esti saĝa, 796 00:35:02,430 --> 00:35:05,610 iu sintaksa sukero por tiu, por tiel diri, 797 00:35:05,610 --> 00:35:10,230 kiu signifas nur kiel vi povas fari tion en la bela maniero, estus fari tion. 798 00:35:10,230 --> 00:35:14,060 Ankaŭ tio havas la efikon de kreskanta la adresoj tabelo de grandeco unu, 799 00:35:14,060 --> 00:35:17,130 kaj tiam Plop ke aldona retadreso en ĝin. 800 00:35:17,130 --> 00:35:17,630 Yeah. 801 00:35:17,630 --> 00:35:19,730 >> Spektantaro: [inaudible] 802 00:35:19,730 --> 00:35:22,520 >> Parolanto 1: A tajperaro sur la alie if-- ho, portanto. 803 00:35:22,520 --> 00:35:23,070 Estas bone. 804 00:35:23,070 --> 00:35:26,971 Ĝi ankaŭ ne ŝatas mian malsukceson apliki parton de tiu programo 805 00:35:26,971 --> 00:35:27,470 poste. 806 00:35:27,470 --> 00:35:28,810 Sed dankon por kaptado. 807 00:35:28,810 --> 00:35:30,671 Unu pli cimon. 808 00:35:30,671 --> 00:35:31,170 Dankon. 809 00:35:31,170 --> 00:35:33,746 Ni volas ĉi esti Vtext.com. 810 00:35:33,746 --> 00:35:34,340 Jes. 811 00:35:34,340 --> 00:35:34,839 Bone. 812 00:35:34,839 --> 00:35:36,330 Do kie faras ĉi forlasi nin? 813 00:35:36,330 --> 00:35:38,224 Ni skribis la kodon por malfermi la dosieron. 814 00:35:38,224 --> 00:35:40,390 Ni havas buklo persisti super la vicoj en la dosiero. 815 00:35:40,390 --> 00:35:43,650 Ni havas kodon kiu aldonas al mia tabelo, unuope, la ĝuste 816 00:35:43,650 --> 00:35:44,790 formatita retadreso. 817 00:35:44,790 --> 00:35:48,480 Do ĉiuj kiuj vere restas estas sendi retmesaĝon al ĉiu de ĉi tiuj personoj. 818 00:35:48,480 --> 00:35:52,830 >> Do mi iris antaŭen kaj preta mem kiel sekvas. 819 00:35:52,830 --> 00:35:59,580 Kion mi tuj faros tie is-- kaj ni antaŭeniri kaj salti al iu fakta kodo, 820 00:35:59,580 --> 00:36:00,620 kiu aspektas jene. 821 00:36:00,620 --> 00:36:02,950 Do jen estas la antaŭ-bakita versio mi skribis antaŭe. 822 00:36:02,950 --> 00:36:04,700 Kaj rimarki mi finis efektivigado Sprint. 823 00:36:04,700 --> 00:36:06,130 Mi finis efektivigado T-Mobile. 824 00:36:06,130 --> 00:36:08,020 Mi finis efektivigado Virgin Mobile. 825 00:36:08,020 --> 00:36:09,622 Kaj mi pardonpetas anticipe. 826 00:36:09,622 --> 00:36:12,080 Ekzistas kelkaj portantoj ke kelkaj studentoj en la klaso havas 827 00:36:12,080 --> 00:36:14,640 ke mi ne tedos numerigo en la se kondiĉo tie. 828 00:36:14,640 --> 00:36:16,015 Do ne ĉiuj tekstoj eliros. 829 00:36:16,015 --> 00:36:17,556 Sed ni vidu kion alian mi bezonas fari. 830 00:36:17,556 --> 00:36:19,660 Mi fermas la dosieron, simple kiel en p starigis kvar. 831 00:36:19,660 --> 00:36:20,835 >> Kaj tio estas nova sintakso. 832 00:36:20,835 --> 00:36:22,710 Kaj ni vidos iom iom de tiu tempo, 833 00:36:22,710 --> 00:36:24,450 speciale kun p starigis sep kaj ok. 834 00:36:24,450 --> 00:36:28,140 Sed tio estas sintakson por krei speciala tipo de strukturo. 835 00:36:28,140 --> 00:36:31,490 Ĝi rezultas tie estas biblioteko kiu venas kun PHP, nomata PHP mailer. 836 00:36:31,490 --> 00:36:33,840 Lia celo en la vivo estas programmatically sendi retpoŝtojn. 837 00:36:33,840 --> 00:36:36,840 Estas kodon iu alia skribis ke faciligante por ni sendi retpoŝtojn, 838 00:36:36,840 --> 00:36:39,131 tial ni ne devas teni irante reen al Gmail, 839 00:36:39,131 --> 00:36:41,151 kaj alglui en popola retadresoj. 840 00:36:41,151 --> 00:36:44,150 Ekzistas tuta aro da linioj tie ke honeste, mi nur ia kopiita 841 00:36:44,150 --> 00:36:45,660 kaj batitaj de la dokumentado. 842 00:36:45,660 --> 00:36:47,409 Kaj fakte, se vi estas scivola, mi forlasis ĉiun 843 00:36:47,409 --> 00:36:50,550 de la URLs de la dokumentado en la kodo kiun ni afiŝi poste. 844 00:36:50,550 --> 00:36:52,360 Kaj rimarku, ke inter tion mi faras 845 00:36:52,360 --> 00:36:55,710 estas, mi rakontas ĉi biblioteko, uzi Gmail servilo, dekstra? 846 00:36:55,710 --> 00:36:59,360 SMTP ni parolis mallonge pri kiam ni estis ĉe Yale sur esti simpla poŝto 847 00:36:59,360 --> 00:37:00,110 transigo protokolo. 848 00:37:00,110 --> 00:37:02,920 Ĝi estas la protokolo kiun serviloj uzita por sendi retmesaĝon, 849 00:37:02,920 --> 00:37:05,150 kaj that's-- Gmail havas unu el tiuj. 850 00:37:05,150 --> 00:37:07,290 A haveno, tiu estas la TCP haveno nombro. 851 00:37:07,290 --> 00:37:09,630 Ĝi estas bone se vi ne vidis 587 antaŭe. 852 00:37:09,630 --> 00:37:11,420 Nur scias ke de la dokumentado. 853 00:37:11,420 --> 00:37:12,250 Jen mia salutnomo. 854 00:37:12,250 --> 00:37:13,670 Mi tuj uzi la CF50 bot. 855 00:37:13,670 --> 00:37:16,690 Kaj en momento, mi simple tuj entajpu la bot la fakta pasvorton. 856 00:37:16,690 --> 00:37:18,690 Kaj poste malsupren tie, rimarki kio restas. 857 00:37:18,690 --> 00:37:22,840 >> Mi direktos Mian el adreso esti Bot ĉe CS50.net. 858 00:37:22,840 --> 00:37:26,240 Mi opinias ke mi ne bedaŭras sendante tekstmesaĝo al 800 personoj kiuj 859 00:37:26,240 --> 00:37:30,590 diras, miss you, amo CS50 bot, eble por tiuj kiuj ne povis fari ĝin hodiaŭ. 860 00:37:30,590 --> 00:37:33,160 Kaj poste en linio 76, kion mi faru? 861 00:37:33,160 --> 00:37:39,010 Tiu speco de aspekto kiel C. Do por mi egalas 0, n equals-- nun kalkuli estas nova. 862 00:37:39,010 --> 00:37:42,077 Ĝi rezultas ke se vi volas ricevi la nombron de aferoj en tabelo, 863 00:37:42,077 --> 00:37:43,660 vi ne devas memori ĝin anymore. 864 00:37:43,660 --> 00:37:45,370 Vi povas simple demandi funkcio nomita grafo, 865 00:37:45,370 --> 00:37:48,320 kaj ĝi diros al vi kiom da adresoj estas en tiu tabelo. 866 00:37:48,320 --> 00:37:53,210 >> Kaj tiam mi tuj aldonu la adreso por la retpoŝto. 867 00:37:53,210 --> 00:37:55,090 Kaj mi scias tion el uzante la dokumentado. 868 00:37:55,090 --> 00:37:56,900 Ekzistas add Adreso funkcio. 869 00:37:56,900 --> 00:37:58,980 Kaj nun rimarkas tie estas unu peco de sintakso. 870 00:37:58,980 --> 00:38:01,470 Ni vidis tion antaŭe en C. Simila en spirito. 871 00:38:01,470 --> 00:38:04,100 Vi povas pensi de dolara signo poŝti kiel variablo, kio ĝi estas. 872 00:38:04,100 --> 00:38:08,100 Sed estas struct ene de kiuj ne nur propraĵoj, 873 00:38:08,100 --> 00:38:09,400 variabloj se vi volas. 874 00:38:09,400 --> 00:38:13,480 Sed rezultu ke en PHP, kiuj estas objektema programado 875 00:38:13,480 --> 00:38:16,520 lingvo, kiel Java, se vi prenis APCs. 876 00:38:16,520 --> 00:38:21,420 >> Dolaro signo poŝto, se vi volas to-- ĝi ankaŭ havas funkciojn ene de ĝi, 877 00:38:21,420 --> 00:38:22,380 aŭ metodoj. 878 00:38:22,380 --> 00:38:24,720 Do tiu estas ke speciala PHP mailer 879 00:38:24,720 --> 00:38:29,280 biblioteko, se mi havas ŝanĝiĝeman gxiajn se mi volas nomi funkcio kiu 880 00:38:29,280 --> 00:38:31,559 venas kun tiu biblioteko, por hodiaŭa celoj, 881 00:38:31,559 --> 00:38:33,100 nur scii vi uzu la sago skribmaniero. 882 00:38:33,100 --> 00:38:34,150 Mankas skalara skribmaniero. 883 00:38:34,150 --> 00:38:35,220 Estas nur la sago. 884 00:38:35,220 --> 00:38:36,380 Sed tio ne estas puntero. 885 00:38:36,380 --> 00:38:38,680 Ĝi simple prenitaj de C sintakso. 886 00:38:38,680 --> 00:38:43,620 Do nomu aldoni adreson ene de tiu biblioteko objekto aŭ variablo. 887 00:38:43,620 --> 00:38:44,440 >> Bone. 888 00:38:44,440 --> 00:38:45,570 Tio estas la magia linio. 889 00:38:45,570 --> 00:38:46,740 Tiel estas kiel mi sendu retmesaĝon. 890 00:38:46,740 --> 00:38:50,040 Tio estas la ekvivalento de malfermado Gmail, tajpante ĝin, kaj trafante sendi. 891 00:38:50,040 --> 00:38:54,870 Sed ĝi tuj anstataŭe sendas retpoŝti al tiu adreso, kun tiu korpo, 892 00:38:54,870 --> 00:38:57,120 el la CS50 bot. 893 00:38:57,120 --> 00:38:58,710 Kaj nun ŝlosilo linio. 894 00:38:58,710 --> 00:39:03,130 Tiu linio estis ausente en 2011 kiel kiam mi kredas ke mi provis ĉi lasta. 895 00:39:03,130 --> 00:39:05,640 Tiu linio tie, kompreneble, demetas la adresoj. 896 00:39:05,640 --> 00:39:07,920 Do logike, se mi ne malbari la adreso 897 00:39:07,920 --> 00:39:11,740 post ĉiu ripeto, la unua retpoŝti aŭ tekstmesaĝo iras al Alico, 898 00:39:11,740 --> 00:39:14,320 la dua iras al Alice kaj Bob, la tria 899 00:39:14,320 --> 00:39:17,870 iras al Alice kaj Bob kaj Charlie, tie la tre multekosta eraro 900 00:39:17,870 --> 00:39:18,760 Mi faris tiun jaron. 901 00:39:18,760 --> 00:39:21,080 >> Do ni vidu. 902 00:39:21,080 --> 00:39:24,200 Ĉu estas demandoj antaŭ ni sendas al vi ĉiuj teksto 903 00:39:24,200 --> 00:39:28,210 mesaĝo kun 10 procentoj probablo? 904 00:39:28,210 --> 00:39:28,940 Demandojn? 905 00:39:28,940 --> 00:39:30,330 Bone. 906 00:39:30,330 --> 00:39:36,100 Ni min iri en ĉi tie kaj ŝanĝo la pasvorton al kio devus labori, 907 00:39:36,100 --> 00:39:37,780 verŝajne get lerta kvaronnoto de Gmail. 908 00:39:37,780 --> 00:39:39,821 Do ili eble ne iros cxiuj ekstere, ĉar ili probable 909 00:39:39,821 --> 00:39:42,960 ne amas nin sendanta retpoŝtojn 800 en por buklo ĉiuj samtempe. 910 00:39:42,960 --> 00:39:45,140 Ekde tio ne aparte homa konduto. 911 00:39:45,140 --> 00:39:47,460 >> Ho, mi tuj ŝanĝi unu alia afero. 912 00:39:47,460 --> 00:39:50,850 Supren al la supro, mi tuj sent-- ŝanĝi la dosieron al studentoj dot CSV. 913 00:39:50,850 --> 00:39:55,420 Kaj mi ne malfermos tiu, sed tiu estas identa CSV -dosiero kun ne 100 kunlaborantaro, 914 00:39:55,420 --> 00:39:58,970 sed 800 studentoj, nur de Harvard, ĉar Yale 915 00:39:58,970 --> 00:40:00,207 havas oktobro receso tiu semajno. 916 00:40:00,207 --> 00:40:03,290 Kaj ŝajnas kiel ia ekskuo afero fari al teksto cxiuj estas kiel al kial 917 00:40:03,290 --> 00:40:04,750 ili ne estas en klaso dum ferio. 918 00:40:04,750 --> 00:40:05,250 Estas bone. 919 00:40:05,250 --> 00:40:08,310 Nur Harvard studentoj hodiaŭ ene de tiu dosiero. 920 00:40:08,310 --> 00:40:12,320 Kaj nun ni revenu al mia fina fenestro. 921 00:40:12,320 --> 00:40:13,710 Mi iomete nervoza. 922 00:40:13,710 --> 00:40:22,000 >> OK tiel nun mi tuj iros en la dosierujo, kaj PHP teksto skalara PHP. 923 00:40:22,000 --> 00:40:24,950 Ĉu per kuraĝa volontulo? 924 00:40:24,950 --> 00:40:26,690 Do mi ne volas ĉi min. 925 00:40:26,690 --> 00:40:28,410 OK, venu supren. 926 00:40:28,410 --> 00:40:29,162 Kio estas via nomo? 927 00:40:29,162 --> 00:40:29,662 Maya: Maya. 928 00:40:29,662 --> 00:40:30,328 Parolanto 1: Maya. 929 00:40:30,328 --> 00:40:31,610 Venu supren, Maya. 930 00:40:31,610 --> 00:40:34,120 Bone. 931 00:40:34,120 --> 00:40:35,389 Ni vidu se tio funkcias. 932 00:40:35,389 --> 00:40:38,430 Mi metis mian propran retadreson en la file-- mia propra telefonnumero en la dosiero, 933 00:40:38,430 --> 00:40:40,110 tiel ke espereble mi ricevos unu ankaŭ. 934 00:40:40,110 --> 00:40:40,819 Agrable renkonti vin. 935 00:40:40,819 --> 00:40:41,443 Maya: Same. 936 00:40:41,443 --> 00:40:44,510 Parolanto 1: Do ĉiuj vi devas fari estas Frapo eniras sendi 800 mesaĝoj de teksto, 937 00:40:44,510 --> 00:40:45,466 se mi ne ŝraŭbi supren. 938 00:40:45,466 --> 00:40:51,106 939 00:40:51,106 --> 00:40:51,606 Nice. 940 00:40:51,606 --> 00:40:55,556 941 00:40:55,556 --> 00:40:58,430 Povus preni momenton, statistike, ĝis ni atingos retmesaĝon address-- 942 00:40:58,430 --> 00:41:00,573 teksta mesaĝo tio en la ĉambro nun. 943 00:41:00,573 --> 00:41:03,880 944 00:41:03,880 --> 00:41:05,390 Ni restadi kaj vidu. 945 00:41:05,390 --> 00:41:06,940 >> Spektantaro: [fajfante] 946 00:41:06,940 --> 00:41:08,270 >> Parolanto 1: Ho, jes. 947 00:41:08,270 --> 00:41:09,230 >> Publiko: Ho, Gotcha. 948 00:41:09,230 --> 00:41:16,720 949 00:41:16,720 --> 00:41:19,180 >> Parolanto 1: Por maŝojn are-- ĉi ne malrapidas pro PHP. 950 00:41:19,180 --> 00:41:21,810 Tio estas malrapida ĉar Gmail estas sxancelan ni kaj ne 951 00:41:21,810 --> 00:41:25,170 lasi nin sendas pli ol kiel unu retpoŝto sekunde. 952 00:41:25,170 --> 00:41:26,300 Io ajn? 953 00:41:26,300 --> 00:41:29,990 Tio estis malfacila afero por mi testi je hejmen kun nur mi kaj mia unu telefonon, do. 954 00:41:29,990 --> 00:41:37,630 955 00:41:37,630 --> 00:41:41,111 Ĉu tio espereble el la bot? 956 00:41:41,111 --> 00:41:41,610 Jes? 957 00:41:41,610 --> 00:41:42,110 Neniu? 958 00:41:42,110 --> 00:41:44,760 959 00:41:44,760 --> 00:41:46,620 Diru jes. 960 00:41:46,620 --> 00:41:47,479 Neniu? 961 00:41:47,479 --> 00:41:49,374 Estas de amiko? 962 00:41:49,374 --> 00:41:49,874 Malgracia. 963 00:41:49,874 --> 00:41:50,374 BONE. 964 00:41:50,374 --> 00:41:56,580 965 00:41:56,580 --> 00:42:00,090 Sufiĉe certa ĝi estas laborante kvankam. 966 00:42:00,090 --> 00:42:00,910 Uh oh. 967 00:42:00,910 --> 00:42:03,190 Ili black-- ho, atendu minuton. 968 00:42:03,190 --> 00:42:04,280 Ho, vi scias kion? 969 00:42:04,280 --> 00:42:06,100 Momenton bonvolu. 970 00:42:06,100 --> 00:42:07,802 Nur Maya kaj I-- Mia, ĝi estis? 971 00:42:07,802 --> 00:42:08,301 Maya: Maya. 972 00:42:08,301 --> 00:42:12,110 Parolanto 1: Maya, tuj scii kio mi pekos ĉi tie. 973 00:42:12,110 --> 00:42:14,890 Ho, atendu momenton. 974 00:42:14,890 --> 00:42:23,320 Mi kredas ke mi ĵus sendis 100 teksto mesaĝojn al 555-1212. 975 00:42:23,320 --> 00:42:24,346 Stand by. 976 00:42:24,346 --> 00:42:28,080 977 00:42:28,080 --> 00:42:29,270 Mi ne povas gajni ajna jaro. 978 00:42:29,270 --> 00:42:30,180 BONE. 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 Ripari ke en post produktado. 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 Sekvante adreso. 985 00:42:40,390 --> 00:42:41,301 OK, staras apud. 986 00:42:41,301 --> 00:42:41,800 Pardonon. 987 00:42:41,800 --> 00:42:44,550 988 00:42:44,550 --> 00:42:47,080 Ĝi estas dolora ĉiujare. 989 00:42:47,080 --> 00:42:48,640 OK, unu momento. 990 00:42:48,640 --> 00:42:50,530 Tio estas bona. 991 00:42:50,530 --> 00:42:54,010 Mi anstataŭe faros tion. 992 00:42:54,010 --> 00:42:55,470 Presi adreso. 993 00:42:55,470 --> 00:42:56,030 OK, staras apud. 994 00:42:56,030 --> 00:43:01,340 Presi adresoj, krampo i. 995 00:43:01,340 --> 00:43:02,710 Jes, mi ŝatas tion. 996 00:43:02,710 --> 00:43:10,220 Dolaro sign-- OK Mi klarigos kion mi fari en momento, post mi kuras ĉi. 997 00:43:10,220 --> 00:43:11,670 Ĉiujare. 998 00:43:11,670 --> 00:43:13,125 OK, tie ni iras. 999 00:43:13,125 --> 00:43:15,750 Mi havas just-- kaj mi ne volas montri ĉies telefonnumero, 1000 00:43:15,750 --> 00:43:17,740 sed Maya povas konfirmi kun kapjeso de la kapo, 1001 00:43:17,740 --> 00:43:20,800 ke ŝi vidas ĉies ajn Telefonnumero en la klaso 1002 00:43:20,800 --> 00:43:26,750 ke mi tuj kopii en programo nomata Gmail. 1003 00:43:26,750 --> 00:43:30,860 Kaj se en Gmail, kion ni volas diri? 1004 00:43:30,860 --> 00:43:32,137 Vi mankas al mi. 1005 00:43:32,137 --> 00:43:33,220 Love-- tio ne de mi. 1006 00:43:33,220 --> 00:43:35,230 Mi eĉ ne trafis sendi ankoraŭ. 1007 00:43:35,230 --> 00:43:39,450 Do ni iru antaŭen kaj fari tiu, se mi povas zomi. 1008 00:43:39,450 --> 00:43:40,300 BONE. 1009 00:43:40,300 --> 00:43:42,480 Do mi uzas programon vokis Gmail nun. 1010 00:43:42,480 --> 00:43:44,490 Se Maya, vi ŝatus klaki la Sendi butonon, 1011 00:43:44,490 --> 00:43:46,970 ni simuli kion tio kodo devus esti farita. 1012 00:43:46,970 --> 00:43:54,630 1013 00:43:54,630 --> 00:43:55,254 >> Io ajn? 1014 00:43:55,254 --> 00:43:56,062 >> [Beeps] 1015 00:43:56,062 --> 00:43:56,870 >> Publiko: Yep. 1016 00:43:56,870 --> 00:43:58,030 >> Parolanto 1: Jes? 1017 00:43:58,030 --> 00:43:59,210 Savo? 1018 00:43:59,210 --> 00:44:00,427 >> Publiko: Yep. 1019 00:44:00,427 --> 00:44:01,260 Parolanto 1: Miss vi. 1020 00:44:01,260 --> 00:44:02,718 Kaj mi tuj sendos la reston. 1021 00:44:02,718 --> 00:44:06,060 Mi sendis duono ĉar mi ne pensis Gmail lasus tiujn trairu. 1022 00:44:06,060 --> 00:44:12,410 Do simple memoru, hodiaŭ estas la tago ke vi lernis ke mi povas uzi Gmail. 1023 00:44:12,410 --> 00:44:14,977 1024 00:44:14,977 --> 00:44:15,810 Tio estis hororigaj. 1025 00:44:15,810 --> 00:44:17,140 Granda aplaŭdo al Maya. 1026 00:44:17,140 --> 00:44:18,980 Dankon. 1027 00:44:18,980 --> 00:44:21,280 Bone, do. 1028 00:44:21,280 --> 00:44:22,210 Kio 1029 00:44:22,210 --> 00:44:23,140 >> [Beeps] 1030 00:44:23,140 --> 00:44:25,010 1031 00:44:25,010 --> 00:44:26,580 >> Ni havas kelkajn beeps, jes? 1032 00:44:26,580 --> 00:44:27,080 Bone. 1033 00:44:27,080 --> 00:44:30,590 Nun mi iros akiri 700 vere malfeliĉa retpoŝtojn reen de samklasanoj. 1034 00:44:30,590 --> 00:44:32,400 Do almenaŭ ni vidos se ke valoris ĝin. 1035 00:44:32,400 --> 00:44:33,300 Do kio misfunkciis? 1036 00:44:33,300 --> 00:44:35,300 Mi elkompreni iris erara post la fakto, 1037 00:44:35,300 --> 00:44:38,340 sed nur rigardi kiel facile estis fari ke en PHP. 1038 00:44:38,340 --> 00:44:44,598 Do kion ni povas reale fari nun ke ni havas ĉi esprimpovo de PHP. 1039 00:44:44,598 --> 00:44:45,970 Ke was-- ke estis terure. 1040 00:44:45,970 --> 00:44:46,480 Bone. 1041 00:44:46,480 --> 00:44:48,430 Do estis devus esti foririnta. 1042 00:44:48,430 --> 00:44:52,770 Tiu estis mi elprovanta ĉimatene sur mia telefono, fakta ekrankopio de mia telefono. 1043 00:44:52,770 --> 00:44:56,180 >> Sed nun ni pripensu kial ni vere enkonduki 1044 00:44:56,180 --> 00:44:57,840 ĉiuj ĉi aferoj en la unua loko. 1045 00:44:57,840 --> 00:45:01,625 Do la celo estas ne skribi tiujn programojn kiuj 1046 00:45:01,625 --> 00:45:03,250 skribitajn en la komanda linio, dekstra? 1047 00:45:03,250 --> 00:45:05,000 Do mi skribis simplan saluton programo, mi skribis 1048 00:45:05,000 --> 00:45:09,155 iom programo kiu faras Conditionals, kaj uzis legita linio kaj tiel antaŭen. 1049 00:45:09,155 --> 00:45:11,530 Kaj en teorio, mi nur skribis programo kiu elsendis 1050 00:45:11,530 --> 00:45:14,290 800 mesaĝoj de teksto, donu aŭ preni 800. 1051 00:45:14,290 --> 00:45:16,830 Kaj tiu programo estis ĉiuj ankoraŭ kuri al la komanda linio. 1052 00:45:16,830 --> 00:45:18,538 Kaj tio kompreneble estas ne la retejo, ĉu ne? 1053 00:45:18,538 --> 00:45:22,160 La celo nun estas ekuzi kion mi asertas estas pli facile uzi 1054 00:45:22,160 --> 00:45:24,720 lingvo, supozeble pli potenca lingvo en terminoj 1055 00:45:24,720 --> 00:45:27,104 de la karakterizaĵoj kiuj venu kun ĝi, por komenci 1056 00:45:27,104 --> 00:45:29,850 skribi kodon kiu generas retpaĝoj. 1057 00:45:29,850 --> 00:45:33,248 >> Do lastan fojon kaj pasintsemajne, ni parolis pri HTTP kaj HTML. 1058 00:45:33,248 --> 00:45:36,350 Kaj kio estas agrabla pri HTML estas ke ĝi estas nur pura teksto. 1059 00:45:36,350 --> 00:45:38,220 Kaj teksto certe iu kiu vi povas 1060 00:45:38,220 --> 00:45:42,040 presi per laŭvorte nomante la presaĵo f funkcio, aŭ la presita funkcio. 1061 00:45:42,040 --> 00:45:46,160 Kaj efektive, jen kion PHP estas nun tuj permesos al ni fari. 1062 00:45:46,160 --> 00:45:48,610 Do inter la ekzemploj ni havas en hodiaŭa fontkodon, 1063 00:45:48,610 --> 00:45:51,610 krom iuj de la kodo ke mi metis tien antaŭ momento, 1064 00:45:51,610 --> 00:45:55,440 ni havas programojn kiel ĉi ekz. 1065 00:45:55,440 --> 00:45:58,760 Froshims, aŭ Freshman Intramural Sports, estis fakte 1066 00:45:58,760 --> 00:46:01,500 unu el la unuaj extracurriculars Mi akiris okupita kun jaroj. 1067 00:46:01,500 --> 00:46:03,750 Kaj mia samĉambranino kaj mi, kun iuj aliaj infanoj sur kampuso, 1068 00:46:03,750 --> 00:46:05,280 uzita por kuri la froshims programo. 1069 00:46:05,280 --> 00:46:07,420 Mi pretigas mian tekston mesaĝojn nun. 1070 00:46:07,420 --> 00:46:14,030 >> Nun do ni, reen en la tago, tial ĉi Estis 1996 aŭ tiel, estis Interreto, 1071 00:46:14,030 --> 00:46:17,395 sed ne estis process-- tie neniu retejo por froshims. 1072 00:46:17,395 --> 00:46:20,270 Kaj do se vi volis registri futbalo aŭ flugpilkon aux kio ajn, 1073 00:46:20,270 --> 00:46:22,240 vi devus plenigi tion nomata paperpeco, 1074 00:46:22,240 --> 00:46:25,060 kaj vi piedirus trans Harvard jardo, kaj vi devus gliti ĝin 1075 00:46:25,060 --> 00:46:29,230 en la poŝto fendo de la proctor, kiuj Estis en Wigglesworth, unu el la dormejoj. 1076 00:46:29,230 --> 00:46:31,270 Kaj tiu estis vi registritaj. 1077 00:46:31,270 --> 00:46:33,570 Kaj li aŭ ŝi estus tiam formi retmesaĝon al vi 1078 00:46:33,570 --> 00:46:36,514 permane, multe kiel mi ĵus faris tie kun Maya, 1079 00:46:36,514 --> 00:46:38,930 kaj tiam vi estus konfirmita kiel estis registrita. 1080 00:46:38,930 --> 00:46:40,840 >> Do tiu estis kiel malaltaj pendantan frukto, tiel diri. 1081 00:46:40,840 --> 00:46:42,930 Estis speco de stultaj ke ni uzis papero por tio ĉi. 1082 00:46:42,930 --> 00:46:45,024 Mi volis nin povi nur iri en retejo, 1083 00:46:45,024 --> 00:46:47,440 aŭ havas la unuajaruloj iri sur retejo, registriĝu por sportoj, 1084 00:46:47,440 --> 00:46:50,398 kaj ĵus aŭtomatigi multajn tiun materialon metante iliajn nomojn kaj retpoŝtoj 1085 00:46:50,398 --> 00:46:51,850 kaj tiel plu en datumbazo. 1086 00:46:51,850 --> 00:46:56,510 Kaj fakte, la tre unua versio de la retejo, uzante súper malbela HTML, 1087 00:46:56,510 --> 00:46:58,195 eble rigardis io tiamaniere. 1088 00:46:58,195 --> 00:47:01,070 Fakte estis, ironie, pli embarasanta belaj ol ĉi reen 1089 00:47:01,070 --> 00:47:01,460 tiam. 1090 00:47:01,460 --> 00:47:02,890 Sed mi uzis programlingvo. 1091 00:47:02,890 --> 00:47:06,060 Ne PHP, sed prefere nomis Perl, kiu estas pli malnova lingvo, 1092 00:47:06,060 --> 00:47:07,251 sed tre simila en spirito. 1093 00:47:07,251 --> 00:47:09,000 Kaj mi simple tute instruis ĝin al mi mem. 1094 00:47:09,000 --> 00:47:12,208 Kaj ĝi prenis min momento kalkuli ĝin ekstere, demandante multaj demandoj de amikoj. 1095 00:47:12,208 --> 00:47:14,080 Sed la ideoj tie estis ekzakte la sama. 1096 00:47:14,080 --> 00:47:18,050 Pro kio PHP estis vere desegnita cxar ne la komandlinio aĵoj 1097 00:47:18,050 --> 00:47:20,450 ni nur ludis kun, sed por ttt programado. 1098 00:47:20,450 --> 00:47:24,960 >> Ĝi estas vere alligita lia trajto fiksita al la retejo, kiel sekvas. 1099 00:47:24,960 --> 00:47:26,370 Jen froshims. 1100 00:47:26,370 --> 00:47:28,720 Kaj se mi volus registri en tiu formo, 1101 00:47:28,720 --> 00:47:30,930 ĉi estas sufiĉe malbela, certe, sed lasu min antaŭeniri 1102 00:47:30,930 --> 00:47:34,440 kaj esti malpli komfortaj studentaj, kaj kion ajn sporto por Matthews, 1103 00:47:34,440 --> 00:47:35,630 klaku Registro. 1104 00:47:35,630 --> 00:47:39,780 Kion mi volas povi fari estas prezenti informon de formo, 1105 00:47:39,780 --> 00:47:42,400 ne al Google servilo kiel ni faris lastan fojon, tute 1106 00:47:42,400 --> 00:47:47,100 trompado uzante ilian backend, mi volas apliki mian propran backend kodo. 1107 00:47:47,100 --> 00:47:51,410 Kio signifas registran PHP kodo kiu vivas ĉe retadreson 1108 00:47:51,410 --> 00:47:54,180 ke formularaj datumoj povas esti proponita. 1109 00:47:54,180 --> 00:47:57,510 >> Kaj tiam via kodo, skribita en PHP sur servilo, 1110 00:47:57,510 --> 00:47:59,400 tiam povas respondi al tiu uzanto enigo. 1111 00:47:59,400 --> 00:48:03,287 Kiel lia aŭ ŝia nomo, nek komforton nivelo, aŭ dormejo, kaj tiam fari ion per ĝi. 1112 00:48:03,287 --> 00:48:05,120 En tiu kazo, mi simple stulte presita ĝin 1113 00:48:05,120 --> 00:48:06,750 kiel teksto, kiu finfine ne bela. 1114 00:48:06,750 --> 00:48:09,590 Sed vi povis ja imagu, se vi scias HTML, 1115 00:48:09,590 --> 00:48:13,010 kaj vi baldaŭ scios kiel generi HTML kun print f, kaj presaĵo, 1116 00:48:13,010 --> 00:48:16,500 kaj similaj funkcioj, vi povas certe generi pli bela retpaĝo kiu diras, 1117 00:48:16,500 --> 00:48:17,929 hey Davido, vi nun registrita. 1118 00:48:17,929 --> 00:48:20,220 Vi estas malpli komforta studento de Matthews, dekstra? 1119 00:48:20,220 --> 00:48:23,880 >> Vi povas simple uzi tutan aron de% SES aŭ la krispa krampoj kaj dolaro signo 1120 00:48:23,880 --> 00:48:27,750 notacio mi uzis antaŭ momento, al generi teksto kiu estas pli uzanto amika 1121 00:48:27,750 --> 00:48:28,567 ol tio. 1122 00:48:28,567 --> 00:48:30,150 Do ni rigardu ĉi tiu dosiero. 1123 00:48:30,150 --> 00:48:34,666 Froshim nul streketo PHP aspektas jene. 1124 00:48:34,666 --> 00:48:37,860 1125 00:48:37,860 --> 00:48:43,500 Kiam mi reŝarĝi CS50 IDE, froshim nulo aspektas jene. 1126 00:48:43,500 --> 00:48:45,700 Jen froshim nul streketo PHP. 1127 00:48:45,700 --> 00:48:47,730 Kaj kion vi rimarkas pri ĉi dosieron? 1128 00:48:47,730 --> 00:48:49,506 >> Spektantaro: [inaudible] 1129 00:48:49,506 --> 00:48:50,922 Parolanto 1: Pardonu, iom pli laŭta? 1130 00:48:50,922 --> 00:48:53,250 Spektantaro: [inaudible] Ĉio en HTML. 1131 00:48:53,250 --> 00:48:57,130 Kaj fakte, ĝi estas, ĉar kio estas interesa pri PHP 1132 00:48:57,130 --> 00:48:58,880 estas kiu estis desegnita esti, por pli bona 1133 00:48:58,880 --> 00:49:02,110 aŭ por malbone, intermiksitaj kun HTML kodo. 1134 00:49:02,110 --> 00:49:05,850 Kaj fakte, kvankam ĉi dosiero, froshim nul streketo PHP, 1135 00:49:05,850 --> 00:49:11,470 havas PHP komenton ĉe la supro de ĝi, ĉio nur HTML. 1136 00:49:11,470 --> 00:49:17,655 Sed kontraste, se mi malfermas, ni diru, aliĝu nul streketo PHP, kiu 1137 00:49:17,655 --> 00:49:19,550 nur havas grandan rimarkon ĉe la supro. 1138 00:49:19,550 --> 00:49:26,500 Tio ankaŭ aspektas preskaŭ tute kiel HTML, krom por kio? 1139 00:49:26,500 --> 00:49:29,350 Linio, kio, 21 aspektas iom stranga. 1140 00:49:29,350 --> 00:49:32,739 >> Sed rimarki Mi eniras PHP mode kun malferma krampo demandosigno PHP. 1141 00:49:32,739 --> 00:49:33,780 Tiam mi havas kelkajn aĵojn. 1142 00:49:33,780 --> 00:49:36,724 Kaj poste fine de tiu linio preskaŭ mi havas, demandosigno PHP. 1143 00:49:36,724 --> 00:49:38,390 Kaj jen, kion mi celas per intermiksitaj. 1144 00:49:38,390 --> 00:49:41,910 Vi povas skribi HTML kiu vi ĵus volas la servilo por kraĉi. 1145 00:49:41,910 --> 00:49:45,090 Sed se vi volas fari ion dinamika partway tra la paĝo, 1146 00:49:45,090 --> 00:49:47,699 kiel enmeti mian nomon aŭ dormejo aŭ komforto nivelo, 1147 00:49:47,699 --> 00:49:49,490 Mi povas uzi funkcio kiel presaĵo r, kiu estas 1148 00:49:49,490 --> 00:49:52,492 presi rekursie, kiu signifas nur presi ĉi variablo, formatado ĝi 1149 00:49:52,492 --> 00:49:53,200 tamen vi volas. 1150 00:49:53,200 --> 00:49:55,880 Estas vere ne cxar homaj intencoj, estas nur 1151 00:49:55,880 --> 00:49:58,290 por rafinado aŭ diagnozaj celoj. 1152 00:49:58,290 --> 00:49:59,460 Do jen kiel mi faris tion. 1153 00:49:59,460 --> 00:50:06,100 >> Se mi anstataŭ iri froshims du skalara PHP, rimarkos ke la agado de tiu formo 1154 00:50:06,100 --> 00:50:09,680 ne registris nul streketo PHP kiel la old-- la antaŭa praktiko estis. 1155 00:50:09,680 --> 00:50:11,222 Sed gxi registris du skalara PHP. 1156 00:50:11,222 --> 00:50:13,680 Do ni rigardu kiel ĉi tiu kondutas iom malsame. 1157 00:50:13,680 --> 00:50:15,140 Se mi iras en versio du. 1158 00:50:15,140 --> 00:50:20,430 Se tie, se mi registru kiel David, malpli komforta, el dormejo de Mathews, 1159 00:50:20,430 --> 00:50:21,480 registri. 1160 00:50:21,480 --> 00:50:23,770 Do ĉi tiu fojo diris, vi registras, ne vere. 1161 00:50:23,770 --> 00:50:25,370 Vidu kion mi faris tie. 1162 00:50:25,370 --> 00:50:29,760 Se mi rigardas registro du streketo PHP, tiu havas iom pli PHP kodo. 1163 00:50:29,760 --> 00:50:35,410 Estas iom purigisto, kvankam ĝi ankoraŭ envolvas iom longe sur tiu linio. 1164 00:50:35,410 --> 00:50:36,260 Rimarku tie. 1165 00:50:36,260 --> 00:50:40,300 Mi presi miajn HTML tag, mia kapo etikedo, mia titolo etikedo, la kapo, la korpo. 1166 00:50:40,300 --> 00:50:45,410 >> Kaj tiam mi komencas diri aĵoj kiel eniri PHP modo. 1167 00:50:45,410 --> 00:50:48,540 Kaj por ke etikedon, malferma krampo PHP-- demandosigno PHP diras, 1168 00:50:48,540 --> 00:50:53,460 hej, servilo, execute-- interpreti la jenajn aferojn kiel PHP 1169 00:50:53,460 --> 00:50:55,030 ĝis vi vidos la fino etikedo. 1170 00:50:55,030 --> 00:50:58,590 Kaj kvankam vi eble ne scias ajnan aliaj PHP ol vi vidis ĝis nun, 1171 00:50:58,590 --> 00:51:01,290 vi povas ia legi sufiĉe intuicie. 1172 00:51:01,290 --> 00:51:10,670 Se nomo estas malplenaj, aŭ komforto estas malplena, aŭ dormejo estas malplena, kion mi faru? 1173 00:51:10,670 --> 00:51:12,830 Kion mi diras al la uzanto? 1174 00:51:12,830 --> 00:51:15,330 Vi devas provizi vian nomon, komforton, kaj dormejo, kaj tiel antaŭen. 1175 00:51:15,330 --> 00:51:17,750 Alie, mi diras vin estas registrita, bone ne vere. 1176 00:51:17,750 --> 00:51:19,190 >> Kaj mi ne diras vere ĉar ekzistas neniu datumbazo. 1177 00:51:19,190 --> 00:51:20,200 Mi nenion faras kun la datumoj. 1178 00:51:20,200 --> 00:51:22,408 Mi nur forĵeton por pruvo celoj. 1179 00:51:22,408 --> 00:51:24,320 Nun mi specon de skimped super linio 22. 1180 00:51:24,320 --> 00:51:26,400 Ekzistas pli sintakso tie, sed dolaro signo 1181 00:51:26,400 --> 00:51:28,320 substreki post estas speco de interesa. 1182 00:51:28,320 --> 00:51:30,300 Kaj tiu estas kio estas agrabla pri PHP. 1183 00:51:30,300 --> 00:51:35,610 En PHP, vi havas kio estas nomitaj kelkaj super tutmonda variabloj. 1184 00:51:35,610 --> 00:51:38,430 Ili estas speco de eĉ pli grava ol tutmonda variabloj. 1185 00:51:38,430 --> 00:51:41,370 Kaj tiuj, ĉiuj majuskloj kiel tia, venu kun PHP. 1186 00:51:41,370 --> 00:51:44,550 Do se vi havas servilon kiu havas retservilo instalita, kiel Apache, 1187 00:51:44,550 --> 00:51:49,390 kaj vi instalas la lingvo subteno por PHP, subite vi 1188 00:51:49,390 --> 00:51:52,250 povas ekuzi tiuj super mallokajn variablojn en via kodo. 1189 00:51:52,250 --> 00:51:54,330 >> Kaj kio estas agrabla pri PHP estas ke se vi nur 1190 00:51:54,330 --> 00:51:57,540 skribi dosieron, kiu finiĝas per punkto PHP, metis ĝin sur retservilo, 1191 00:51:57,540 --> 00:52:01,260 kaj tiam vi submetas formo ĝi tra kiuj ago etikedo kaj formo etikedo, 1192 00:52:01,260 --> 00:52:05,110 ke ago atributo en la formo etikedo, PHP kaj la TTT 1193 00:52:05,110 --> 00:52:09,360 tute figuroj el kiom ekpreni ĉiuj tiuj ŝlosilaj valoro paroj eksteren 1194 00:52:09,360 --> 00:52:11,633 de la URL kiel demando markon q egalas katoj, 1195 00:52:11,633 --> 00:52:14,782 ĝi elkompreni kiel q kaj katoj. 1196 00:52:14,782 --> 00:52:17,710 Se vi submetas foton, aŭ uzantnomo, aŭ pasvorton ŝati Facebook, 1197 00:52:17,710 --> 00:52:21,360 PHP eltrovi por vi kie ĉiuj de tiu data. 1198 00:52:21,360 --> 00:52:23,821 Kaj ĝi nur transdonu vi asocieca tabelo 1199 00:52:23,821 --> 00:52:27,560 nomita dolaro signo substreko post, aŭ dolaro signo substreki akiri, 1200 00:52:27,560 --> 00:52:30,590 depende ĉu vi estas uzante akiri aŭ afiŝi submetadoj. 1201 00:52:30,590 --> 00:52:32,950 Kaj ĝi nur transdonu vin super tutmonda variablo, 1202 00:52:32,950 --> 00:52:37,254 tial se vi volas akiri en la nomo ke la uzanto donita per tiu retejo 1203 00:52:37,254 --> 00:52:41,894 formo, vi laŭvorte ĝuste diri la nomon de la super tutmonda variablo, citaĵo, 1204 00:52:41,894 --> 00:52:43,380 unquote, nomo. 1205 00:52:43,380 --> 00:52:46,144 Kaj citaĵo, unquote komforto, kaj citaĵo, unquote dormejo. 1206 00:52:46,144 --> 00:52:48,810 Kaj ni tuj povos fari ĉi kaj des pli kun PHP. 1207 00:52:48,810 --> 00:52:50,540 Kaj kvankam ĉi tiu estis ventego rigardeto, 1208 00:52:50,540 --> 00:52:51,980 ni plonĝi en multe pli proksima semajno. 1209 00:52:51,980 --> 00:52:54,247 Ni konatigos datumbazo por ke vi reale 1210 00:52:54,247 --> 00:52:56,816 tuj komencos efektivigo viajn proprajn TTT- komerco based-- 1211 00:52:56,816 --> 00:52:59,150 kiel retejo en nur unu semajno. 1212 00:52:59,150 --> 00:53:02,750 Do ni vidos vin proksima tempo, kaj esperas vin akiris la tekston mesaĝojn. 1213 00:53:02,750 --> 00:53:05,450 Bye. 1214 00:53:05,450 --> 00:53:06,950 >> [MUZIKO Ludante] 1215 00:53:06,950 --> 00:53:11,450 1216 00:53:11,450 --> 00:53:12,950 >> [Pordo] 1217 00:53:12,950 --> 00:53:14,475 >> Parolanto 2: Hej. 1218 00:53:14,475 --> 00:53:15,350 Parolanto 3: Kio nova? 1219 00:53:15,350 --> 00:53:17,750 Parolanto 2: Kion vi faras? 1220 00:53:17,750 --> 00:53:19,850 Parolanto 3: Laborante sur problemo aro. 1221 00:53:19,850 --> 00:53:21,050 Parolanto 2: Nice. 1222 00:53:21,050 --> 00:53:22,550 Altaj kvin. 1223 00:53:22,550 --> 00:53:23,150 >> [HIGH FIVE] 1224 00:53:23,150 --> 00:53:25,584 >> Kio are-- uh, kion vi faras ĉi tie? 1225 00:53:25,584 --> 00:53:26,750 Parolanto 3: Ĝuste eliri. 1226 00:53:26,750 --> 00:53:28,134 Ĵus revenis de la gimnazio. 1227 00:53:28,134 --> 00:53:30,050 Mi ne povis ne rimarkos kiam ni alta fived, 1228 00:53:30,050 --> 00:53:32,450 ke vi havas belan malĝentilaj manoj. 1229 00:53:32,450 --> 00:53:33,950 Ĉu vi iras al la gimnazio? 1230 00:53:33,950 --> 00:53:35,150 >> Parolanto 2: No. 1231 00:53:35,150 --> 00:53:36,650 No. 1232 00:53:36,650 --> 00:53:38,450 >> Parolanto 3: Dude, vi aspektas iom granda. 1233 00:53:38,450 --> 00:53:45,950 Kiu estas malbona, ĉar ĉiuj scias 8-pilko estas la granda viro sur kampuso. 1234 00:53:45,950 --> 00:53:48,050 Alta-kvin. 1235 00:53:48,050 --> 00:53:49,550 >> Parolanto 2: Uh, ne. 1236 00:53:49,550 --> 00:53:50,450 Ne, mi opinias min bona. 1237 00:53:50,450 --> 00:53:52,300 Mi opinias min bona. 1238 00:53:52,300 --> 00:53:54,097