1 00:00:00,000 --> 00:00:04,410 >> [REPRODUCCIÓ DE MÚSICA] 2 00:00:04,410 --> 00:00:12,250 3 00:00:12,250 --> 00:00:15,770 >> ALTAVEU 1: Aquest és CS50 i aquest és el final de la setmana de set. 4 00:00:15,770 --> 00:00:20,240 Avui és potser on realment ensenyant idiomes. 5 00:00:20,240 --> 00:00:24,100 Hem introduït en l'últim parell de setmana HTML i CSS, cap dels quals 6 00:00:24,100 --> 00:00:25,240 són llenguatges de programació. 7 00:00:25,240 --> 00:00:28,600 I, en efecte, tot i que no mirar a gairebé totes les etiquetes 8 00:00:28,600 --> 00:00:33,410 que ve amb HTML i gairebé tots de les propietats que ve amb CSS, 9 00:00:33,410 --> 00:00:35,007 això és una cosa que per a HTML i CSS. 10 00:00:35,007 --> 00:00:36,840 Tindrem general començar suposant que 11 00:00:36,840 --> 00:00:39,545 entendre les idees generals d'etiquetes i atributs, 12 00:00:39,545 --> 00:00:41,850 i les pàgines que s'envien des del client al servidor. 13 00:00:41,850 --> 00:00:45,280 >> Perquè avui comencem a mirar un altre llenguatge de programació, PHP. 14 00:00:45,280 --> 00:00:47,110 Anem a fer això molt ràpid. 15 00:00:47,110 --> 00:00:50,910 No anem a ensenyar PHP per se, de la mateixa manera que nosaltres no aspirem a ensenyar 16 00:00:50,910 --> 00:00:52,670 C, per se, sinó més aviat de programació. 17 00:00:52,670 --> 00:00:55,088 I, en efecte, un dels metes per a aquest curs 18 00:00:55,088 --> 00:00:57,820 No se que li ensenyi C, o HTML o CSS o PHP, 19 00:00:57,820 --> 00:01:00,370 o qualsevol nombre d'una altra paraules de moda o acrònims, 20 00:01:00,370 --> 00:01:03,097 sinó més aviat la informàtica i com programar fonamentalment. 21 00:01:03,097 --> 00:01:05,930 I, de fet, avui comencem a prendre aquestes rodes d'entrenament fora de tota la 22 00:01:05,930 --> 00:01:10,600 encara més per volar a través d'una llenguatge anomenat PHP, com segueix. 23 00:01:10,600 --> 00:01:13,640 >> Això és el que es veu aquest llenguatge similar. 24 00:01:13,640 --> 00:01:17,790 Resulta que no hi ha necessitat de una funció principal en un programa escrit 25 00:01:17,790 --> 00:01:19,470 en un llenguatge anomenat PHP. 26 00:01:19,470 --> 00:01:22,585 Així que ja sona una mica més simple que C, amb la qual estem familiaritzats. 27 00:01:22,585 --> 00:01:25,370 Resulta que si vull declarar una variable, 28 00:01:25,370 --> 00:01:29,470 ho fa de manera gairebé idèntica a C. Però clarament hi ha una diferència aquí 29 00:01:29,470 --> 00:01:31,850 quan em declaro una cadena, o potser dues diferències. 30 00:01:31,850 --> 00:01:32,725 El que es veu diferent? 31 00:01:32,725 --> 00:01:35,810 32 00:01:35,810 --> 00:01:37,160 >> AUDIÈNCIA: El signe de dòlar. 33 00:01:37,160 --> 00:01:39,951 >> ALTAVEU 1: Sí, hi ha dòlar d'acord, que mai hem vist abans. 34 00:01:39,951 --> 00:01:41,451 I el que falta? 35 00:01:41,451 --> 00:01:41,950 Sí? 36 00:01:41,950 --> 00:01:42,820 >> AUDIÈNCIA: [inaudible] 37 00:01:42,820 --> 00:01:44,403 >> ALTAVEU 1: Sí, no hi ha cap tipus de dades. 38 00:01:44,403 --> 00:01:48,410 Així que resulta que PHP és el que trucar a un llenguatge dèbilment tipat, on 39 00:01:48,410 --> 00:01:49,959 C és fortament tipat. 40 00:01:49,959 --> 00:01:52,500 Sense prémer escrit només vol dir que hi ha diferents tipus de dades, 41 00:01:52,500 --> 00:01:54,470 hi ha cadenes i sencers, i carrosses. 42 00:01:54,470 --> 00:01:56,330 Però les xifres d'ordinadors que fos. 43 00:01:56,330 --> 00:01:58,664 Vostè programador humà no han de entendre-ho. 44 00:01:58,664 --> 00:02:00,580 Així que tot el que ha de fer per declarar una variable és 45 00:02:00,580 --> 00:02:03,220 signe de dòlar, el nom de la seva la variable i, a continuació, per exemple, 46 00:02:03,220 --> 00:02:04,760 entre cometes, hola món. 47 00:02:04,760 --> 00:02:07,662 >> Bé, això és el que un condició sembla en PHP. 48 00:02:07,662 --> 00:02:08,328 Qualsevol diferència? 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 Així que resulta que són idèntics. 52 00:02:12,540 --> 00:02:14,665 I és possible que tingui menys sucursals o més branques, 53 00:02:14,665 --> 00:02:16,557 però els girs de sintaxi exactament el mateix. 54 00:02:16,557 --> 00:02:18,390 Expressions booleanes poden demanar junts. 55 00:02:18,390 --> 00:02:20,400 Expressions booleanes es pot anded junts. 56 00:02:20,400 --> 00:02:21,430 Vostè encara té interruptors. 57 00:02:21,430 --> 00:02:23,790 Encara que no ha utilitzat aquests, aquestes existeixen en C 58 00:02:23,790 --> 00:02:26,020 i són funcionalment equivalent en PHP. 59 00:02:26,020 --> 00:02:28,260 >> I de fet, en PHP són una mica més potent. 60 00:02:28,260 --> 00:02:32,540 En C, només es pot comparar segur tipus de dades com sencers i caràcters, 61 00:02:32,540 --> 00:02:36,320 mentre que en PHP es pot comparar en realitat cordes fledge complets sense tenir 62 00:02:36,320 --> 00:02:38,460 de preocupar de punters i similars. 63 00:02:38,460 --> 00:02:39,430 Així que aquí està un bucle for. 64 00:02:39,430 --> 00:02:41,270 Això és només pseudocodi codi, si es vol. 65 00:02:41,270 --> 00:02:43,400 Però és estructuralment idèntica a C. 66 00:02:43,400 --> 00:02:47,520 >> Aquí hi ha un bucle while, pseudocodi therefore-- idèntica a C. 67 00:02:47,520 --> 00:02:49,390 Aquí és un do mentre loop-- idèntics. 68 00:02:49,390 --> 00:02:51,390 I així hi ha una mena de aquest patró ací pel qual 69 00:02:51,390 --> 00:02:54,400 hi ha alguns altres sintàctica característiques que estan de fet va a veure. 70 00:02:54,400 --> 00:02:57,340 De fet, aquí és un bon forma en PHP mitjançant el qual, 71 00:02:57,340 --> 00:02:59,350 si desitja repetir sobre una matriu, i 72 00:02:59,350 --> 00:03:02,309 no volen saltar a través de la cèrcols mentals i sintàctiques de tenir 73 00:03:02,309 --> 00:03:05,178 int i és igual a 0, i menys que n, i, més que Plus-- 74 00:03:05,178 --> 00:03:07,040 és només un munt de sintaxi molest. 75 00:03:07,040 --> 00:03:10,654 Es pot dir una mica més de manera fluïda per a cada un dels nombres 76 00:03:10,654 --> 00:03:13,320 com el nombre, on en aquest cas nombre de signes de dòlar, estic assumint, 77 00:03:13,320 --> 00:03:15,400 és com una matriu anomenada nombres. 78 00:03:15,400 --> 00:03:18,810 I llavors jo estic assumint nombre, singular, serà una variable. 79 00:03:18,810 --> 00:03:22,940 >> ¿I què PHP va a fer per mi, ja que iterar sobre aquest bucle és, en cada iteració, 80 00:03:22,940 --> 00:03:28,450 que va actualitzar el nombre variable de ser l'element i-èsim en els números, en plural. 81 00:03:28,450 --> 00:03:30,060 Pel que només s'encarrega de tot això per a mi. 82 00:03:30,060 --> 00:03:32,750 No hi ha claudàtors, sense signe de dòlar, no hi ha punt i coma. 83 00:03:32,750 --> 00:03:34,117 És només una mica més simple. 84 00:03:34,117 --> 00:03:35,950 Bé, si vols una matriu, resulta que 85 00:03:35,950 --> 00:03:38,908 pot fer alguna cosa molt similar a C. La sintaxi és una mica diferent. 86 00:03:38,908 --> 00:03:41,000 Però aquí hi ha una sèrie anomenada dòlar va signar nombres. 87 00:03:41,000 --> 00:03:44,261 I ús, en PHP, quadrat suports, resulta. 88 00:03:44,261 --> 00:03:47,260 I anem a veure a aquests de nou en JavaScript-- un altre idioma. 89 00:03:47,260 --> 00:03:49,968 Acabo d'utilitzar la notació de claudàtors tenir una llista separada per comes 90 00:03:49,968 --> 00:03:51,530 d'enters, en aquest cas. 91 00:03:51,530 --> 00:03:53,010 Però això em dóna una matriu. 92 00:03:53,010 --> 00:03:56,270 >> Però encara més poderosa en PHP, també tenim el que són en general 93 00:03:56,270 --> 00:03:57,640 anomenat matrius associatives. 94 00:03:57,640 --> 00:03:59,540 I un munt d'idiomes tenir aquests també. 95 00:03:59,540 --> 00:04:03,810 El que passa amb les matrius C és que els índexs 96 00:04:03,810 --> 00:04:06,940 per una matriu, el que utilitzar entre claudàtors a través del qual 97 00:04:06,940 --> 00:04:08,600 accés elements, ha de ser què? 98 00:04:08,600 --> 00:04:10,620 >> AUDIÈNCIA: [inaudible] 99 00:04:10,620 --> 00:04:14,220 >> ALTAVEU 1: Han de ser nombres o sencers, concretament des de zero en endavant. 100 00:04:14,220 --> 00:04:17,140 Doncs bé, en PHP, i, resulta fora, en altres idiomes, 101 00:04:17,140 --> 00:04:20,820 vostè pot començar a tenir índexs que no són numèrics. 102 00:04:20,820 --> 00:04:23,880 Però en realitat són paraules o frases, de manera que en lloc de 103 00:04:23,880 --> 00:04:27,070 tracti de recordar que alguna cosa està, o emmagatzemat en una variable d'i, 104 00:04:27,070 --> 00:04:31,720 en realitat es pot usar una paraula i dir que-- es pot dir una paraula com aquesta. 105 00:04:31,720 --> 00:04:34,730 >> Així que la cita és el signe de dòlar nom d'una variable aquí. 106 00:04:34,730 --> 00:04:39,360 Aquesta és la sintaxi una mica covard aquesta és l'associació de dos valors clau 107 00:04:39,360 --> 00:04:41,250 parells per a aquesta variable. 108 00:04:41,250 --> 00:04:45,490 En concret, això m'està donant una matriu que és de longitud 2. 109 00:04:45,490 --> 00:04:47,660 No obstant això, els índexs no són 0 i 1. 110 00:04:47,660 --> 00:04:51,250 Els índexs estan entre cometes símbol i cotització fi de la cita. 111 00:04:51,250 --> 00:04:55,990 I els valors d'aquests índexs, respectivament, és FB per a Facebook 112 00:04:55,990 --> 00:05:00,360 i 79,53 $, l'última vegada facturat un preu per això. 113 00:05:00,360 --> 00:05:01,210 >> Què vol dir això? 114 00:05:01,210 --> 00:05:04,136 Bé, vol dir que en lloc d'escriure codi 115 00:05:04,136 --> 00:05:09,612 com aquest, on solia fer alguna cosa com dòlar sign-- o més aviat, en C 116 00:05:09,612 --> 00:05:11,070 Ni tan sols tindria un signe de dòlar. 117 00:05:11,070 --> 00:05:13,490 M'agradaria fer alguna cosa com cotitzacions i després 118 00:05:13,490 --> 00:05:18,410 Jo faria suport d'i per aconseguir en algun arbitràriament numèricament valor indexat. 119 00:05:18,410 --> 00:05:21,430 A partir d'avui en PHP, si que vulgui obtenir a algun valor, 120 00:05:21,430 --> 00:05:24,742 tenim sort de tenir més expressivitat semàntica. 121 00:05:24,742 --> 00:05:27,450 Només una forma elegant de dir que podem simplement dir les coses com són. 122 00:05:27,450 --> 00:05:29,800 >> I si vol aconseguir alguna cosa símbol, 123 00:05:29,800 --> 00:05:32,180 ara que, literalment, fer citar símbol fi de la cita 124 00:05:32,180 --> 00:05:34,910 entre claudàtors en lloc d'un simple número. 125 00:05:34,910 --> 00:05:36,450 Així que és una bona comoditat. 126 00:05:36,450 --> 00:05:38,140 I això és una espècie de tot per ara. 127 00:05:38,140 --> 00:05:40,240 Hi ha raïms de altres característiques en PHP. 128 00:05:40,240 --> 00:05:43,180 I, en efecte, ve amb PHP la pica de la cuina proverbial. 129 00:05:43,180 --> 00:05:48,640 Desenes, centenars de funcions vénen amb PHP-- tants més que va venir amb C. 130 00:05:48,640 --> 00:05:51,360 >> I això no és la intenció de aclaparar sinó més aviat ajudar a 131 00:05:51,360 --> 00:05:53,900 t'adones que hi ha ja haver d'escriure codi 132 00:05:53,900 --> 00:05:55,590 que és una espècie d'aquí baix conceptualment. 133 00:05:55,590 --> 00:05:58,465 Ara només podem començar a prendre avantatge característiques de molt més avançades 134 00:05:58,465 --> 00:05:59,920 que llenguatges com PHP tenen. 135 00:05:59,920 --> 00:06:02,630 Així que no hem de preocupar-nos per moure les coses en la memòria. 136 00:06:02,630 --> 00:06:05,338 Nosaltres no hem de preocupar-nos per malloc i totes elles nivell inferior, 137 00:06:05,338 --> 00:06:09,390 detalls de gran abast que se li Wrestle amb, si no lluitar amb, pset5, 138 00:06:09,390 --> 00:06:13,380 però vostè pot començar a aviat donar per fet. 139 00:06:13,380 --> 00:06:17,770 >> De fet, anem a escriure un super senzill programa en PHP, com segueix. 140 00:06:17,770 --> 00:06:21,550 Vaig a anar al capdavant en CS50 IDE aquí, i el que faré 141 00:06:21,550 --> 00:06:29,370 és crear un nou arxiu, que de manera molt senzilla serà anomenat hola PHP punt. 142 00:06:29,370 --> 00:06:31,860 Així que en lloc de punt c, és serà anomenat punt PHP. 143 00:06:31,860 --> 00:06:34,260 I després, en aquest arxiu, Puc començar a escriure. 144 00:06:34,260 --> 00:06:36,960 Però resulta que el una cosa que he de saber 145 00:06:36,960 --> 00:06:41,470 és que qualsevol arxiu PHP en general, necessita per començar amb una sintaxi especial. 146 00:06:41,470 --> 00:06:44,570 Similar a la de HTML, però de nou, PHP és un llenguatge de programació, no 147 00:06:44,570 --> 00:06:45,590 un llenguatge de marques. 148 00:06:45,590 --> 00:06:48,700 >> Així que cada arxiu, i és una espècie d'aspecte estúpid ho admeto. 149 00:06:48,700 --> 00:06:50,480 Suport Obrir, signe d'interrogació, PHP. 150 00:06:50,480 --> 00:06:53,060 I això és només el el camí de la llengua de dir, 151 00:06:53,060 --> 00:06:58,400 bo, equip aquí ve una mica de codi escrit en un llenguatge anomenat PHP. 152 00:06:58,400 --> 00:07:01,900 I després al final del seu arxiu, fas tipus de classe en cas contrari. 153 00:07:01,900 --> 00:07:04,860 Vostè no tornar a escriure PHP, només fer el signe d'interrogació, suport angular. 154 00:07:04,860 --> 00:07:08,500 I llavors qualsevol cosa que posis a l'interior d'aquestes dues etiquetes, per així dir-ho, 155 00:07:08,500 --> 00:07:11,490 serà, o hauria de ser, el codi PHP. 156 00:07:11,490 --> 00:07:13,180 >> Així que farem alguna cosa super simple. 157 00:07:13,180 --> 00:07:19,370 Vaig a seguir endavant i fer-ho d'impressió def, hola món, barra invertida n, desar. 158 00:07:19,370 --> 00:07:27,310 I ara en el meu sistema, vaig a faig, faig hello-- no, jo vaig a fer, 159 00:07:27,310 --> 00:07:28,726 punt slash hola. 160 00:07:28,726 --> 00:07:31,250 No, slash dot, hm. 161 00:07:31,250 --> 00:07:32,990 Així que alguna cosa és diferent. 162 00:07:32,990 --> 00:07:36,920 I de fet, aquesta és una diferència clau entre PHP i llenguatges com C. C 163 00:07:36,920 --> 00:07:38,730 era una llengua anomenada compilat. 164 00:07:38,730 --> 00:07:40,929 Què va significar per a C per compilar? 165 00:07:40,929 --> 00:07:41,970 Quina va ser la conseqüència? 166 00:07:41,970 --> 00:07:42,898 Sí. 167 00:07:42,898 --> 00:07:45,220 >> AUDIÈNCIA: el va escriure en codi màquina per la qual cosa podria ser executat per l'ordinador. 168 00:07:45,220 --> 00:07:46,011 >> ALTAVEU 1: Exactament. 169 00:07:46,011 --> 00:07:49,075 Hem de convertir primer en anomenat codi màquina, zeros i uns, 170 00:07:49,075 --> 00:07:51,950 abans que en realitat serà executable i entès per l'ordinador. 171 00:07:51,950 --> 00:07:52,840 Per Intel en el seu interior. 172 00:07:52,840 --> 00:07:54,530 Per la CPU a l'interior de l'ordinador. 173 00:07:54,530 --> 00:07:58,170 PHP, per contra, és el que s'anomena un llenguatge interpretat, el que 174 00:07:58,170 --> 00:08:02,230 vol dir que no compilar en zeros i uns, codi de màquina, 175 00:08:02,230 --> 00:08:04,360 que en lloc de sortir com a codi font. 176 00:08:04,360 --> 00:08:08,130 I en lloc de passar com a entrada a un programa, un intèrpret 177 00:08:08,130 --> 00:08:11,960 que algú més va escriure Fa anys que ho entén 178 00:08:11,960 --> 00:08:14,310 línia per línia, caràcter a caràcter. 179 00:08:14,310 --> 00:08:16,120 Així, en altres paraules, els éssers humans per aquí van escriure 180 00:08:16,120 --> 00:08:19,670 un programa que es veurà en el seu codi línia per línia, 181 00:08:19,670 --> 00:08:21,680 i esbrinar el que l'equip ha de fer, 182 00:08:21,680 --> 00:08:25,960 sense convertir- directament a zeros i uns. 183 00:08:25,960 --> 00:08:28,370 >> Així que si veu un bucle for, aquest així anomenat intèrpret 184 00:08:28,370 --> 00:08:30,630 serà així, està bé, el que hauria fer alguna cosa una i altra vegada i una altra. 185 00:08:30,630 --> 00:08:31,150 Que hauria de fer? 186 00:08:31,150 --> 00:08:32,159 Deixa que et miri la següent línia. 187 00:08:32,159 --> 00:08:33,367 Deixa que et miri la següent línia. 188 00:08:33,367 --> 00:08:35,350 I realment ho interpreta línia per línia. 189 00:08:35,350 --> 00:08:37,220 Així que per executar-lo, jo no ús maquillatge. 190 00:08:37,220 --> 00:08:39,409 No consum barra de punts en aquest cas. 191 00:08:39,409 --> 00:08:43,530 Jo en canvi faig PHP, que és el nom d'un programa, també anomenat 192 00:08:43,530 --> 00:08:46,562 L'intèrpret, que és preinstal·lat en CS50 IDE, 193 00:08:46,562 --> 00:08:48,770 i ara he de passar un argument de la línia d'ordres, que 194 00:08:48,770 --> 00:08:52,290 és simplement el nom de la arxiu que vull interpretar. 195 00:08:52,290 --> 00:08:54,740 O més informal, que vull córrer. 196 00:08:54,740 --> 00:08:57,000 I si prem enter, aquí el tenim. 197 00:08:57,000 --> 00:08:57,825 Hola món. 198 00:08:57,825 --> 00:08:59,950 Ara resulta que jo def impressió utilitzat deliberadament 199 00:08:59,950 --> 00:09:01,600 per estendre un pont de C a PHP. 200 00:09:01,600 --> 00:09:05,150 La majoria dels programadors de PHP, com es veurà, ni tan sols es molesten usant def impressió. 201 00:09:05,150 --> 00:09:08,290 Ells només ha d'utilitzar una funció anomenada impressió, que C no tenia. 202 00:09:08,290 --> 00:09:11,390 I el que si em torna a executar ara, en realitat es comporta funcionalment el mateix. 203 00:09:11,390 --> 00:09:13,730 No puc fer servir el percentatge s i i cent i així successivament, 204 00:09:13,730 --> 00:09:16,250 però hi ha altres maneres en PHP de fer això. 205 00:09:16,250 --> 00:09:18,100 Però això és només per dir que sintàcticament, 206 00:09:18,100 --> 00:09:21,850 a part d'algunes coses rares fins superior, i alguns caràcters estranys baix 207 00:09:21,850 --> 00:09:25,960 a la part inferior, els conceptes d'ara programació en aquest altre idioma 208 00:09:25,960 --> 00:09:27,860 van a ser exactament el mateix. 209 00:09:27,860 --> 00:09:30,120 >> De fet, farem un altre exemple. 210 00:09:30,120 --> 00:09:32,520 Així que seguiré endavant i tancar l'arxiu. 211 00:09:32,520 --> 00:09:37,740 Déjame crear un altre que Vaig a trucar a les condicions 1 punt PHP. 212 00:09:37,740 --> 00:09:40,770 Així que no zero, perquè el que vaig fer era jo vaig mirar cap enrere fa unes setmanes, 213 00:09:40,770 --> 00:09:43,490 teníem un arxiu anomenat condicions 1 punt C. I el 214 00:09:43,490 --> 00:09:47,590 Jo em vaig convertir en el meu cap, i aquí al paper, 215 00:09:47,590 --> 00:09:51,290 i aviat en el curs de lloc web, línia per línia en PHP. 216 00:09:51,290 --> 00:09:55,520 >> Així que en la versió C, vam fer alguna cosa com a cadena s aconsegueix arribar cadena. 217 00:09:55,520 --> 00:09:58,200 Així que és una mica diferent fer-ho en PHP. 218 00:09:58,200 --> 00:10:01,390 En el seu lloc, jo només vaig fer, o millor dit, 219 00:10:01,390 --> 00:10:05,870 podria haver fet int n es fa arribar int, en aquest exemple anterior. 220 00:10:05,870 --> 00:10:12,600 Així que en lloc d'això, jo faré n S'obté una línia de llegir, m'agradaria un sencer, 221 00:10:12,600 --> 00:10:13,670 per favor. 222 00:10:13,670 --> 00:10:15,110 Així que això és només la meva ràpida. 223 00:10:15,110 --> 00:10:17,260 I així resulta que i Jo només ho saben 224 00:10:17,260 --> 00:10:20,480 d'haver llegit o vist la funció abans, llegir les línies de la funció en PHP 225 00:10:20,480 --> 00:10:23,810 pren un argument que és un símbol per a l'ésser humà, i el seu propòsit en la vida 226 00:10:23,810 --> 00:10:26,220 és llegir una línia de text que ell o ella en tipus. 227 00:10:26,220 --> 00:10:29,160 I després s'emmagatzema que text a la variable n. 228 00:10:29,160 --> 00:10:32,200 >> I ara jo podria voler fer alguna cosa com ho vaig fer fa unes setmanes, a la setmana com 229 00:10:32,200 --> 00:10:33,290 un de la classe. 230 00:10:33,290 --> 00:10:36,600 Si n és més gran que zero, llavors, vaig 231 00:10:36,600 --> 00:10:42,930 demanar prestat que la sintaxi que acabem de veure, def impressió, que va triar un nombre positiu, 232 00:10:42,930 --> 00:10:44,360 n barra invertida. 233 00:10:44,360 --> 00:10:49,990 Perquè si n és igual és igual a zero, estic seguirà endavant i dir: def impressió, 234 00:10:49,990 --> 00:10:54,090 que va triar zero barra invertida n. 235 00:10:54,090 --> 00:10:56,830 Si no, el cas aquí ha per descomptat, def impressió, 236 00:10:56,830 --> 00:10:58,620 que va triar un nombre negatiu. 237 00:10:58,620 --> 00:11:00,970 >> I sens dubte podem aplicar la lògica d'aquesta cosa 238 00:11:00,970 --> 00:11:03,390 en un munt de diferents maneres, però el punt aquí 239 00:11:03,390 --> 00:11:07,210 és que sintàcticament, gairebé res és nou. 240 00:11:07,210 --> 00:11:09,830 És només el signe de dòlar i una nova funció i la línia de llegir. 241 00:11:09,830 --> 00:11:12,090 Però fonamentalment, ¿què hi ha de nou ara és que estic interpretant això. 242 00:11:12,090 --> 00:11:13,910 Estic passant-ho com a entrada a un altre programa. 243 00:11:13,910 --> 00:11:16,620 Així que si vull executar això, si No vaig fer cap error, 244 00:11:16,620 --> 00:11:20,140 Vaig a córrer PHP, de condicions 1 punt PHP, ENTER, 245 00:11:20,140 --> 00:11:23,440 Vaig a escriure el número 50, i suposem que per ara funciona. 246 00:11:23,440 --> 00:11:25,940 A causa de que la lògica és la mateixa matèria que la setmana un. 247 00:11:25,940 --> 00:11:28,020 >> Molt bé, així que és bastant decebedor, oi? 248 00:11:28,020 --> 00:11:30,240 Podríem fer això en qualsevol nombre d'idiomes. 249 00:11:30,240 --> 00:11:33,200 Farem alguna cosa molt més poderós. 250 00:11:33,200 --> 00:11:35,610 Anem problema acabat estableix cinc. 251 00:11:35,610 --> 00:11:37,370 Així que vaig a seguir endavant i fer això. 252 00:11:37,370 --> 00:11:42,920 Vaig a crear un arxiu anomenat Diccionari de punts PHP, 253 00:11:42,920 --> 00:11:45,424 i inclinada com podria ser de lluitar per un munt de notes, 254 00:11:45,424 --> 00:11:47,340 les notes només ajudarà si se li permet 255 00:11:47,340 --> 00:11:48,923 per posar en pràctica els problemes estableixen cinc en PHP. 256 00:11:48,923 --> 00:11:52,706 Però anem a veure la rapidesa amb què ara pot aplicar el mateix conjunt de problemes. 257 00:11:52,706 --> 00:11:56,830 >> Així que en punt PHP diccionari, vaig assumir que ja existeix 258 00:11:56,830 --> 00:11:58,514 un arxiu en el món anomenat abecedari. 259 00:11:58,514 --> 00:12:01,430 I de fet, ho vaig fer per avançat, i no anem a caminar a través d'aquesta línia 260 00:12:01,430 --> 00:12:03,596 per línia, però si vostè és curiós que desitgi tard i realment 261 00:12:03,596 --> 00:12:06,250 per embolicar la seva ment al voltant de la diferències entre c i PHP, 262 00:12:06,250 --> 00:12:09,030 literalment comparar aquest arxiu, abecedari, a partir del codi font d'avui 263 00:12:09,030 --> 00:12:11,190 que publicarem més endavant avui, en contra de p conjunt 264 00:12:11,190 --> 00:12:15,309 de cinc ortografia punt c que li donem, i és gairebé la mateixa línia per línia. 265 00:12:15,309 --> 00:12:16,600 Hi ha alguns més signes de dòlar. 266 00:12:16,600 --> 00:12:18,330 Un parell de funcions són una mica diferent. 267 00:12:18,330 --> 00:12:20,038 Però és una bona manera del tipus de veure com 268 00:12:20,038 --> 00:12:22,740 traduir una llengua a l'altra. 269 00:12:22,740 --> 00:12:24,812 I és la línia gairebé idèntica per a la línia. 270 00:12:24,812 --> 00:12:27,770 Però jo vaig a assumir que aquesta existeix, i el que faré aquí 271 00:12:27,770 --> 00:12:31,310 és tractar de volar la teva ment per reimplementar 272 00:12:31,310 --> 00:12:36,210 la totalitat del problema va fixar cinc manera més ràpid que vostè ha estat fent fins ara. 273 00:12:36,210 --> 00:12:39,330 Així, per exemple, vaig a primer declarar una variable global anomenada mida, 274 00:12:39,330 --> 00:12:40,444 i deixi de igual a zero. 275 00:12:40,444 --> 00:12:41,610 Ara això no és molt estalvi. 276 00:12:41,610 --> 00:12:44,170 Les probabilitats són que implementen mida més o menys la mateixa, 277 00:12:44,170 --> 00:12:48,440 o pista pista, ho farà aquesta nit o demà, simplement utilitzant una variable global anomenada 278 00:12:48,440 --> 00:12:49,900 mida, i s'estableix igual a zero. 279 00:12:49,900 --> 00:12:52,660 Això no és un particular aleró increïble. 280 00:12:52,660 --> 00:12:57,180 >> Així que quins van ser les seves estructures de dades de elecció, aquells de vostès que Han fet immersió en 281 00:12:57,180 --> 00:13:02,170 i llegir les especificacions, les estructures de dades el han la majoria de vosaltres heu estat utilitzant? 282 00:13:02,170 --> 00:13:06,840 Una taula hash o tracten, potser algunes variants dels mateixos. 283 00:13:06,840 --> 00:13:10,490 Així que la implementació d'una taula hash, almenys, és una espècie d'una gran quantitat de línies de codi, 284 00:13:10,490 --> 00:13:10,990 Oi? 285 00:13:10,990 --> 00:13:13,700 I no tots ells podrien ser funcional a hores d'ara de la setmana, 286 00:13:13,700 --> 00:13:14,366 però això està bé. 287 00:13:14,366 --> 00:13:19,300 A causa que en PHP, si volen una taula hash, fet. 288 00:13:19,300 --> 00:13:20,260 Oi? 289 00:13:20,260 --> 00:13:22,610 Així que aquesta variable que tinc simplement declarat és, òbviament, 290 00:13:22,610 --> 00:13:26,180 anomenada taula de signe de dòlar, per la introducció abans. 291 00:13:26,180 --> 00:13:28,902 >> Però realment només vull, al al final de la dia, una matriu. 292 00:13:28,902 --> 00:13:31,610 Però no és un indexat numèricament matriu, perquè això és com la segona setmana 293 00:13:31,610 --> 00:13:33,440 coses, quan parlem sobre les matrius. 294 00:13:33,440 --> 00:13:34,850 Vull una taula hash. 295 00:13:34,850 --> 00:13:38,070 Però una taula hash és realment només una forma concreta de dir, 296 00:13:38,070 --> 00:13:40,190 Vols una matriu associativa. 297 00:13:40,190 --> 00:13:43,270 Vols ser capaç de claus associats amb valors. 298 00:13:43,270 --> 00:13:44,200 Tecles amb valors. 299 00:13:44,200 --> 00:13:45,640 Què és un diccionari, en realitat? 300 00:13:45,640 --> 00:13:47,080 Bé, és tot un grapat de claus. 301 00:13:47,080 --> 00:13:50,320 Paraules com poma, pera i plàtan, i totes aquestes paraules en anglès 302 00:13:50,320 --> 00:13:51,490 que li lliurem. 303 00:13:51,490 --> 00:13:54,820 >> I els valors que són efectivament inserint en el seu diccionari 304 00:13:54,820 --> 00:13:57,790 són veritables, o l'absència, falsa. 305 00:13:57,790 --> 00:14:00,540 En altres paraules, vostè està inserint un munt de parells de valors clau, 306 00:14:00,540 --> 00:14:03,720 poma, la veritable, la pera, el veritable, el plàtan, la veritable. 307 00:14:03,720 --> 00:14:07,446 Així que en recuperar o mira fins que les dades en la seva taula hash 308 00:14:07,446 --> 00:14:10,070 amb la seva funció de control, ets ja sigui tornar una resposta, 309 00:14:10,070 --> 00:14:13,260 sí, em vaig trobar en el meu complex hash de taula, o no, no hi és, 310 00:14:13,260 --> 00:14:14,540 així que torni fals. 311 00:14:14,540 --> 00:14:19,440 >> Així que per fer això, tot el que necessito és que les dades estructura com que va proposar abans. 312 00:14:19,440 --> 00:14:22,050 Només he de ser capaç de associar paraules 313 00:14:22,050 --> 00:14:25,570 com, entre cometes, símbol, amb un valor similar, cert. 314 00:14:25,570 --> 00:14:27,090 Així que aquí està el meu taula hash. 315 00:14:27,090 --> 00:14:28,180 Anem en realitat l'utilitzen. 316 00:14:28,180 --> 00:14:30,310 Així que hi ha un parell de funcions He de posar en pràctica. 317 00:14:30,310 --> 00:14:33,300 Vaig a seguir endavant i mossegar fora d'una grandària funció trucada. 318 00:14:33,300 --> 00:14:34,390 Porta sense arguments. 319 00:14:34,390 --> 00:14:36,660 Jo no he de molestar amb la paraula, nul·la en PHP. 320 00:14:36,660 --> 00:14:38,770 Simplement vaig a mida tornar. 321 00:14:38,770 --> 00:14:41,287 >> I com un a part, PHP té aquest detall minorly molest, 322 00:14:41,287 --> 00:14:44,620 on si alguna cosa és global, cal dir-li a la funció en què vostè està utilitzant 323 00:14:44,620 --> 00:14:46,220 que, bé, això és una variable global. 324 00:14:46,220 --> 00:14:49,330 Per tant, menor la estupidesa, però cal fer-ho, però. 325 00:14:49,330 --> 00:14:50,920 >> Què passa amb la càrrega? 326 00:14:50,920 --> 00:14:52,990 Vaig a posar en pràctica una càrrega funció anomenada 327 00:14:52,990 --> 00:14:56,790 que porta al nom d'un diccionari, de la mateixa manera que en el problema d'establir 05:00. 328 00:14:56,790 --> 00:14:59,554 I abans de continuar, adonar que jo no tinc 329 00:14:59,554 --> 00:15:00,970 estat escrivint bastant les mateixes coses. 330 00:15:00,970 --> 00:15:06,060 Què és òbviament diferent en PHP sobre com es declara una funció enfront de C? 331 00:15:06,060 --> 00:15:06,616 Sí. 332 00:15:06,616 --> 00:15:07,490 AUDIÈNCIA: [inaudible] 333 00:15:07,490 --> 00:15:08,573 ALTAVEU 1: Cap tipus de devolució. 334 00:15:08,573 --> 00:15:12,350 I, de fet, aquest és el cas, PHP en la mesura que està vagament escrit, 335 00:15:12,350 --> 00:15:14,190 També és una mica descuidat en aquest sentit. 336 00:15:14,190 --> 00:15:17,680 No s'especifica com el programador el que retorna aquesta funció. 337 00:15:17,680 --> 00:15:20,490 Vostè hauria de mirar realment en el codi per adonar-se'n. 338 00:15:20,490 --> 00:15:22,670 O llegir els comentaris o la documentació. 339 00:15:22,670 --> 00:15:24,870 Així avantatges i desavantatges de aquest tipus de decisions. 340 00:15:24,870 --> 00:15:26,750 Però jo he de dir la paraula clau, funció. 341 00:15:26,750 --> 00:15:28,360 I quan aprenem JavaScript en un parell de setmanes 342 00:15:28,360 --> 00:15:31,026 anem a veure el mateix de nou, però és la mateixa idea. 343 00:15:31,026 --> 00:15:34,220 El nom de la funció, el seu argument o arguments o falta d'ella, i ara 344 00:15:34,220 --> 00:15:35,630 aquí és la implementació. 345 00:15:35,630 --> 00:15:38,860 >> Així que em vaig a tallar algunes cantonades només ser dramàtic per a un moment. 346 00:15:38,860 --> 00:15:40,485 Però jo vaig a seguir endavant i dir això. 347 00:15:40,485 --> 00:15:44,890 Així és com em puc carregar un arxiu en una matriu. 348 00:15:44,890 --> 00:15:47,580 Hi ha una funció en PHP anomenat arxiu. 349 00:15:47,580 --> 00:15:49,300 Se li passa el nom d'un arxiu. 350 00:15:49,300 --> 00:15:53,950 Se li dóna volta una matriu, a l'interior dels quals és cada línia de l'arxiu. 351 00:15:53,950 --> 00:15:56,480 A partir de zero, un, en un màxim a n almenys 1 línies. 352 00:15:56,480 --> 00:15:57,210 Això és tot, oi? 353 00:15:57,210 --> 00:15:57,990 No hi ha f lectura. 354 00:15:57,990 --> 00:15:58,826 No hi ha f get s. 355 00:15:58,826 --> 00:15:59,700 No hi ha cent s. 356 00:15:59,700 --> 00:16:00,420 No hi ha mals de cap. 357 00:16:00,420 --> 00:16:01,220 No hi ha feof. 358 00:16:01,220 --> 00:16:03,950 Totes aquestes coses amb les que vostè ha estat lluitant potser, 359 00:16:03,950 --> 00:16:06,550 amb p fixar quatre i cinc, se'n va. 360 00:16:06,550 --> 00:16:09,450 >> Així que acabo de llegir aquestes línies en l'arxiu, i després saps què? 361 00:16:09,450 --> 00:16:15,510 Si vull per repetir aquestes paraules, Que puc fer, per a cada un de les línies com la línia. 362 00:16:15,510 --> 00:16:19,992 Recorda que això era una mena d'intel·ligent manera d'iterar sobre una matriu, índex 363 00:16:19,992 --> 00:16:25,090 per l'índex, i en cada trucada iteració la línia actual, la línia de signe de dòlar. 364 00:16:25,090 --> 00:16:31,560 I aquí em vaig a anar a diuen taula, suport, línia, aconsegueix cert. 365 00:16:31,560 --> 00:16:35,880 >> En altres paraules, així és com jo inserir en el meu taula hash en PHP. 366 00:16:35,880 --> 00:16:38,740 Dic taula signe del dòlar, el que és la meva matriu associativa que era 367 00:16:38,740 --> 00:16:40,690 buit per la línia de codi per sobre. 368 00:16:40,690 --> 00:16:42,790 Llavors índex en ella no, utilitzant un nombre, 369 00:16:42,790 --> 00:16:45,300 però, literalment, utilitzant el paraula clau que m'importa. 370 00:16:45,300 --> 00:16:47,730 Potser és poma o pera o plàtan o el que sigui, 371 00:16:47,730 --> 00:16:51,645 sinó específicament estic indexació en ella m'agrada Em vaig proposar abans. 372 00:16:51,645 --> 00:16:53,770 Prenc el nom de la meva matriu associativa, i després em 373 00:16:53,770 --> 00:16:56,450 utilitzar fi de la cita cita al claudàtors amb una cadena, 374 00:16:56,450 --> 00:16:58,490 en comptes d'un nombre real. 375 00:16:58,490 --> 00:17:00,250 >> I així, això és tot. 376 00:17:00,250 --> 00:17:01,720 La funció de càrrega està fet. 377 00:17:01,720 --> 00:17:05,119 Una vegada que repeteix en bucle, he posat tot a la taula hash. 378 00:17:05,119 --> 00:17:07,810 Ara petit descàrrec de responsabilitat, hi ha una parell de coses que necessito per arreglar. 379 00:17:07,810 --> 00:17:10,030 I la versió vaig a publicar en línia tindrà tots els matisos, 380 00:17:10,030 --> 00:17:12,670 però és més que res serà una mica comprovació d'errors i alguns ajustaments menors. 381 00:17:12,670 --> 00:17:14,044 Però això és de fet l'essència de la mateixa. 382 00:17:14,044 --> 00:17:16,750 Si jo ara vull posar en pràctica la funció anomenada 383 00:17:16,750 --> 00:17:19,869 comprovar, que espera un paraula com el seu argument, 384 00:17:19,869 --> 00:17:22,099 Com podria jo anar fent això? 385 00:17:22,099 --> 00:17:30,020 Bé, estic simplement dirà, si interior de la meva taula, en lloc de paraules, 386 00:17:30,020 --> 00:17:30,652 Si s'ha establert. 387 00:17:30,652 --> 00:17:32,360 Així que si hi ha és-- En realitat, saps què? 388 00:17:32,360 --> 00:17:34,830 Vaig a fer-ho en una mica de pseudocodi. 389 00:17:34,830 --> 00:17:36,020 Però la idea és la mateixa. 390 00:17:36,020 --> 00:17:41,640 Si això és igual a true, retornarà true. 391 00:17:41,640 --> 00:17:43,890 Tot bé. 392 00:17:43,890 --> 00:17:46,851 Else-- pots tipus de veure on això es going-- tornar falsa. 393 00:17:46,851 --> 00:17:47,350 Fet. 394 00:17:47,350 --> 00:17:49,640 Comprovar que es fa. 395 00:17:49,640 --> 00:17:50,940 >> Bastant bonic, oi? 396 00:17:50,940 --> 00:17:52,560 I així, el que és això realment anar a parar? 397 00:17:52,560 --> 00:17:53,680 I això també, vaig tallar alguns racons. 398 00:17:53,680 --> 00:17:56,020 Cerqueu a la versió online per a tots els matisos lleus. 399 00:17:56,020 --> 00:17:57,103 Però aquesta és l'essència de la mateixa. 400 00:17:57,103 --> 00:17:59,080 Índex en el seu matriu associativa, àlies 401 00:17:59,080 --> 00:18:02,910 Taula hash, veure si hi ha un valor allà, si s'estableix en true, i si és així, 402 00:18:02,910 --> 00:18:03,930 return true. 403 00:18:03,930 --> 00:18:05,819 Per a això hem whittled baix tota la complexitat. 404 00:18:05,819 --> 00:18:07,110 Així espècie de al·lucinant, oi? 405 00:18:07,110 --> 00:18:09,680 No em molestaré acabar amb descàrrega, perquè en fact-- oh, saps què? 406 00:18:09,680 --> 00:18:11,620 Sí, anem a acabar amb descàrrega. 407 00:18:11,620 --> 00:18:18,940 >> Descarregui en una taula hash pot tenir un aspecte de la mateixa manera que la funció de descàrrega, tornar. 408 00:18:18,940 --> 00:18:19,930 OK, així que és de descàrrega. 409 00:18:19,930 --> 00:18:21,350 Perquè no hi ha res per descarregar, oi? 410 00:18:21,350 --> 00:18:22,170 No hi ha malloc. 411 00:18:22,170 --> 00:18:24,280 Jo no vaig demanar explícitament la sistema operatiu per a qualsevol cosa. 412 00:18:24,280 --> 00:18:25,571 Acabo de començar l'ús de variables. 413 00:18:25,571 --> 00:18:30,510 I així, això també és una manifestació de característiques de llenguatges d'alt nivell. 414 00:18:30,510 --> 00:18:32,940 Així que de nou, la major part d'aquest terme hem estat tractant aquí 415 00:18:32,940 --> 00:18:34,280 amb C. súper baix nivell. 416 00:18:34,280 --> 00:18:35,980 Vostè pot veure la memòria de l'ordinador. 417 00:18:35,980 --> 00:18:38,440 Pot tocar qualsevol cosa que vol en la memòria RAM del seu ordinador, 418 00:18:38,440 --> 00:18:39,440 per bé o per mal. 419 00:18:39,440 --> 00:18:41,760 >> Fins aquí, anem a renunciar a aquest poder. 420 00:18:41,760 --> 00:18:44,730 Però, Déu meu, mira com molt menys codi que vaig escriure. 421 00:18:44,730 --> 00:18:47,660 De fet si no estigués parlant i parlant sobre la meva escriptura, 422 00:18:47,660 --> 00:18:50,190 ens haurien fet amb aquest exemple fa cinc minuts. 423 00:18:50,190 --> 00:18:52,150 Llavors, quin és el preu que es paga? 424 00:18:52,150 --> 00:18:54,100 Bé, anem a fer una ullada. 425 00:18:54,100 --> 00:18:55,340 Anem a fer una ullada. 426 00:18:55,340 --> 00:18:59,340 Vaig a seguir endavant i executar CS50. 427 00:18:59,340 --> 00:19:02,160 Déjame primer anar a exemples d'avui on 428 00:19:02,160 --> 00:19:03,970 Tinc el directori de textos com abans. 429 00:19:03,970 --> 00:19:08,520 Vaig a córrer la solució que ve amb un problema de cinc set anomenat 430 00:19:08,520 --> 00:19:11,190 corrector ortogràfic, que està en el compte del CS50. 431 00:19:11,190 --> 00:19:14,040 >> I jo vaig a córrer en alguna cosa gran com la Bíblia King James, 432 00:19:14,040 --> 00:19:16,547 només perquè realment ens posem el solucions de personal a la prova. 433 00:19:16,547 --> 00:19:19,130 Ara de vegades l'Internet és una poc més lent, una mica més ràpid, 434 00:19:19,130 --> 00:19:20,338 podria trigar molt de temps per desplaçar-se. 435 00:19:20,338 --> 00:19:23,730 Però van haver de passar un total de 56 segons per revisar l'ortografia de la King James 436 00:19:23,730 --> 00:19:25,150 Bíblia usant la solució personal. 437 00:19:25,150 --> 00:19:25,620 Així que molt bé. 438 00:19:25,620 --> 00:19:27,786 El teu pot ser molt més lent, i això és totalment bé. 439 00:19:27,786 --> 00:19:30,090 Però és correcte aquí. 440 00:19:30,090 --> 00:19:32,440 Així que aquesta és la solució personal. 441 00:19:32,440 --> 00:19:34,785 Si entro i netejar la versió PHP. 442 00:19:34,785 --> 00:19:36,990 I jo vaig a fer una mica com coure espectacle cosa. 443 00:19:36,990 --> 00:19:39,720 Anem a prendre el codi que vaig escriure abans, pel que és perfectament correcte. 444 00:19:39,720 --> 00:19:42,678 Atès que el codi que vaig escriure no va per ser perfectament correcta en aquest moment. 445 00:19:42,678 --> 00:19:47,310 Però si se m'acaba la versió de PHP, ¿Què he de renunciar a dia d'avui? 446 00:19:47,310 --> 00:19:49,980 Em va prendre cinc minuts per aplicar p fixar cinc, jo reclam. 447 00:19:49,980 --> 00:19:51,770 Quin preu he pagat? 448 00:19:51,770 --> 00:19:52,270 Sí. 449 00:19:52,270 --> 00:19:52,937 >> AUDIÈNCIA: velocitat. 450 00:19:52,937 --> 00:19:53,645 ALTAVEU 1: velocitat. 451 00:19:53,645 --> 00:19:54,380 Què vols dir? 452 00:19:54,380 --> 00:19:55,230 >> AUDIÈNCIA: Es va a prendre més temps. 453 00:19:55,230 --> 00:19:55,660 >> ALTAVEU 1: D'acord. 454 00:19:55,660 --> 00:19:56,160 Anem a veure. 455 00:19:56,160 --> 00:19:59,590 Es va a prendre més temps, no escriure, però per executar-lo. 456 00:19:59,590 --> 00:20:00,090 Sí. 457 00:20:00,090 --> 00:20:00,960 Així que anem a provar això. 458 00:20:00,960 --> 00:20:05,720 Així que aquí vaig a seguir endavant i fer PHP d'ortografia, i perquè l'arxiu de 459 00:20:05,720 --> 00:20:06,360 anomenada ortografia. 460 00:20:06,360 --> 00:20:07,580 Així que no estic corrent el diccionari, recordo, 461 00:20:07,580 --> 00:20:09,204 Estic corrent el programa anomenat abecedari. 462 00:20:09,204 --> 00:20:12,450 Vaig a passar en el mateix arxiu, el rei Jaume el cinquè. 463 00:20:12,450 --> 00:20:14,377 Està volant. 464 00:20:14,377 --> 00:20:17,210 Això podria ser només la velocitat d'Internet, així que no llegir massa en això. 465 00:20:17,210 --> 00:20:21,680 Però se sent ja segur. 466 00:20:21,680 --> 00:20:23,280 1,26 segons. 467 00:20:23,280 --> 00:20:25,150 >> Ara que és encara bastant maleïda ràpid, oi? 468 00:20:25,150 --> 00:20:28,140 I l'única raó per la qual se sentia com més com tres, o quatre, o cinc 469 00:20:28,140 --> 00:20:30,515 segon, això és només perquè Internet estava sent lent. 470 00:20:30,515 --> 00:20:33,980 El temps a l'ordinador passat va ser 1,26 segon, davant crec que 0,56. 471 00:20:33,980 --> 00:20:35,880 Així més de dues vegades més lent. 472 00:20:35,880 --> 00:20:39,170 Ara que és encara bastant maleït ràpid, però és una manifestació 473 00:20:39,170 --> 00:20:40,860 de, en efecte, que el preu exacte. 474 00:20:40,860 --> 00:20:43,460 >> Com que estem interpretant en el codi línia per línia, 475 00:20:43,460 --> 00:20:46,740 i que el programa PHP està llegint el meu codi de dalt a baix, d'esquerra a dreta, 476 00:20:46,740 --> 00:20:47,940 que té a veure més pensament. 477 00:20:47,940 --> 00:20:50,430 Ha de tipus de convertir dins de si mateix 478 00:20:50,430 --> 00:20:53,464 a la màquina corresponent codi sobre la marxa, per així dir-ho, 479 00:20:53,464 --> 00:20:55,380 tot i que la mecànica són una mica diferents. 480 00:20:55,380 --> 00:20:59,430 En comptes de alimentar la Intel CPU els zeros i uns primes 481 00:20:59,430 --> 00:21:00,930 que entén de forma nativa. 482 00:21:00,930 --> 00:21:04,110 >> Així que absolutament, sens dubte, hem pagat un preu. 483 00:21:04,110 --> 00:21:09,120 I el codi escrit en un llenguatge com PHP tendeix a ser més lent. 484 00:21:09,120 --> 00:21:10,050 Però, Déu meu. 485 00:21:10,050 --> 00:21:12,740 Així que ara quan em onada comprovar el meu arxiu, em passo un extra de 0,7 486 00:21:12,740 --> 00:21:17,280 més o menys 20 segons vs hores per implementar un ràpid corrector ortogràfic, oi? 487 00:21:17,280 --> 00:21:18,397 És una espècie d'una solució de compromís. 488 00:21:18,397 --> 00:21:20,980 I si vostè està començant p establir 05:00, podria no ser de 20 hores. 489 00:21:20,980 --> 00:21:22,188 Podria ser molt menys que això. 490 00:21:22,188 --> 00:21:23,600 Però és una solució de compromís, de veritat. 491 00:21:23,600 --> 00:21:27,820 I si s'està executant codi en molt gran conjunts de dades, o en el maquinari encara més antiga, 492 00:21:27,820 --> 00:21:32,650 aquest tipus de diferències sens dubte pot sumar. 493 00:21:32,650 --> 00:21:34,880 >> Per a qualsevol dubte fins al moment? 494 00:21:34,880 --> 00:21:35,617 Sí. 495 00:21:35,617 --> 00:21:36,492 >> AUDIÈNCIA: [inaudible] 496 00:21:36,492 --> 00:21:38,187 497 00:21:38,187 --> 00:21:39,978 ALTAVEU 1: Malauradament, es pot vostè diu que una vegada més? 498 00:21:39,978 --> 00:21:40,853 AUDIÈNCIA: [inaudible] 499 00:21:40,853 --> 00:21:43,326 500 00:21:43,326 --> 00:21:44,700 ALTAVEU 1: Vostè està renunciant a temps. 501 00:21:44,700 --> 00:21:45,283 Bé, així que si. 502 00:21:45,283 --> 00:21:47,322 Estalviï temps no haver de compilar, 503 00:21:47,322 --> 00:21:48,530 si això és el que estàs demanant. 504 00:21:48,530 --> 00:21:50,710 I de fet, al CS50, la majoria dels programes, 505 00:21:50,710 --> 00:21:53,668 tot i que podria trigar molt de temps escriure, són relativament curt. 506 00:21:53,668 --> 00:21:56,860 Poques dotzenes, uns centenars de línies de codi, i pel que compilen amb força rapidesa. 507 00:21:56,860 --> 00:21:58,470 Però quan comences escriure programes més grans, 508 00:21:58,470 --> 00:22:01,511 com si estàs Microsoft o ets Google i escriure realment grans programes 509 00:22:01,511 --> 00:22:05,360 en C o C ++, o similar compilat llengües, podrien prendre molts segons, 510 00:22:05,360 --> 00:22:08,577 o fins i tot minuts o més a compilar milions de línies de codi. 511 00:22:08,577 --> 00:22:10,660 I allà també, que diferència es va a sumar. 512 00:22:10,660 --> 00:22:12,840 >> I, de fet, una vegada que transició avui en dia, el mateix dia 513 00:22:12,840 --> 00:22:15,910 avui, per a la programació web usant PHP, ets 514 00:22:15,910 --> 00:22:18,460 va a trobar tantes coses més agradable escriure codi 515 00:22:18,460 --> 00:22:21,501 quan no has de fer aquests estúpids mesures com el canvi al seu terminal 516 00:22:21,501 --> 00:22:24,202 finestra, tipus de maquillatge hola, re executar-lo, recarregar la finestra. 517 00:22:24,202 --> 00:22:25,910 Només tants estúpids passos mecànics que 518 00:22:25,910 --> 00:22:28,480 acaba d'obtenir en la forma de fer l'interessant, el treball divertit. 519 00:22:28,480 --> 00:22:31,450 I de fet ens desaprofitar amb PHP. 520 00:22:31,450 --> 00:22:34,960 I podem interactuar amb això més ràpidament. 521 00:22:34,960 --> 00:22:35,495 Sí. 522 00:22:35,495 --> 00:22:36,370 AUDIÈNCIA: [inaudible] 523 00:22:36,370 --> 00:22:40,294 524 00:22:40,294 --> 00:22:40,960 ALTAVEU 1: És clar. 525 00:22:40,960 --> 00:22:42,876 Puc aclarir el que significa ser interpretat? 526 00:22:42,876 --> 00:22:45,870 Al compilar un idioma com C, baixa 527 00:22:45,870 --> 00:22:48,140 com hem dit a la màquina codi, zeros i uns. 528 00:22:48,140 --> 00:22:51,860 I Intel va decidir fa anys que certs patrons de zeros i uns 529 00:22:51,860 --> 00:22:56,220 representar addició o sostracció, o d'impressió, o d'altres operacions bàsiques. 530 00:22:56,220 --> 00:23:00,250 En el món d'un llenguatge interpretat com PHP o JavaScript o Python, 531 00:23:00,250 --> 00:23:03,120 o Ruby, o manats de altres, en canvi algú 532 00:23:03,120 --> 00:23:05,120 ha escrit un interpreter-- en aquest cas, 533 00:23:05,120 --> 00:23:09,770 també es diu PHP, idèntica a la nom de la language-- que, essencialment, 534 00:23:09,770 --> 00:23:13,840 té un gran llaç en ell que itera sobre la totalitat de les línies del codi de 535 00:23:13,840 --> 00:23:18,170 que m'alimento com a entrada, com hola dot PHP, o un punt diccionari PHP. 536 00:23:18,170 --> 00:23:21,760 >> I llavors vostè pot pensar en la seva gran bucle com tenir un munt de condicions. 537 00:23:21,760 --> 00:23:26,340 I aquestes condicions sol dir, si el humana ha escrit la paraula clau per, 538 00:23:26,340 --> 00:23:28,470 començar a fer la seva codi de nou i una altra. 539 00:23:28,470 --> 00:23:31,360 O si l'humà té per escrit la línia de codi, 540 00:23:31,360 --> 00:23:34,880 Si, només executar el seu següent línia condicional. 541 00:23:34,880 --> 00:23:37,740 Així que és realment com interpretar en un sentit humà, la línia 542 00:23:37,740 --> 00:23:39,660 per línia, i això porta temps. 543 00:23:39,660 --> 00:23:41,340 Es necessita per sobre. 544 00:23:41,340 --> 00:23:44,189 I això és un preu: el bona pregunta-- paguem. 545 00:23:44,189 --> 00:23:46,480 Així que anem a fer una altra demostració això és una mica més dramàtic. 546 00:23:46,480 --> 00:23:51,160 No, jo diria, un estadi de beisbol en aquest un 90% de probabilitat de fallar horriblement, 547 00:23:51,160 --> 00:23:53,869 però vostè es sorprendrà amb 10% de probabilitat. 548 00:23:53,869 --> 00:23:55,660 Així que cada any intentem per fer això, en puguem 549 00:23:55,660 --> 00:23:59,061 tractar d'escriure un programa que passa per problema ajustat a zero, per al que tens 550 00:23:59,061 --> 00:24:02,060 presentat els seus números de telèfon i un gran quantitat d'altra informació demogràfica, 551 00:24:02,060 --> 00:24:06,030 i programació li enviarem un missatge de text. 552 00:24:06,030 --> 00:24:08,540 I llavors el telèfon de tot el món comença a sonar o vibrar, 553 00:24:08,540 --> 00:24:11,460 i és simplement increïble, perquè així, mira el que els ordinadors poden fer. 554 00:24:11,460 --> 00:24:13,840 >> Això poques vegades funciona correctament pel que sembla, en gran part, 555 00:24:13,840 --> 00:24:16,800 perquè normalment si la llista negra per Gmail o algun altre servei 556 00:24:16,800 --> 00:24:19,630 per realment tractant de fer això en l'escala. 557 00:24:19,630 --> 00:24:24,940 Però el curiós és massa, ja que no tenir a tots aquí avui, 558 00:24:24,940 --> 00:24:27,690 fet de la diversió l'última vegada que intentat això fa dos anys, 559 00:24:27,690 --> 00:24:30,870 Crec que vaig escriure un programa que va seure en una iteració de bucle 560 00:24:30,870 --> 00:24:34,040 sobre tots els alumnes de la classe, i cada un d'ells un missatge de text, 561 00:24:34,040 --> 00:24:37,534 i deia alguna cosa així com: ¿Per què no ets a la conferència? 562 00:24:37,534 --> 00:24:39,170 L'amor, CS50 bot. 563 00:24:39,170 --> 00:24:42,580 >> No tens ni idea de quants de disculpa i correus electrònics tipus de doloroses 564 00:24:42,580 --> 00:24:46,970 He rebut en resposta de la n menys 100 persones que no eren aquí 565 00:24:46,970 --> 00:24:47,960 aquell dia. 566 00:24:47,960 --> 00:24:52,116 I encara més divertit, història- més vergonyós ja saps, anem a posar-ho per aquí. 567 00:24:52,116 --> 00:24:53,740 Ja està al vídeo fa uns anys. 568 00:24:53,740 --> 00:24:56,810 Així que aviat em veureu escriure un bucle, en el qual 569 00:24:56,810 --> 00:25:00,640 que és molt fàcil escriure un error en què per al bucle, de manera que la primera vegada 570 00:25:00,640 --> 00:25:02,800 a través del bucle, enviar un missatge de text. 571 00:25:02,800 --> 00:25:06,190 >> La segona vegada a través del bucle I hauria d'haver enviat un missatge més text, 572 00:25:06,190 --> 00:25:08,250 i després un text més missatge, i un més. 573 00:25:08,250 --> 00:25:11,490 Però resulta que si comet un error tipogràfic en la programació, de vegades 574 00:25:11,490 --> 00:25:14,460 pot escriure programes que envien un sol missatge de text, a continuació, dos missatges de text, 575 00:25:14,460 --> 00:25:18,742 després tres missatges de text a tothom que ja ha rebut un missatge de text. 576 00:25:18,742 --> 00:25:21,450 I com vostè sap, fer alguna cosa, més alguna cosa, a més d'alguna cosa, 577 00:25:21,450 --> 00:25:25,910 més alguna cosa, és gran O d'un lot de missatges de text, o n al quadrat, 578 00:25:25,910 --> 00:25:29,830 o $ 0.10 per missatge de text, 20.000 $. 579 00:25:29,830 --> 00:25:33,700 >> Afortunadament em va colpejar Control-C abans que va passar, però jo he de almenys un 580 00:25:33,700 --> 00:25:37,550 dels seus predecessors $ 20 per al 200 alguns missatges de text imparells que, 581 00:25:37,550 --> 00:25:40,450 no només va ser al seu telèfon, però També era com un telèfon plegable més vell 582 00:25:40,450 --> 00:25:43,520 pel que li agrada empès fora del seu memòria cada altre text personal 583 00:25:43,520 --> 00:25:45,930 missatge que en realitat havia aconseguit. 584 00:25:45,930 --> 00:25:49,250 Així que tenim un objectiu avui dia, no s'ha de fer això. 585 00:25:49,250 --> 00:25:50,620 Convertir Potser la manera avió. 586 00:25:50,620 --> 00:25:51,120 Tot bé. 587 00:25:51,120 --> 00:25:56,590 Així que anirem a un programa aquí callled-- 588 00:25:56,590 --> 00:25:59,060 que vaig a cridar el text del punt PHP. 589 00:25:59,060 --> 00:26:01,074 I per endavant, tinc dos arxius aqui. 590 00:26:01,074 --> 00:26:06,030 Vaig fer un arxiu per al personal just, això té totes les dades del personal, tots els noms 591 00:26:06,030 --> 00:26:07,260 des del web del curs. 592 00:26:07,260 --> 00:26:09,756 I després, per ara acabo de posar alguns números falsos 555-1212. 593 00:26:09,756 --> 00:26:11,380 Així que aquests no serien en realitat anar enlloc. 594 00:26:11,380 --> 00:26:15,140 Però noti l'interior d'aquest arxiu CSV, que ens referim breument abans 595 00:26:15,140 --> 00:26:16,540 en el context d'arxiu IO. 596 00:26:16,540 --> 00:26:18,730 >> Què és un arxiu CSV? 597 00:26:18,730 --> 00:26:19,970 Separats per comes variables. 598 00:26:19,970 --> 00:26:24,400 I això és una mena base de dades lleugera, si es vol. 599 00:26:24,400 --> 00:26:28,650 No és una cosa de tipus de quatre columnes en aquest arxiu, i no irregular, 600 00:26:28,650 --> 00:26:32,400 però les comes essencialment representen columnes a l'arxiu. 601 00:26:32,400 --> 00:26:35,400 La primera columna és el TF o el nom de CA. 602 00:26:35,400 --> 00:26:37,800 La segona columna és el seu cognom. 603 00:26:37,800 --> 00:26:39,820 Tercera columna és el seu número de telèfon. 604 00:26:39,820 --> 00:26:44,760 I quarta columna semblar és-- quarta columna és aparentment el que? 605 00:26:44,760 --> 00:26:45,870 OK, així que és seu portador. 606 00:26:45,870 --> 00:26:47,180 Així Verizon o Sprint, o el que no. 607 00:26:47,180 --> 00:26:48,620 I si em vaig equivocar abans, CSV. 608 00:26:48,620 --> 00:26:51,800 Valors separats per comes CSV és aquí. 609 00:26:51,800 --> 00:26:54,260 >> Llavors, què puc fer amb això? 610 00:26:54,260 --> 00:26:56,940 Bé, això és només un arxiu de text gran, i que és una mica llarg, no? 611 00:26:56,940 --> 00:26:58,690 T'agrada aquesta va ser una mica molest. 612 00:26:58,690 --> 00:27:03,510 I resulta que, però, que si jo que voleu enviar un missatge de text, anem a 613 00:27:03,510 --> 00:27:05,180 Alex dir aquí. 614 00:27:05,180 --> 00:27:09,690 Déjame anar al meu navegador i sortir del mode de pantalla completa 615 00:27:09,690 --> 00:27:11,660 perquè jo pugui alternar. 616 00:27:11,660 --> 00:27:20,280 Resulta que, anem a veure, si em vaig a aquí i entreu a Gmail, d'acord. 617 00:27:20,280 --> 00:27:22,950 No miris ençà. 618 00:27:22,950 --> 00:27:23,880 Només puc veure. 619 00:27:23,880 --> 00:27:26,551 620 00:27:26,551 --> 00:27:28,800 per descomptat, el livestream pot Encara veig el que estic fent. 621 00:27:28,800 --> 00:27:29,360 Tot bé. 622 00:27:29,360 --> 00:27:31,850 >> Així que aquí és només amb Gmail El relat de Juan Harvard. 623 00:27:31,850 --> 00:27:34,000 Així que si vull enviar un missatge de text a Alex, 624 00:27:34,000 --> 00:27:35,530 Jo puc compondre, per descomptat, un missatge. 625 00:27:35,530 --> 00:27:38,410 I resulta, i no tinc provat amb Alex abans que aquí, 626 00:27:38,410 --> 00:27:42,260 així que vostè pot afegir un cert domini nomenar els números de telèfon de les persones, 627 00:27:42,260 --> 00:27:45,850 perquè hi ha al món coses criden SMS al correu electrònic passarel·les. 628 00:27:45,850 --> 00:27:50,000 El que és una forma elegant de dir tot els que tenen telèfons mòbils que 629 00:27:50,000 --> 00:27:53,200 tenen números de telèfon, per descomptat, probablement és per la seva companyia, 630 00:27:53,200 --> 00:27:56,840 un determinat sufix com a Vtext.com de missatge de text de Verizon 631 00:27:56,840 --> 00:28:00,320 punt com, que pot afegir a la seva propi número de telèfon personal, i després 632 00:28:00,320 --> 00:28:03,540 vostè o amics, o els seus pares poden vostè text en aquesta direcció particular. 633 00:28:03,540 --> 00:28:07,380 >> I Verizon compta amb un servidor, un correu electrònic servidor, que en rebre aquest missatge, 634 00:28:07,380 --> 00:28:11,180 mira a la part numèrica i després utilitza el que sigui especial màgia indústria 635 00:28:11,180 --> 00:28:14,540 que han de realment enviar al llarg de les ones de ràdio a la seva cel·la en particular 636 00:28:14,540 --> 00:28:15,040 telèfon. 637 00:28:15,040 --> 00:28:18,030 Ara bé, això és bo perquè no ho faig realment saben com enviar un missatge de text 638 00:28:18,030 --> 00:28:20,460 o escriure codi però, per al meu telèfon mòbil, 639 00:28:20,460 --> 00:28:23,580 i és possible fer exactament això per un projecte final, però per ara tot 640 00:28:23,580 --> 00:28:24,770 Que tinc és el meu portàtil aquí. 641 00:28:24,770 --> 00:28:29,830 Així que vull per repetir que CSV arxiu, línia, per línia, per línia, per línia, 642 00:28:29,830 --> 00:28:35,160 agafar cadascun dels números de telèfon del personal, i del seu portador i programàticament, 643 00:28:35,160 --> 00:28:39,770 concatenar, és a dir, connectar el telèfon nombre amb el nom de domini adequat 644 00:28:39,770 --> 00:28:40,820 i després enviar un correu electrònic. 645 00:28:40,820 --> 00:28:41,940 >> Així que això és un munt de passos. 646 00:28:41,940 --> 00:28:45,530 I bona sort fent que en C. És un malson d'una situació 647 00:28:45,530 --> 00:28:48,350 per obrir un fitxer, per llegir-lo línia, per línia, per línia, com vostè 648 00:28:48,350 --> 00:28:51,100 estan veient, o aviat pot veure amb el problema d'establir 5, si no 649 00:28:51,100 --> 00:28:53,560 problema va fixar 04:00, i després per concatenar dinàmicament 650 00:28:53,560 --> 00:28:57,020 dues cordes juntes, ja que en C, prendre dues cadenes i combinar-los, 651 00:28:57,020 --> 00:29:00,900 el que fer mínimament necessita fer més probable? 652 00:29:00,900 --> 00:29:03,020 Vostè necessita declarar més memòria, no? 653 00:29:03,020 --> 00:29:04,710 I demanar, malloc, puc tenir més memòria? 654 00:29:04,710 --> 00:29:07,060 Així que puc posar la meitat d'aquesta aquí, la meitat d'això aquí. 655 00:29:07,060 --> 00:29:08,150 És tan molts passos. 656 00:29:08,150 --> 00:29:10,310 I en aquest moment que has perdut interès en la petita demostració estúpida 657 00:29:10,310 --> 00:29:11,851 on vostè fa xiulet telèfon de tots. 658 00:29:11,851 --> 00:29:14,590 Anem a fer aquest tipus de PHP estil, pel que acabem de 659 00:29:14,590 --> 00:29:16,210 començar a utilitzar més d'aquest pica de la cuina. 660 00:29:16,210 --> 00:29:18,050 >> I les idees són fonamentalment el mateix, 661 00:29:18,050 --> 00:29:20,710 però no hem de preocupar massa molt d'aquest nivell inferior. 662 00:29:20,710 --> 00:29:22,950 Així que anem a veure com em podria anar fent això. 663 00:29:22,950 --> 00:29:26,664 I de la mateixa manera que no ho faig repetir els errors del passat, 664 00:29:26,664 --> 00:29:28,330 He escrit algunes notes per a mi aquí. 665 00:29:28,330 --> 00:29:31,070 I anem a veure si ens pot caminar a través d'alguns dels passos fonamentals, 666 00:29:31,070 --> 00:29:33,861 i després per l'amor de tant anem a potser tallar algunes cantonades a l'extrem. 667 00:29:33,861 --> 00:29:38,007 Vaig a seguir endavant i fer-oberta PHP suport per iniciar aquest arxiu. 668 00:29:38,007 --> 00:29:39,590 I jo vaig a seguir endavant i fer això. 669 00:29:39,590 --> 00:29:41,490 Identificador d'arxiu, com vostè aviat veurem, en realitat 670 00:29:41,490 --> 00:29:44,790 crida a una funció anomenada f oberta. 671 00:29:44,790 --> 00:29:46,280 I recorda que això obre un arxiu. 672 00:29:46,280 --> 00:29:48,800 I la cita, cap de la cita, r significa què, una altra vegada? 673 00:29:48,800 --> 00:29:49,800 Només ha d'obrir per a lectura. 674 00:29:49,800 --> 00:29:51,210 Ara en conjunt p per, vostè va fer això. 675 00:29:51,210 --> 00:29:54,500 I gestionar podria ser qualsevol cosa, fu, bar, ves, qualsevol nom de variable. 676 00:29:54,500 --> 00:29:57,470 Però en general, un ordinador científic diria un arxiu obert, 677 00:29:57,470 --> 00:30:00,962 que li dóna un identificador d'arxiu, cosa que aferrar per així dir-ho. 678 00:30:00,962 --> 00:30:02,670 Jo només vaig a fer alguna comprovació d'errors. 679 00:30:02,670 --> 00:30:07,260 Així que si el mànec és falsa, igual que en C, que vaig a fer una cosa així, 680 00:30:07,260 --> 00:30:09,545 no va poder obrir l'arxiu, la barra invertida n. 681 00:30:09,545 --> 00:30:11,420 I llavors jo només vaig seguir endavant i sortir. 682 00:30:11,420 --> 00:30:14,340 I resulta que, en PHP, No estic dins d'una funció. 683 00:30:14,340 --> 00:30:16,160 No hi ha funció principal aquí. 684 00:30:16,160 --> 00:30:17,450 Així que jo no retorn, per se. 685 00:30:17,450 --> 00:30:18,120 Surto. 686 00:30:18,120 --> 00:30:19,619 La qual cosa és essencialment la mateixa cosa. 687 00:30:19,619 --> 00:30:22,510 I estic sortint amb una sola i probablement. 688 00:30:22,510 --> 00:30:24,220 Un només significa un error d'algun tipus. 689 00:30:24,220 --> 00:30:25,580 És diferent de zero, per la qual cosa és un error. 690 00:30:25,580 --> 00:30:30,220 >> Molt bé, pel que si estic aquí ara en el meu programa he obert l'arxiu. 691 00:30:30,220 --> 00:30:34,250 Vaig a seguir endavant i declarar una matriu anomenada direccions, 692 00:30:34,250 --> 00:30:38,610 i en C que hauria de conèixer la mida de la matriu per endavant, no? 693 00:30:38,610 --> 00:30:41,910 O jo hauria de declarar- és un punter, i aleshores utilitzar malloc. 694 00:30:41,910 --> 00:30:44,720 I llavors cada vegada que llegeixo a través d'una altra fila a l'arxiu, 695 00:30:44,720 --> 00:30:46,620 Vaig a haver de malloc més memòria, malloc més memòria. 696 00:30:46,620 --> 00:30:47,703 Això és un dolor al coll. 697 00:30:47,703 --> 00:30:50,950 I per sort, PHP i Ruby, i Python i JavaScript, que 698 00:30:50,950 --> 00:30:53,880 creixeran les seves matrius de forma automàtica. 699 00:30:53,880 --> 00:30:54,830 No més malloc. 700 00:30:54,830 --> 00:30:56,227 No més la gestió de memòria. 701 00:30:56,227 --> 00:30:57,560 L'ordinador s'encarrega d'això. 702 00:30:57,560 --> 00:31:00,330 Però el preu que vostè paga. 703 00:31:00,330 --> 00:31:01,350 És una mica més lent. 704 00:31:01,350 --> 00:31:03,190 I per a un programa com aquest no notarem. 705 00:31:03,190 --> 00:31:04,720 Anem a enviar 100 missatges de text. 706 00:31:04,720 --> 00:31:06,136 Per exemple, no va a sentir. 707 00:31:06,136 --> 00:31:08,430 En realitat, només comença a importar l'idioma de la seva elecció 708 00:31:08,430 --> 00:31:11,490 quan les seves dades o els seus programes arribar molt, molt important, 709 00:31:11,490 --> 00:31:14,120 com serà el cas més encara amb les nostres coses basat en la web. 710 00:31:14,120 --> 00:31:15,450 >> Però per ara seguirem endavant. 711 00:31:15,450 --> 00:31:20,120 Si bé resulta que hi ha una funció en C anomenat f arribar CSV. 712 00:31:20,120 --> 00:31:24,570 Arxiu arribar CSV, que porta un presentar mànec com el seu argument, 713 00:31:24,570 --> 00:31:28,810 i procedeix a continuació, fila, per fila, per fila, per llegir en una fila. 714 00:31:28,810 --> 00:31:30,964 Així que només llegeix una línia del text de l'arxiu. 715 00:31:30,964 --> 00:31:34,130 Però el millor d'aquesta funció, que no m'acaba de lliurar una línia de text. 716 00:31:34,130 --> 00:31:37,320 Es veu per aquestes comes, i analitza la línia. 717 00:31:37,320 --> 00:31:41,740 I per analitzar la línia significa dividir en certs valors en aquest context. 718 00:31:41,740 --> 00:31:45,510 >> En altres paraules, el signe de dòlar fila és una variable que és 719 00:31:45,510 --> 00:31:47,010 em va donar un munt d'índexs. 720 00:31:47,010 --> 00:31:49,635 Aquest serà el primera columna en la meva CSV. 721 00:31:49,635 --> 00:31:52,510 Aquest serà el segon columna, això va a ser el tercer, 722 00:31:52,510 --> 00:31:53,968 i això serà el quart. 723 00:31:53,968 --> 00:31:57,440 A causa de que el record i Excel la no cooperar l'última vegada que vam fer això, 724 00:31:57,440 --> 00:32:03,350 però si puc descarregar el personal esquitxen CSV. 725 00:32:03,350 --> 00:32:04,940 Vaja, no canviar el nom. 726 00:32:04,940 --> 00:32:09,120 Si descàrrec dot personal CSV, i tractar d'obrir-lo, 727 00:32:09,120 --> 00:32:12,510 Ja he registered-- oh no actualitzar Excel des de l'última vegada. 728 00:32:12,510 --> 00:32:15,880 Veuràs que en el punt personal CSV, tinc quatre columnes. 729 00:32:15,880 --> 00:32:18,720 Així que quan vaig llegir al primera fila per Abby aquí, 730 00:32:18,720 --> 00:32:23,582 signe de dòlar fila 0 és Abby, signe de dòlar fila és Lyons, 731 00:32:23,582 --> 00:32:27,740 signe de dòlar fila 2 és el seu nombre, i després portador del seu telèfon. 732 00:32:27,740 --> 00:32:28,410 >> Així que això és tot. 733 00:32:28,410 --> 00:32:30,740 I això és bo, perquè jo no han d'esbrinar ara 734 00:32:30,740 --> 00:32:32,800 on totes aquestes comes realment són. 735 00:32:32,800 --> 00:32:35,300 Així que seguiré endavant i això, tenint en compte que la definició, 736 00:32:35,300 --> 00:32:38,960 Vaig a dir que el seu nom és en suport de fila zero, com s'havia promès. 737 00:32:38,960 --> 00:32:41,150 I jo vaig a grab-- i En realitat, saps què? 738 00:32:41,150 --> 00:32:42,780 Jo no vaig a preocupar el seu nom, en aquest cas. 739 00:32:42,780 --> 00:32:43,988 Vaig a mantenir simple. 740 00:32:43,988 --> 00:32:48,610 Jo faré el seu nombre és a la fila suport de dos, crec. 741 00:32:48,610 --> 00:32:50,510 I la seva companyia estava en on? 742 00:32:50,510 --> 00:32:53,405 Fila tres, un més. 743 00:32:53,405 --> 00:32:54,280 Així que res de nou allà. 744 00:32:54,280 --> 00:32:56,770 És només zero indexació en una matriu. 745 00:32:56,770 --> 00:32:58,760 >> I ara, vaig a fer el següent. 746 00:32:58,760 --> 00:33:03,930 Si el transportista és igual a igual a AT & T Jo només vaig a tenir una loop-- 747 00:33:03,930 --> 00:33:06,790 Vull crear un correu electrònic direcció que s'assembla a això. 748 00:33:06,790 --> 00:33:12,320 Serà 617-555-1212 a, què és, text.ATT.net, 749 00:33:12,320 --> 00:33:13,490 és el que jo vull fer. 750 00:33:13,490 --> 00:33:15,260 Llavors, com ho faig? 751 00:33:15,260 --> 00:33:16,730 Vaig a fer el següent. 752 00:33:16,730 --> 00:33:22,460 La seva adreça va ser el seu número, i ara, deixa anar endavant i fer això. 753 00:33:22,460 --> 00:33:23,760 Aquesta és una sintaxi funky. 754 00:33:23,760 --> 00:33:27,250 Que podia fer el percentatge s truc, però jo només puc fer realitat això. 755 00:33:27,250 --> 00:33:29,900 >> Així que això és una cosa de PHP, però anem a considerar el que estic fent. 756 00:33:29,900 --> 00:33:31,630 Dòlars signen direcció a l'esquerra, just una variable. 757 00:33:31,630 --> 00:33:32,300 Dóna'm una variable. 758 00:33:32,300 --> 00:33:33,390 Jo no he de especificar el tipus. 759 00:33:33,390 --> 00:33:34,570 PHP entendre-ho. 760 00:33:34,570 --> 00:33:36,580 A la part dreta, ¿Quin és el tipus de dades 761 00:33:36,580 --> 00:33:38,399 de tota aquesta cosa en el costat dret? 762 00:33:38,399 --> 00:33:40,190 Sembla que una cadena, perquè hi ha doble 763 00:33:40,190 --> 00:33:42,280 cita a l'extrem esquerre i l'extrem dret. 764 00:33:42,280 --> 00:33:44,210 Ara hi ha una nova sintaxi covard aquí. 765 00:33:44,210 --> 00:33:47,550 Hi ha les claus, i el nombre de la mostra de dòlar. 766 00:33:47,550 --> 00:33:52,860 Però prendre una conjectura quina sigui la sintaxi Probablement dient PHP per fer per mi? 767 00:33:52,860 --> 00:33:53,360 Sí. 768 00:33:53,360 --> 00:33:54,630 Només ha d'inserir el valor allà. 769 00:33:54,630 --> 00:33:55,530 Així que no hi ha cent s. 770 00:33:55,530 --> 00:33:58,160 Podríem utilitzar la impressió f, o s print f o alguna cosa semblant, 771 00:33:58,160 --> 00:34:00,070 però PHP i una gran quantitat de llenguatges d'alt nivell, 772 00:34:00,070 --> 00:34:03,070 vas a veure que es podia fer el mateix funcionalment, potser 773 00:34:03,070 --> 00:34:04,019 sis maneres diferents. 774 00:34:04,019 --> 00:34:06,310 I pel que comença a ser una qüestió de disseny o estil. 775 00:34:06,310 --> 00:34:09,902 Així que això és només una manera de mirar críptica de dir, em dóna una adreça de correu electrònic, 776 00:34:09,902 --> 00:34:12,110 però el plug-in en el nombre entre aquestes claus. 777 00:34:12,110 --> 00:34:15,440 I les claus no ho farà acabar en la direcció final. 778 00:34:15,440 --> 00:34:18,010 >> Ara podem passar per alt alguns aquestes línies per al bé de moment. 779 00:34:18,010 --> 00:34:21,210 Així que si un vehicle és igual iguals verHorizon-- crits, 780 00:34:21,210 --> 00:34:24,989 Verizon-- Vull fer alguna cosa molt similar, on la direcció es posa, 781 00:34:24,989 --> 00:34:27,569 Ho van dir ells, el número al text.ATT.net. 782 00:34:27,569 --> 00:34:30,380 783 00:34:30,380 --> 00:34:35,050 I llavors jo puc fer el mateix tipus de cosa per a la resta dels portadors. 784 00:34:35,050 --> 00:34:37,090 Però només faré punt, punt, punt per ara. 785 00:34:37,090 --> 00:34:43,050 I ara suposem que Vull afegir varietat, empènyer. 786 00:34:43,050 --> 00:34:45,969 Vull afegir a la matriu, anomenada direccions. 787 00:34:45,969 --> 00:34:50,409 >> Aquesta adreça, així és com es afegir alguna cosa a un array en PHP. 788 00:34:50,409 --> 00:34:51,610 No ha de fer malloc. 789 00:34:51,610 --> 00:34:53,068 Vostè no ha de canviar la mida de la matriu. 790 00:34:53,068 --> 00:34:54,259 Vostè acaba de dir matriu, empènyer. 791 00:34:54,259 --> 00:34:57,300 Què és el que vols push-- el array Què vol empènyer alguna cosa sobre? 792 00:34:57,300 --> 00:34:58,000 Direccions. 793 00:34:58,000 --> 00:34:59,550 El que vostè vol empènyer en direccions? 794 00:34:59,550 --> 00:35:00,350 Direcció. 795 00:35:00,350 --> 00:35:02,430 I de fet, si realment vol ser intel·ligent, 796 00:35:02,430 --> 00:35:05,610 una mica de sucre sintàctica per això, per així dir-ho, 797 00:35:05,610 --> 00:35:10,230 que només vol dir que com es pot fer això en la manera més bonica, seria per fer això. 798 00:35:10,230 --> 00:35:14,060 Això també té l'efecte de creixement la matriu d'adreces per la grandària d'un, 799 00:35:14,060 --> 00:35:17,130 i després que plop addicional adreça de correu electrònic en el mateix. 800 00:35:17,130 --> 00:35:17,630 Sí. 801 00:35:17,630 --> 00:35:19,730 >> AUDIÈNCIA: [inaudible] 802 00:35:19,730 --> 00:35:22,520 >> ALTAVEU 1: Un error tipogràfic en la una altra cosa si: oh, portadora. 803 00:35:22,520 --> 00:35:23,070 Està bé. 804 00:35:23,070 --> 00:35:26,971 Tampoc li agradarà la meva falta de posar en pràctica part d'aquest programa 805 00:35:26,971 --> 00:35:27,470 desprès. 806 00:35:27,470 --> 00:35:28,810 Però gràcies per la captura. 807 00:35:28,810 --> 00:35:30,671 Un error més. 808 00:35:30,671 --> 00:35:31,170 Gràcies. 809 00:35:31,170 --> 00:35:33,746 Volem que això sigui Vtext.com. 810 00:35:33,746 --> 00:35:34,340 Sí. 811 00:35:34,340 --> 00:35:34,839 Tot bé. 812 00:35:34,839 --> 00:35:36,330 Llavors, on ens deixa això? 813 00:35:36,330 --> 00:35:38,224 Hem escrit el codi per obrir l'arxiu. 814 00:35:38,224 --> 00:35:40,390 Tenim un bucle per iterar sobre les files a l'arxiu. 815 00:35:40,390 --> 00:35:43,650 Hem codi que afegeix al meu array, un alhora, la correctament 816 00:35:43,650 --> 00:35:44,790 adreça de correu electrònic amb format. 817 00:35:44,790 --> 00:35:48,480 Així que tot el que realment queda és enviar un correu electrònic a cadascuna d'aquestes persones. 818 00:35:48,480 --> 00:35:52,830 >> Així que m'he anat per davant i mi mateix preparat com segueix. 819 00:35:52,830 --> 00:35:59,580 El que faré aquí és-- i anem seguir endavant i saltar a algun codi real, 820 00:35:59,580 --> 00:36:00,620 que s'assembla a això. 821 00:36:00,620 --> 00:36:02,950 Així que aquí és la pre-cuit versió que vaig escriure abans. 822 00:36:02,950 --> 00:36:04,700 I noto que vaig acabar la implementació de Sprint. 823 00:36:04,700 --> 00:36:06,130 Vaig acabar la implementació de T-Mobile. 824 00:36:06,130 --> 00:36:08,020 Vaig acabar la implementació de Virgin Mobile. 825 00:36:08,020 --> 00:36:09,622 I vaig a demanar disculpes per avançat. 826 00:36:09,622 --> 00:36:12,080 Hi ha algunes companyies que alguns estudiants de la classe tenen 827 00:36:12,080 --> 00:36:14,640 que no em vaig molestar enumerant en el cas de condicions aquí. 828 00:36:14,640 --> 00:36:16,015 Així que no tots els textos s'apagaran. 829 00:36:16,015 --> 00:36:17,556 Però anem a veure què més he de fer. 830 00:36:17,556 --> 00:36:19,660 Tanco l'arxiu, com en la p en quatre sets. 831 00:36:19,660 --> 00:36:20,835 >> I aquesta és una nova sintaxi. 832 00:36:20,835 --> 00:36:22,710 I anem a veure una mica mica d'això amb el temps, 833 00:36:22,710 --> 00:36:24,450 especialment amb p establert set-vuit. 834 00:36:24,450 --> 00:36:28,140 Però això és sintaxi per crear un tipus especial d'estructura. 835 00:36:28,140 --> 00:36:31,490 Resulta que hi ha una biblioteca que ve amb PHP, denominat mailer PHP. 836 00:36:31,490 --> 00:36:33,840 El seu propòsit a la vida és enviar missatges de correu electrònic mitjançant programació. 837 00:36:33,840 --> 00:36:36,840 És codi d'una altra persona va escriure que fa que sigui més fàcil per a nosaltres enviarem correus electrònics, 838 00:36:36,840 --> 00:36:39,131 així que no hem de mantenir anant i venint a Gmail, 839 00:36:39,131 --> 00:36:41,151 i enganxar en adreces de correu electrònic de les persones. 840 00:36:41,151 --> 00:36:44,150 Hi ha un munt de línies aquí que honestament, només tipus de copiat 841 00:36:44,150 --> 00:36:45,660 i enganxat de la documentació. 842 00:36:45,660 --> 00:36:47,409 I de fet, si vostè és curiós, vaig deixar tot 843 00:36:47,409 --> 00:36:50,550 de les adreces URL de la documentació en el codi que publicarem més tard. 844 00:36:50,550 --> 00:36:52,360 I notar que entre les coses que estic fent 845 00:36:52,360 --> 00:36:55,710 és que estic explicant aquesta biblioteca, utilitzar el servidor de Gmail, oi? 846 00:36:55,710 --> 00:36:59,360 SMTP parlem breument sobre quan estaven en Yale sobre estar correu simple 847 00:36:59,360 --> 00:37:00,110 protocol de transferència. 848 00:37:00,110 --> 00:37:02,920 És el protocol que servidors usats per enviar correu electrònic, 849 00:37:02,920 --> 00:37:05,150 Això és-- i Gmail té un d'aquests. 850 00:37:05,150 --> 00:37:07,290 Un port, aquest és el número de port TCP. 851 00:37:07,290 --> 00:37:09,630 Està bé si no han vist 587 abans. 852 00:37:09,630 --> 00:37:11,420 Només has de saber que a partir de la documentació. 853 00:37:11,420 --> 00:37:12,250 Aquí està el meu nom d'usuari. 854 00:37:12,250 --> 00:37:13,670 Vaig a utilitzar el bot CF50. 855 00:37:13,670 --> 00:37:16,690 I en un moment, jo només vaig a escrigui la contrasenya actual del robot. 856 00:37:16,690 --> 00:37:18,690 I després aquí baix, observi el que queda. 857 00:37:18,690 --> 00:37:22,840 >> Em vaig posar la meva de la direcció per ser bot a CS50.net. 858 00:37:22,840 --> 00:37:26,240 Crec que no es penedirà d'enviament d'un missatge de text a 800 persones que 859 00:37:26,240 --> 00:37:30,590 diu, et trobo a faltar, bot amor CS50, potser per als que no van poder fer-ho avui. 860 00:37:30,590 --> 00:37:33,160 I després, en la línia 76, què faig? 861 00:37:33,160 --> 00:37:39,010 Aquest tipus de mirades com C. Així que per a i és igual a 0, n equals-- ara explicar és nou. 862 00:37:39,010 --> 00:37:42,077 Resulta que si vol aconseguir el nombre de coses en una matriu, 863 00:37:42,077 --> 00:37:43,660 vostè no ha de recordar més. 864 00:37:43,660 --> 00:37:45,370 Vostè només pot fer una funció anomenada recompte, 865 00:37:45,370 --> 00:37:48,320 i li dirà quants direccions estan en aquesta matriu. 866 00:37:48,320 --> 00:37:53,210 >> I després vaig a afegir la direcció al correu electrònic. 867 00:37:53,210 --> 00:37:55,090 I sé això des utilitzant la documentació. 868 00:37:55,090 --> 00:37:56,900 Hi ha una funció de direcció de complement. 869 00:37:56,900 --> 00:37:58,980 I ara compte no és una peça de la sintaxi. 870 00:37:58,980 --> 00:38:01,470 Hem vist això abans en C. similars en esperit. 871 00:38:01,470 --> 00:38:04,100 Vostè pot pensar en el signe de dòlar enviar per correu com una variable, que es troba. 872 00:38:04,100 --> 00:38:08,100 Però és una estructura interior de que no són només les propietats, 873 00:38:08,100 --> 00:38:09,400 les variables si es vol. 874 00:38:09,400 --> 00:38:13,480 Però resulta que en PHP, que és una programació orientada a objectes 875 00:38:13,480 --> 00:38:16,520 llenguatge, com Java, si vostè va prendre APCS. 876 00:38:16,520 --> 00:38:21,420 >> Electrònic Signe de dòlar, si vols A-- sinó que també té funcions en l'interior de la mateixa, 877 00:38:21,420 --> 00:38:22,380 o mètodes. 878 00:38:22,380 --> 00:38:24,720 Així que això és dir que anunci publicitari especial PHP 879 00:38:24,720 --> 00:38:29,280 biblioteca, si tinc una variable del mateix, si vull cridar a una funció que 880 00:38:29,280 --> 00:38:31,559 ve amb aquesta biblioteca, per als propòsits de l'actualitat, 881 00:38:31,559 --> 00:38:33,100 Només sàpiguen que vostè fa servir la notació de fletxa. 882 00:38:33,100 --> 00:38:34,150 No hi ha notació de punt. 883 00:38:34,150 --> 00:38:35,220 És només la fletxa. 884 00:38:35,220 --> 00:38:36,380 Però això no és un punter. 885 00:38:36,380 --> 00:38:38,680 És només va prendre prestat de la sintaxi de C. 886 00:38:38,680 --> 00:38:43,620 Així que truqui a afegir l'adreça interior de objecte o variable d'aquesta biblioteca. 887 00:38:43,620 --> 00:38:44,440 >> Tot bé. 888 00:38:44,440 --> 00:38:45,570 Aquesta és la línia màgica. 889 00:38:45,570 --> 00:38:46,740 Així és com em va enviar un correu electrònic. 890 00:38:46,740 --> 00:38:50,040 Aquest és l'equivalent de l'obertura Gmail, escrivint, i colpejar a enviar. 891 00:38:50,040 --> 00:38:54,870 Però va enviar un cop correu electrònic a aquesta adreça, amb aquest cos, 892 00:38:54,870 --> 00:38:57,120 Del bot CS50. 893 00:38:57,120 --> 00:38:58,710 I ara la línia clau. 894 00:38:58,710 --> 00:39:03,130 Aquesta línia estava absent en 2011 com quan penso en el passat he intentat això. 895 00:39:03,130 --> 00:39:05,640 Aquesta línia allà, per descomptat, esborra les direccions. 896 00:39:05,640 --> 00:39:07,920 Així que, lògicament, si no desactiveu la direcció 897 00:39:07,920 --> 00:39:11,740 després de cada iteració, el primer correu electrònic o missatge de text va a Alice, 898 00:39:11,740 --> 00:39:14,320 el segon va Alice i Bob, el tercer 899 00:39:14,320 --> 00:39:17,870 va a Alice i Bob i Charlie, per tant, l'error molt car 900 00:39:17,870 --> 00:39:18,760 Vaig fer aquest any. 901 00:39:18,760 --> 00:39:21,080 >> Així que anem a veure. 902 00:39:21,080 --> 00:39:24,200 Hi ha alguna pregunta abans d'enviar-tot un text 903 00:39:24,200 --> 00:39:28,210 missatge amb el 10 per cent de probabilitat? 904 00:39:28,210 --> 00:39:28,940 Qualsevol pregunta? 905 00:39:28,940 --> 00:39:30,330 Tot bé. 906 00:39:30,330 --> 00:39:36,100 Anem a que em vagi d'aquí i canvi la contrasenya per al que ha de treballar, 907 00:39:36,100 --> 00:39:37,780 probablement obtindrà la llista negra de Gmail. 908 00:39:37,780 --> 00:39:39,821 Així que pot ser que no tots anar a terme, ja que, probablement, 909 00:39:39,821 --> 00:39:42,960 no ens agrada l'enviament de missatges de correu electrònic 800 en un bucle for tots alhora. 910 00:39:42,960 --> 00:39:45,140 Atès que no és comportament especialment humà. 911 00:39:45,140 --> 00:39:47,460 >> Oh, jo vaig a canviar una cosa més. 912 00:39:47,460 --> 00:39:50,850 Fins a la part superior, que vaig a sent-- canviar el fitxer tal estudiants esquitxen CSV. 913 00:39:50,850 --> 00:39:55,420 I no vaig a obrir això, però això és un arxiu CSV idèntic no 100 funcionaris, 914 00:39:55,420 --> 00:39:58,970 però 800 estudiants, simplement de Harvard, Yale, perquè 915 00:39:58,970 --> 00:40:00,207 té recés octubre aquesta setmana. 916 00:40:00,207 --> 00:40:03,290 I sembla que una mena de cosa idiota fer al text tots ells de per què 917 00:40:03,290 --> 00:40:04,750 no són a classe el dia de festa. 918 00:40:04,750 --> 00:40:05,250 Està bé. 919 00:40:05,250 --> 00:40:08,310 A només els estudiants de Harvard avui a l'interior d'aquest arxiu. 920 00:40:08,310 --> 00:40:12,320 I ara anem a tornar a la meva finestra de terminal. 921 00:40:12,320 --> 00:40:13,710 Estic una mica nerviós. 922 00:40:13,710 --> 00:40:22,000 >> Acceptar el que ara vaig a entrar al directori i text PHP PHP punt. 923 00:40:22,000 --> 00:40:24,950 Què tal un valent voluntari? 924 00:40:24,950 --> 00:40:26,690 Així que no vull això en mi. 925 00:40:26,690 --> 00:40:28,410 OK, anem cap amunt. 926 00:40:28,410 --> 00:40:29,162 Com et dius? 927 00:40:29,162 --> 00:40:29,662 MAYA: Maya. 928 00:40:29,662 --> 00:40:30,328 ALTAVEU 1: Maya. 929 00:40:30,328 --> 00:40:31,610 Anem amunt, Maya. 930 00:40:31,610 --> 00:40:34,120 Tot bé. 931 00:40:34,120 --> 00:40:35,389 Anem a veure si això funciona. 932 00:40:35,389 --> 00:40:38,430 Vaig posar la meva pròpia adreça de correu electrònic en el file-- meu propi número de telèfon a l'arxiu, 933 00:40:38,430 --> 00:40:40,110 per la qual cosa s'espera que aconseguiré un també. 934 00:40:40,110 --> 00:40:40,819 Encantat de conéixer-te. 935 00:40:40,819 --> 00:40:41,443 MAYA: De la mateixa manera. 936 00:40:41,443 --> 00:40:44,510 ALTAVEU 1: Així que tot el que has de fer és premeu Enter per enviar 800 missatges de text, 937 00:40:44,510 --> 00:40:45,466 si no m'equivoco. 938 00:40:45,466 --> 00:40:51,106 939 00:40:51,106 --> 00:40:51,606 Niça. 940 00:40:51,606 --> 00:40:55,556 941 00:40:55,556 --> 00:40:58,430 Podria prendre un temps, estadísticament, fins que arribem a un correu electrònic address-- 942 00:40:58,430 --> 00:41:00,573 un missatge de text que és a la sala en aquest moment. 943 00:41:00,573 --> 00:41:03,880 944 00:41:03,880 --> 00:41:05,390 Anem a descansar i veure. 945 00:41:05,390 --> 00:41:06,940 >> AUDIÈNCIA: [sibilant] 946 00:41:06,940 --> 00:41:08,270 >> ALTAVEU 1: Oh, sí. 947 00:41:08,270 --> 00:41:09,230 >> AUDIÈNCIA: Oh, et vaig enxampar. 948 00:41:09,230 --> 00:41:16,720 949 00:41:16,720 --> 00:41:19,180 >> ALTAVEU 1: Per bucles tracti: aquest no és lent a causa de PHP. 950 00:41:19,180 --> 00:41:21,810 Aquest és lent a causa de Gmail ens està escanyant i no 951 00:41:21,810 --> 00:41:25,170 deixar-nos enviarem més igual que un correu electrònic per segon. 952 00:41:25,170 --> 00:41:26,300 Qualsevol cosa? 953 00:41:26,300 --> 00:41:29,990 Això era una cosa difícil per a mi prova en casa amb només jo i el meu únic telèfon, així. 954 00:41:29,990 --> 00:41:37,630 955 00:41:37,630 --> 00:41:41,111 És que s'espera des del bot? 956 00:41:41,111 --> 00:41:41,610 Sí? 957 00:41:41,610 --> 00:41:42,110 No? 958 00:41:42,110 --> 00:41:44,760 959 00:41:44,760 --> 00:41:46,620 Dir que sí. 960 00:41:46,620 --> 00:41:47,479 No? 961 00:41:47,479 --> 00:41:49,374 És d'un amic? 962 00:41:49,374 --> 00:41:49,874 Awkward. 963 00:41:49,874 --> 00:41:50,374 D'ACORD. 964 00:41:50,374 --> 00:41:56,580 965 00:41:56,580 --> 00:42:00,090 Bastant segur que funciona però. 966 00:42:00,090 --> 00:42:00,910 UH oh. 967 00:42:00,910 --> 00:42:03,190 Ells black-- oh, espera un minut. 968 00:42:03,190 --> 00:42:04,280 Oh, saps què? 969 00:42:04,280 --> 00:42:06,100 Un moment, si us plau. 970 00:42:06,100 --> 00:42:07,802 Només Maya i jo-- Mia, oi? 971 00:42:07,802 --> 00:42:08,301 MAYA: Maya. 972 00:42:08,301 --> 00:42:12,110 ALTAVEU 1: Maya, van a sé el que vaig fer malament aquí. 973 00:42:12,110 --> 00:42:14,890 Oh, espera un minut. 974 00:42:14,890 --> 00:42:23,320 Crec que acabo d'enviar 100 missatges de text a 555-1212. 975 00:42:23,320 --> 00:42:24,346 Prepareu-vos. 976 00:42:24,346 --> 00:42:28,080 977 00:42:28,080 --> 00:42:29,270 No puc guanyar qualsevol any. 978 00:42:29,270 --> 00:42:30,180 D'ACORD. 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 Fixar que en post-producció. 982 00:42:36,219 --> 00:42:36,718 Maleïda sigui! 983 00:42:36,718 --> 00:42:39,430 984 00:42:39,430 --> 00:42:40,390 Després de la direcció. 985 00:42:40,390 --> 00:42:41,301 OK, una pausa. 986 00:42:41,301 --> 00:42:41,800 Ho sento. 987 00:42:41,800 --> 00:42:44,550 988 00:42:44,550 --> 00:42:47,080 És dolorós cada any. 989 00:42:47,080 --> 00:42:48,640 OK, un moment. 990 00:42:48,640 --> 00:42:50,530 Això és bo. 991 00:42:50,530 --> 00:42:54,010 Estic en comptes anava a fer això. 992 00:42:54,010 --> 00:42:55,470 Direccions d'impressió. 993 00:42:55,470 --> 00:42:56,030 OK, una pausa. 994 00:42:56,030 --> 00:43:01,340 Direccions d'impressió, suport i. 995 00:43:01,340 --> 00:43:02,710 Sí, m'agrada això. 996 00:43:02,710 --> 00:43:10,220 Sign-- OK Dòlar vaig a explicar el que sóc fent en un moment, després m'he trobat això. 997 00:43:10,220 --> 00:43:11,670 Cada any. 998 00:43:11,670 --> 00:43:13,125 OK, aquí anem. 999 00:43:13,125 --> 00:43:15,750 Tinc sol-- i jo no vull per mostrar el número de telèfon de tots, 1000 00:43:15,750 --> 00:43:17,740 però Maya pot confirmar amb un gest del cap, 1001 00:43:17,740 --> 00:43:20,800 que veu tothom és número de telèfon a la classe 1002 00:43:20,800 --> 00:43:26,750 que vaig a copiar en un programa anomenat Gmail. 1003 00:43:26,750 --> 00:43:30,860 I si a Gmail, què volem dir? 1004 00:43:30,860 --> 00:43:32,137 Et trobo a faltar. 1005 00:43:32,137 --> 00:43:33,220 Amor-- això no és de mi. 1006 00:43:33,220 --> 00:43:35,230 Ni tan sols he colpejat enviar encara. 1007 00:43:35,230 --> 00:43:39,450 Així que seguirem endavant i fer això, si em pot apropar la imatge. 1008 00:43:39,450 --> 00:43:40,300 D'ACORD. 1009 00:43:40,300 --> 00:43:42,480 Així que estic utilitzant un programa anomenat Gmail ara. 1010 00:43:42,480 --> 00:43:44,490 Si Maya, desitja feu clic al botó Enviar, 1011 00:43:44,490 --> 00:43:46,970 simularem el que codi hauria d'haver fet. 1012 00:43:46,970 --> 00:43:54,630 1013 00:43:54,630 --> 00:43:55,254 >> Qualsevol cosa? 1014 00:43:55,254 --> 00:43:56,062 >> [BIP] 1015 00:43:56,062 --> 00:43:56,870 >> AUDIÈNCIA: Sí. 1016 00:43:56,870 --> 00:43:58,030 >> ALTAVEU 1: Sí? 1017 00:43:58,030 --> 00:43:59,210 Salvació? 1018 00:43:59,210 --> 00:44:00,427 >> AUDIÈNCIA: Sí. 1019 00:44:00,427 --> 00:44:01,260 ALTAVEU 1: Et trobo a faltar. 1020 00:44:01,260 --> 00:44:02,718 I jo vaig a enviar la resta. 1021 00:44:02,718 --> 00:44:06,060 Vaig enviar mitjà perquè jo no crec Gmail deixaria que els travessen. 1022 00:44:06,060 --> 00:44:12,410 Així que recorda, avui és el dia que has après que puc utilitzar Gmail. 1023 00:44:12,410 --> 00:44:14,977 1024 00:44:14,977 --> 00:44:15,810 Això va ser horrible. 1025 00:44:15,810 --> 00:44:17,140 Un gran aplaudiment a Maya. 1026 00:44:17,140 --> 00:44:18,980 Gràcies. 1027 00:44:18,980 --> 00:44:21,280 Molt bé, així. 1028 00:44:21,280 --> 00:44:22,210 Què 1029 00:44:22,210 --> 00:44:23,140 >> [BIP] 1030 00:44:23,140 --> 00:44:25,010 1031 00:44:25,010 --> 00:44:26,580 >> Ens van donar uns quants xiulets, sí? 1032 00:44:26,580 --> 00:44:27,080 Tot bé. 1033 00:44:27,080 --> 00:44:30,590 Ara em vaig a posar 700 realment correus electrònics infeliços esquena dels seus companys de classe. 1034 00:44:30,590 --> 00:44:32,400 Així, almenys, ja veurem si això era la pena. 1035 00:44:32,400 --> 00:44:33,300 Llavors, què va sortir malament? 1036 00:44:33,300 --> 00:44:35,300 Vaig a esbrinar el que va sortir malament després dels fets, 1037 00:44:35,300 --> 00:44:38,340 però només cal veure el fàcil era fer-ho en PHP. 1038 00:44:38,340 --> 00:44:44,598 Llavors, què podem realment fer ara que tenim aquesta expressivitat de PHP. 1039 00:44:44,598 --> 00:44:45,970 Això era-- que era horrible. 1040 00:44:45,970 --> 00:44:46,480 Tot bé. 1041 00:44:46,480 --> 00:44:48,430 Així que això va ser el que hauria d'haver sortit. 1042 00:44:48,430 --> 00:44:52,770 Això es em provant aquest matí en el meu telèfon, pantalla real del meu telèfon. 1043 00:44:52,770 --> 00:44:56,180 >> Però ara anem a considerar per què en realitat estem introduint 1044 00:44:56,180 --> 00:44:57,840 totes aquestes coses en el primer lloc. 1045 00:44:57,840 --> 00:45:01,625 Així que l'objectiu no és escriure aquests programes que 1046 00:45:01,625 --> 00:45:03,250 estan escrits en la línia d'ordres, oi? 1047 00:45:03,250 --> 00:45:05,000 Així que vaig escriure un senzill hola programa, vaig escriure 1048 00:45:05,000 --> 00:45:09,155 un petit programa que fa condicionals, i s'utilitza una línia de lectura i així successivament. 1049 00:45:09,155 --> 00:45:11,530 I en teoria, que acabo d'escriure un programa que envia 1050 00:45:11,530 --> 00:45:14,290 800 missatges de text, més o menys 800. 1051 00:45:14,290 --> 00:45:16,830 I aquest programa era tot Encara córrer a la línia d'ordres. 1052 00:45:16,830 --> 00:45:18,538 I això, és clar, és No la web, no? 1053 00:45:18,538 --> 00:45:22,160 L'objectiu ara és començar a usar el que pretenc és un fàcil d'usar 1054 00:45:22,160 --> 00:45:24,720 idioma, una més daresay llenguatge poderós en termes 1055 00:45:24,720 --> 00:45:27,104 de les característiques que vénen amb ell, per començar 1056 00:45:27,104 --> 00:45:29,850 escriure codi que genera pàgines web. 1057 00:45:29,850 --> 00:45:33,248 >> Així que l'última vegada i la setmana passada, parlem d'HTTP i HTML. 1058 00:45:33,248 --> 00:45:36,350 I el que és bo d'HTML és que és només text pur. 1059 00:45:36,350 --> 00:45:38,220 I el text és, sens dubte alguna cosa que pugui 1060 00:45:38,220 --> 00:45:42,040 imprimir literalment cridant a la impressió f funció o la funció d'impressió. 1061 00:45:42,040 --> 00:45:46,160 I de fet, això és el que PHP és ara va a permetre que fem. 1062 00:45:46,160 --> 00:45:48,610 Així, entre els exemples que tenir en el codi font d'avui, 1063 00:45:48,610 --> 00:45:51,610 A més d'alguns dels codis que vaig posar allà dalt fa un moment, 1064 00:45:51,610 --> 00:45:55,440 tenim programes com aquest, per exemple. 1065 00:45:55,440 --> 00:45:58,760 Froshims o Freshman Intramural Sports, era en realitat 1066 00:45:58,760 --> 00:46:01,500 un dels primers extracurriculars Em vaig involucrar amb la de fa anys. 1067 00:46:01,500 --> 00:46:03,750 I el meu company i jo, amb alguns altres nens a l'escola, 1068 00:46:03,750 --> 00:46:05,280 utilitzat per executar el programa froshims. 1069 00:46:05,280 --> 00:46:07,420 M'estic posant els meus missatges de text ara. 1070 00:46:07,420 --> 00:46:14,030 >> Ara pel que, al seu dia, de manera que aquest 1996 era més o menys, hi va haver un internet, 1071 00:46:14,030 --> 00:46:17,395 però no hi havia procés-- existeix no va ser una pàgina web per froshims. 1072 00:46:17,395 --> 00:46:20,270 I pel que si vostè volia inscriure en futbol o voleibol o el que sigui, 1073 00:46:20,270 --> 00:46:22,240 vostè ompli aquesta cosa anomenat un tros de paper, 1074 00:46:22,240 --> 00:46:25,060 i que seria caminar a través de la Universitat de Harvard pati, i que seria feu-lo lliscar 1075 00:46:25,060 --> 00:46:29,230 a la ranura de correu del supervisor, qui era a Wigglesworth, un dels dormitoris. 1076 00:46:29,230 --> 00:46:31,270 I això que es van registrar. 1077 00:46:31,270 --> 00:46:33,570 I ell o ella faria a continuació, redactar un correu electrònic a vostè 1078 00:46:33,570 --> 00:46:36,514 manualment, igual que jo acaba de fer aquí amb Maya, 1079 00:46:36,514 --> 00:46:38,930 i després es confirmaria com si hagués estat registrada. 1080 00:46:38,930 --> 00:46:40,840 >> Així que això era com baixa fruita penjant, per així dir-ho. 1081 00:46:40,840 --> 00:46:42,930 Era una mena d'estúpid que estàvem usant paper per això. 1082 00:46:42,930 --> 00:46:45,024 Jo volia que siguem capaços anar només en un lloc web, 1083 00:46:45,024 --> 00:46:47,440 o tenen els estudiants de primer any van en un lloc web, registrar-se en l'esport, 1084 00:46:47,440 --> 00:46:50,398 i simplement automatitzar una gran quantitat d'aquest material posant els seus noms i correus electrònics 1085 00:46:50,398 --> 00:46:51,850 i així successivament en una base de dades. 1086 00:46:51,850 --> 00:46:56,510 I de fet, la primera versió de la pàgina web, utilitzant súper lleig HTML, 1087 00:46:56,510 --> 00:46:58,195 podria haver buscat alguna cosa com això. 1088 00:46:58,195 --> 00:47:01,070 En realitat, va ser, irònicament, més vergonyós guapo que aquesta de tornada 1089 00:47:01,070 --> 00:47:01,460 llavors. 1090 00:47:01,460 --> 00:47:02,890 Però he fet servir un llenguatge de programació. 1091 00:47:02,890 --> 00:47:06,060 No PHP, sinó més aviat anomenat Perl, que és una llengua més antiga, 1092 00:47:06,060 --> 00:47:07,251 però molt similars en esperit. 1093 00:47:07,251 --> 00:47:09,000 I acabo completament ho va ensenyar a mi mateix. 1094 00:47:09,000 --> 00:47:12,208 I em va prendre un temps per esbrinar-ho, fer moltes preguntes d'amics. 1095 00:47:12,208 --> 00:47:14,080 Però les idees allà eren exactament el mateix. 1096 00:47:14,080 --> 00:47:18,050 Perquè el que PHP va ser realment dissenyat per no dir les coses de línia d'ordres 1097 00:47:18,050 --> 00:47:20,450 que acabem de jugar amb, però per a la programació web. 1098 00:47:20,450 --> 00:47:24,960 >> És realment lligat en la seva funció estableix a la web, de la següent manera. 1099 00:47:24,960 --> 00:47:26,370 Això és froshims. 1100 00:47:26,370 --> 00:47:28,720 I si volia inscriure en aquest formulari, 1101 00:47:28,720 --> 00:47:30,930 això és bastant lleig, sens dubte, però m'ho dius a mi anar per davant 1102 00:47:30,930 --> 00:47:34,440 i ser un estudiant menys còmode, i qualsevol que sigui l'esport per Matthews, 1103 00:47:34,440 --> 00:47:35,630 feu clic a Registrar. 1104 00:47:35,630 --> 00:47:39,780 El que jo vull ser capaç de fer és enviar informació d'un formulari, 1105 00:47:39,780 --> 00:47:42,400 no al servidor de Google com vam fer l'última vegada, completament 1106 00:47:42,400 --> 00:47:47,100 engany per mitjà del seu back-end, que desitgi implementar el meu propi codi backend. 1107 00:47:47,100 --> 00:47:51,410 El que significa escriptura PHP codi que viu en una URL 1108 00:47:51,410 --> 00:47:54,180 que les dades del formulari es poden enviar. 1109 00:47:54,180 --> 00:47:57,510 >> I després el seu codi, escrit en PHP en un servidor, 1110 00:47:57,510 --> 00:47:59,400 a continuació, pot respondre al fet que l'entrada de l'usuari. 1111 00:47:59,400 --> 00:48:03,287 Igual que el seu nom, o el nivell de confort, o dormitori, i després fer alguna cosa amb ell. 1112 00:48:03,287 --> 00:48:05,120 En aquest cas, només estúpidament impresa cap a fora 1113 00:48:05,120 --> 00:48:06,750 com text, que no és tan bonica. 1114 00:48:06,750 --> 00:48:09,590 Però certament es podria imaginar, si saps HTML, 1115 00:48:09,590 --> 00:48:13,010 i aviat sabràs com generar HTML amb la impressió f, i imprimir, 1116 00:48:13,010 --> 00:48:16,500 i funcions similars, que sens dubte pot generar una pàgina web més bonica que diu: 1117 00:48:16,500 --> 00:48:17,929 Hey David, que ara està registrat. 1118 00:48:17,929 --> 00:48:20,220 Ets un menys còmode estudiant de Matthews, oi? 1119 00:48:20,220 --> 00:48:23,880 >> Vostè només pot utilitzar un munt de% ses, o les claus i signe de dòlar 1120 00:48:23,880 --> 00:48:27,750 notació vaig fer servir fa un moment, a generar text que és més fàcil d'usar 1121 00:48:27,750 --> 00:48:28,567 que això. 1122 00:48:28,567 --> 00:48:30,150 Així que anem a fer una ullada a aquesta imatge. 1123 00:48:30,150 --> 00:48:34,666 Froshim zero punt PHP té aquest aspecte. 1124 00:48:34,666 --> 00:48:37,860 1125 00:48:37,860 --> 00:48:43,500 Quan torno a carregar IDE CS50, zero froshim són aquestes. 1126 00:48:43,500 --> 00:48:45,700 Aquesta és froshim zero punt PHP. 1127 00:48:45,700 --> 00:48:47,730 I què és el que vostè nota sobre aquest arxiu? 1128 00:48:47,730 --> 00:48:49,506 >> AUDIÈNCIA: [inaudible] 1129 00:48:49,506 --> 00:48:50,922 ALTAVEU 1: Ho sento, una mica més fort? 1130 00:48:50,922 --> 00:48:53,250 AUDIÈNCIA: [inaudible] Tot està en HTML. 1131 00:48:53,250 --> 00:48:57,130 I de fet, que és, perquè l'interessant de PHP 1132 00:48:57,130 --> 00:48:58,880 és que va ser dissenyat ser, per a una millor 1133 00:48:58,880 --> 00:49:02,110 o per mal, entremesclat amb codi HTML. 1134 00:49:02,110 --> 00:49:05,850 I de fet, tot i que aquest arxiu, froshim zero punt PHP, 1135 00:49:05,850 --> 00:49:11,470 té un comentari de PHP a la part superior d'ella, tot és només HTML. 1136 00:49:11,470 --> 00:49:17,655 Però per contra, si obro, anem a diguem, registri zero punt PHP, que 1137 00:49:17,655 --> 00:49:19,550 només té un gran comentari a la part superior. 1138 00:49:19,550 --> 00:49:26,500 Això també es veu gairebé íntegrament com HTML, excepte per què? 1139 00:49:26,500 --> 00:49:29,350 Línia, el que, 21 es veu una mica estrany. 1140 00:49:29,350 --> 00:49:32,739 >> Però noto que estic entrar en la manera PHP amb el suport obert signe d'interrogació PHP. 1141 00:49:32,739 --> 00:49:33,780 Llavors tinc algunes coses. 1142 00:49:33,780 --> 00:49:36,724 I després, al final d'aquesta línia Gairebé tinc, Signe d'interrogació PHP. 1143 00:49:36,724 --> 00:49:38,390 I això és el que vull dir amb entremesclats. 1144 00:49:38,390 --> 00:49:41,910 Vostè pot escriure HTML que acaba de vol que el servidor per escopir. 1145 00:49:41,910 --> 00:49:45,090 Però si vols fer alguna cosa partway dinàmic a través de la pàgina, 1146 00:49:45,090 --> 00:49:47,699 com inserir el meu nom o dormitori o nivell de comoditat, 1147 00:49:47,699 --> 00:49:49,490 Puc utilitzar una funció com la impressió r, que és 1148 00:49:49,490 --> 00:49:52,492 imprimir recursiu, que només significa imprimir aquesta variable, formatar 1149 00:49:52,492 --> 00:49:53,200 el que li vingui de gust. 1150 00:49:53,200 --> 00:49:55,880 En realitat no és per propòsits humans, és només 1151 00:49:55,880 --> 00:49:58,290 amb fins de diagnòstic o de depuració. 1152 00:49:58,290 --> 00:49:59,460 Així que aquesta és la forma en què ho vaig fer. 1153 00:49:59,460 --> 00:50:06,100 >> Si en canvi vaig froshims dos punts PHP, compte que l'acció d'aquesta manera 1154 00:50:06,100 --> 00:50:09,680 no està registrat zero punt PHP com la old-- l'anterior era en realitat. 1155 00:50:09,680 --> 00:50:11,222 Però ha registrat dos punts PHP. 1156 00:50:11,222 --> 00:50:13,680 Així que anem a veure com aquest es comporta una mica diferent. 1157 00:50:13,680 --> 00:50:15,140 Si entro a la versió 2. 1158 00:50:15,140 --> 00:50:20,430 Si aquí, si em registre com David, menys còmoda, des del dormitori de Mathews, 1159 00:50:20,430 --> 00:50:21,480 registrar-se. 1160 00:50:21,480 --> 00:50:23,770 Així que aquesta vegada, va dir, que es registren, en realitat no. 1161 00:50:23,770 --> 00:50:25,370 Anem a veure el que vaig fer aquí. 1162 00:50:25,370 --> 00:50:29,760 Si miro registre dos punts PHP, això té una mica més de codi PHP. 1163 00:50:29,760 --> 00:50:35,410 És una mica més net, encara que Encara s'ajusta una mica llarg en aquesta línia. 1164 00:50:35,410 --> 00:50:36,260 Cal notar aquí. 1165 00:50:36,260 --> 00:50:40,300 Imprimeixo la meva etiqueta HTML, el meu etiqueta del cap, el meu etiqueta del títol, el cap, el cos. 1166 00:50:40,300 --> 00:50:45,410 >> I llavors em poso a dir coses com entrar en la manera PHP. 1167 00:50:45,410 --> 00:50:48,540 I perquè l'etiqueta, suport obert PHP-- signe d'interrogació PHP diu, 1168 00:50:48,540 --> 00:50:53,460 bo, servidor, execute-- interpretar les següents coses com PHP 1169 00:50:53,460 --> 00:50:55,030 fins que vegi l'etiqueta final. 1170 00:50:55,030 --> 00:50:58,590 I tot i que vostè pot no saber cap una altra PHP del que has vist fins ara, 1171 00:50:58,590 --> 00:51:01,290 pots tipus de lectura bastant intuïtiva. 1172 00:51:01,290 --> 00:51:10,670 Si el nom està buit, o la comoditat és buit, o dormitori està buida, què faig? 1173 00:51:10,670 --> 00:51:12,830 ¿Què li dic a l'usuari? 1174 00:51:12,830 --> 00:51:15,330 Vostè ha de proporcionar el seu nom, comoditat i dormitori, i així successivament. 1175 00:51:15,330 --> 00:51:17,750 Si no, dic que ets registrat, així no realment. 1176 00:51:17,750 --> 00:51:19,190 >> I jo no dic de veritat perquè no hi ha cap base de dades. 1177 00:51:19,190 --> 00:51:20,200 No faré res amb les dades. 1178 00:51:20,200 --> 00:51:22,408 Només estic tirant a les escombraries amb fins de demostració. 1179 00:51:22,408 --> 00:51:24,320 Ara em tipus de escatimat vora 22. 1180 00:51:24,320 --> 00:51:26,400 Hi ha més de sintaxi allà, però el signe de dòlar 1181 00:51:26,400 --> 00:51:28,320 subratllen post és bastant interessant. 1182 00:51:28,320 --> 00:51:30,300 I això és el que és bo de PHP. 1183 00:51:30,300 --> 00:51:35,610 En PHP, vostè té el que es diu algunes variables globals súper. 1184 00:51:35,610 --> 00:51:38,430 Ells són una espècie d'encara més important que les variables globals. 1185 00:51:38,430 --> 00:51:41,370 I aquests, tot en majúscules com a tal, ve amb PHP. 1186 00:51:41,370 --> 00:51:44,550 Així que si vostè té un servidor que té un servidor web instal·lat, com Apache, 1187 00:51:44,550 --> 00:51:49,390 i d'instal·lar l'idioma suport per a PHP, de sobte vostè 1188 00:51:49,390 --> 00:51:52,250 pot començar a utilitzar aquests súper variables globals en el codi. 1189 00:51:52,250 --> 00:51:54,330 >> I el que és bo de PHP és que si només 1190 00:51:54,330 --> 00:51:57,540 escriure un arxiu que acaba en punt PHP, el va posar en un servidor web, 1191 00:51:57,540 --> 00:52:01,260 i després envia un formulari a ella a través d'aquesta etiqueta d'acció i una etiqueta de formulari, 1192 00:52:01,260 --> 00:52:05,110 aquest atribut d'acció en el etiqueta de formulari, PHP i la web 1193 00:52:05,110 --> 00:52:09,360 completament s'adona de com agafar tots aquests parells de valors clau a terme 1194 00:52:09,360 --> 00:52:11,633 del URL com a pregunta marca q és igual als gats, 1195 00:52:11,633 --> 00:52:14,782 serà trobar la manera de q i gats. 1196 00:52:14,782 --> 00:52:17,710 Si envia una foto o un nom d'usuari, o una contrasenya per com Facebook, 1197 00:52:17,710 --> 00:52:21,360 PHP esbrinar per a vostè on tots els que les dades es. 1198 00:52:21,360 --> 00:52:23,821 I s'acaba de lliurar que una matriu associativa 1199 00:52:23,821 --> 00:52:27,560 anomenat dòlar lloc de signe de subratllat, o signe de dòlar subratllen aconseguir, 1200 00:52:27,560 --> 00:52:30,590 depenent de si vostè és utilitzant GET o POST presentacions. 1201 00:52:30,590 --> 00:52:32,950 I només et farà lliurament una variable global súper, 1202 00:52:32,950 --> 00:52:37,254 de manera que si vol aconseguir en el nom que l'usuari va presentar a través d'aquesta xarxa 1203 00:52:37,254 --> 00:52:41,894 manera, que, literalment, acaba de dir el nom de la variable global súper, cita, 1204 00:52:41,894 --> 00:52:43,380 fi de la cita, el nom. 1205 00:52:43,380 --> 00:52:46,144 I cita, comoditat fi de la cita, i cita, dormitori fi de la cita. 1206 00:52:46,144 --> 00:52:48,810 I nosaltres serem capaços de fer això i molt més amb PHP. 1207 00:52:48,810 --> 00:52:50,540 I tot i que això era una mirada remolí en això, 1208 00:52:50,540 --> 00:52:51,980 anem a bussejar en molt més la propera setmana. 1209 00:52:51,980 --> 00:52:54,247 Ens introduirem una base de dades pel que ets en realitat 1210 00:52:54,247 --> 00:52:56,816 va començar a aplicar el seu propi based-- e-comerç 1211 00:52:56,816 --> 00:52:59,150 like en el temps només una setmana. 1212 00:52:59,150 --> 00:53:02,750 Així que ens veiem la propera vegada, i Espero que tinguis tots els missatges de text. 1213 00:53:02,750 --> 00:53:05,450 Adéu. 1214 00:53:05,450 --> 00:53:06,950 >> [REPRODUCCIÓ DE MÚSICA] 1215 00:53:06,950 --> 00:53:11,450 1216 00:53:11,450 --> 00:53:12,950 >> [OBERTURA PORTA] 1217 00:53:12,950 --> 00:53:14,475 >> ALTAVEU 2: Hey. 1218 00:53:14,475 --> 00:53:15,350 ALTAVEU 3: Què passa? 1219 00:53:15,350 --> 00:53:17,750 ALTAVEU 2: Què estàs fent? 1220 00:53:17,750 --> 00:53:19,850 ALTAVEU 3: Treball en un conjunt de problemes. 1221 00:53:19,850 --> 00:53:21,050 ALTAVEU 2: Niça. 1222 00:53:21,050 --> 00:53:22,550 Xoca aquests cinc. 1223 00:53:22,550 --> 00:53:23,150 >> [XOCA AQUESTS CINC] 1224 00:53:23,150 --> 00:53:25,584 >> Què tracti: eh, què estàs fent aquí? 1225 00:53:25,584 --> 00:53:26,750 ALTAVEU 3: Tot just penjant cap a fora. 1226 00:53:26,750 --> 00:53:28,134 Acabo de tornar del gimnàs. 1227 00:53:28,134 --> 00:53:30,050 Jo no podia deixar de notar quan-alta xocar palmes, 1228 00:53:30,050 --> 00:53:32,450 que té les mans molt aspres. 1229 00:53:32,450 --> 00:53:33,950 Vas al gimnàs? 1230 00:53:33,950 --> 00:53:35,150 >> ALTAVEU 2: No. 1231 00:53:35,150 --> 00:53:36,650 No. 1232 00:53:36,650 --> 00:53:38,450 >> ALTAVEU 3: Amic, et veus bastant gran. 1233 00:53:38,450 --> 00:53:45,950 Què és dolent, perquè tothom sap 8-ball és l'home gran al campus. 1234 00:53:45,950 --> 00:53:48,050 Xoca aquests cinc. 1235 00:53:48,050 --> 00:53:49,550 >> ALTAVEU 2: Uh, no. 1236 00:53:49,550 --> 00:53:50,450 No, crec que em va bé. 1237 00:53:50,450 --> 00:53:52,300 Crec que estic bé. 1238 00:53:52,300 --> 00:53:54,097