1 00:00:00,000 --> 00:00:04,410 >> [REPRODUCCIÓN DE MÚSICA] 2 00:00:04,410 --> 00:00:12,250 3 00:00:12,250 --> 00:00:15,770 >> ALTAVOZ 1: Este es CS50 y este es el final de la semana de siete. 4 00:00:15,770 --> 00:00:20,240 Hoy es quizás donde realmente enseñando idiomas. 5 00:00:20,240 --> 00:00:24,100 Hemos introducido en el último par de semana HTML y CSS, ninguno de los cuales 6 00:00:24,100 --> 00:00:25,240 son lenguajes de programación. 7 00:00:25,240 --> 00:00:28,600 Y, en efecto, a pesar de que no mirar a casi todas las etiquetas 8 00:00:28,600 --> 00:00:33,410 que viene con HTML y casi todos de las propiedades que viene con CSS, 9 00:00:33,410 --> 00:00:35,007 eso es algo que para HTML y CSS. 10 00:00:35,007 --> 00:00:36,840 Tendremos general comenzar suponiendo que 11 00:00:36,840 --> 00:00:39,545 entender las ideas generales de etiquetas y atributos, 12 00:00:39,545 --> 00:00:41,850 y las páginas que se envían desde el cliente al servidor. 13 00:00:41,850 --> 00:00:45,280 >> Porque hoy empezamos a mirar otro lenguaje de programación, PHP. 14 00:00:45,280 --> 00:00:47,110 Vamos a hacer esto muy rápido. 15 00:00:47,110 --> 00:00:50,910 No vamos a enseñarte PHP per se, al igual que nosotros no aspiramos a enseñar 16 00:00:50,910 --> 00:00:52,670 C, per se, sino más bien de programación. 17 00:00:52,670 --> 00:00:55,088 Y, en efecto, uno de los metas para este curso 18 00:00:55,088 --> 00:00:57,820 No se que le enseñe C, o HTML o CSS o PHP, 19 00:00:57,820 --> 00:01:00,370 o cualquier número de otra palabras de moda o acrónimos, 20 00:01:00,370 --> 00:01:03,097 sino más bien la informática y cómo programar fundamentalmente. 21 00:01:03,097 --> 00:01:05,930 Y, de hecho, hoy empezamos a tomar esas ruedas de entrenamiento fuera de toda la 22 00:01:05,930 --> 00:01:10,600 aún más por volar a través de una lenguaje llamado PHP, como sigue. 23 00:01:10,600 --> 00:01:13,640 >> Esto es lo que se ve este lenguaje similar. 24 00:01:13,640 --> 00:01:17,790 Resulta que no hay necesidad de una función principal en un programa escrito 25 00:01:17,790 --> 00:01:19,470 en un lenguaje llamado PHP. 26 00:01:19,470 --> 00:01:22,585 Así que ya suena un poco más simple que C, con la que estamos familiarizados. 27 00:01:22,585 --> 00:01:25,370 Resulta que si quiero declarar una variable, 28 00:01:25,370 --> 00:01:29,470 lo hace de manera casi idéntica a C. Pero claramente hay una diferencia aquí 29 00:01:29,470 --> 00:01:31,850 cuando me declaro una cadena, o tal vez dos diferencias. 30 00:01:31,850 --> 00:01:32,725 Lo que se ve diferente? 31 00:01:32,725 --> 00:01:35,810 32 00:01:35,810 --> 00:01:37,160 >> AUDIENCIA: El signo de dólar. 33 00:01:37,160 --> 00:01:39,951 >> ALTAVOZ 1: Sí, hay dólar firmamos, que nunca hemos visto antes. 34 00:01:39,951 --> 00:01:41,451 Y lo que falta? 35 00:01:41,451 --> 00:01:41,950 ¿Sí? 36 00:01:41,950 --> 00:01:42,820 >> AUDIENCIA: [inaudible] 37 00:01:42,820 --> 00:01:44,403 >> ALTAVOZ 1: Sí, no hay ningún tipo de datos. 38 00:01:44,403 --> 00:01:48,410 Así que resulta que PHP es lo que llamar a un lenguaje débilmente tipado, donde 39 00:01:48,410 --> 00:01:49,959 C es fuertemente tipado. 40 00:01:49,959 --> 00:01:52,500 Sin apretar escrito sólo significa que hay diferentes tipos de datos, 41 00:01:52,500 --> 00:01:54,470 hay cadenas y enteros, y carrozas. 42 00:01:54,470 --> 00:01:56,330 Pero las cifras de computadoras que fuera. 43 00:01:56,330 --> 00:01:58,664 Usted programador humano no tienen que entenderlo. 44 00:01:58,664 --> 00:02:00,580 Así que todo lo que tiene que hacer para declarar una variable es 45 00:02:00,580 --> 00:02:03,220 signo de dólar, el nombre de su la variable y, a continuación, por ejemplo, 46 00:02:03,220 --> 00:02:04,760 entre comillas, hola mundo. 47 00:02:04,760 --> 00:02:07,662 >> Bueno, esto es lo que un condición parece en PHP. 48 00:02:07,662 --> 00:02:08,328 Cualquier diferencia? 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 Así que resulta que son idénticos. 52 00:02:12,540 --> 00:02:14,665 Y es posible que tenga menos sucursales o más ramas, 53 00:02:14,665 --> 00:02:16,557 pero los giros de sintaxis exactamente el mismo. 54 00:02:16,557 --> 00:02:18,390 Expresiones booleanas pueden pedirse juntos. 55 00:02:18,390 --> 00:02:20,400 Expresiones booleanas se puede anded juntos. 56 00:02:20,400 --> 00:02:21,430 Usted todavía tiene interruptores. 57 00:02:21,430 --> 00:02:23,790 Incluso si usted no ha utilizado estos, éstas existen en C 58 00:02:23,790 --> 00:02:26,020 y son funcionalmente equivalente en PHP. 59 00:02:26,020 --> 00:02:28,260 >> Y de hecho, en PHP son un poco más potente. 60 00:02:28,260 --> 00:02:32,540 En C, sólo se puede comparar seguro tipos de datos como enteros y caracteres, 61 00:02:32,540 --> 00:02:36,320 mientras que en PHP se puede comparar en realidad cuerdas fledge completos sin tener 62 00:02:36,320 --> 00:02:38,460 que preocuparse de punteros y similares. 63 00:02:38,460 --> 00:02:39,430 Así que aquí está un bucle for. 64 00:02:39,430 --> 00:02:41,270 Esto es sólo pseudocódigo código, si se quiere. 65 00:02:41,270 --> 00:02:43,400 Pero es estructuralmente idéntica a C. 66 00:02:43,400 --> 00:02:47,520 >> Aquí hay un bucle while, pseudocódigo therefore-- idéntica a C. 67 00:02:47,520 --> 00:02:49,390 Aquí es un do mientras loop-- idénticos. 68 00:02:49,390 --> 00:02:51,390 Y así hay una especie de este patrón aquí por el cual 69 00:02:51,390 --> 00:02:54,400 hay algunos otros sintáctica características que están de hecho va a ver. 70 00:02:54,400 --> 00:02:57,340 De hecho, aquí es un buen forma en PHP mediante el cual, 71 00:02:57,340 --> 00:02:59,350 si desea repetir sobre una matriz, y 72 00:02:59,350 --> 00:03:02,309 no quieren saltar a través de la aros mentales y sintácticas de tener 73 00:03:02,309 --> 00:03:05,178 int i es igual a 0, i menos que n, i, más que plus-- 74 00:03:05,178 --> 00:03:07,040 es sólo un montón de sintaxis molesto. 75 00:03:07,040 --> 00:03:10,654 Se puede decir un poco más de manera fluida para cada uno de los números 76 00:03:10,654 --> 00:03:13,320 como el número, donde en este caso número de signos de dólar, estoy asumiendo, 77 00:03:13,320 --> 00:03:15,400 es como una matriz llamada números. 78 00:03:15,400 --> 00:03:18,810 Y entonces yo estoy asumiendo número, singular, va a ser una variable. 79 00:03:18,810 --> 00:03:22,940 >> ¿Y qué PHP va a hacer por mí, ya que iterar sobre este bucle es, en cada iteración, 80 00:03:22,940 --> 00:03:28,450 que va actualizar el número variable de ser el elemento i-ésimo en los números, en plural. 81 00:03:28,450 --> 00:03:30,060 Por lo que sólo se encarga de todo eso para mí. 82 00:03:30,060 --> 00:03:32,750 No hay corchetes, sin signo de dólar, no hay punto y coma. 83 00:03:32,750 --> 00:03:34,117 Es sólo un poco más simple. 84 00:03:34,117 --> 00:03:35,950 Bueno, si quieres una matriz, resulta que 85 00:03:35,950 --> 00:03:38,908 puede hacer algo muy similar a C. La sintaxis es un poco diferente. 86 00:03:38,908 --> 00:03:41,000 Pero aquí está una serie llamada dólar firmó números. 87 00:03:41,000 --> 00:03:44,261 Y uso, en PHP, cuadrado soportes, resulta. 88 00:03:44,261 --> 00:03:47,260 Y vamos a ver a estos de nuevo en JavaScript-- otro idioma. 89 00:03:47,260 --> 00:03:49,968 Acabo de utilizar la notación de corchetes tener una lista separada por comas 90 00:03:49,968 --> 00:03:51,530 de enteros, en este caso. 91 00:03:51,530 --> 00:03:53,010 Pero eso me da una matriz. 92 00:03:53,010 --> 00:03:56,270 >> Pero aún más poderosa en PHP, también tenemos lo que son en general 93 00:03:56,270 --> 00:03:57,640 llamado matrices asociativas. 94 00:03:57,640 --> 00:03:59,540 Y un montón de idiomas tener estos también. 95 00:03:59,540 --> 00:04:03,810 Lo que pasa con las matrices C es que los índices 96 00:04:03,810 --> 00:04:06,940 para una matriz, lo que utilizar entre corchetes a través del cual 97 00:04:06,940 --> 00:04:08,600 acceso elementos, debe ser qué? 98 00:04:08,600 --> 00:04:10,620 >> AUDIENCIA: [inaudible] 99 00:04:10,620 --> 00:04:14,220 >> ALTAVOZ 1: Tienen que ser números o enteros, concretamente desde cero en adelante. 100 00:04:14,220 --> 00:04:17,140 Pues bien, en PHP, y, resulta fuera, en otros idiomas, 101 00:04:17,140 --> 00:04:20,820 usted puede comenzar a tener índices que no son numéricos. 102 00:04:20,820 --> 00:04:23,880 Pero en realidad son palabras o frases, por lo que en lugar de 103 00:04:23,880 --> 00:04:27,070 trate de recordar que algo está, o almacenado en una variable de i, 104 00:04:27,070 --> 00:04:31,720 en realidad se puede usar una palabra y decir que-- se puede decir una palabra como esta. 105 00:04:31,720 --> 00:04:34,730 >> Así que la cita es el signo de dólar nombre de una variable aquí. 106 00:04:34,730 --> 00:04:39,360 Esta es la sintaxis un tanto cobarde esa es la asociación de dos valores clave 107 00:04:39,360 --> 00:04:41,250 pares para esta variable. 108 00:04:41,250 --> 00:04:45,490 En concreto, esto me está dando una matriz que es de longitud 2. 109 00:04:45,490 --> 00:04:47,660 Sin embargo, los índices no son 0 y 1. 110 00:04:47,660 --> 00:04:51,250 Los índices están entre comillas símbolo y cotización fin de la cita. 111 00:04:51,250 --> 00:04:55,990 Y los valores de dichos índices, respectivamente, es FB para Facebook 112 00:04:55,990 --> 00:05:00,360 y $ 79.53, la última vez facturado un precio por ello. 113 00:05:00,360 --> 00:05:01,210 >> ¿Que significa eso? 114 00:05:01,210 --> 00:05:04,136 Bueno, significa que en lugar de escribir código 115 00:05:04,136 --> 00:05:09,612 como éste, donde solía hacer algo como dólar sign-- o más bien, en C 116 00:05:09,612 --> 00:05:11,070 Ni siquiera tendría un signo de dólar. 117 00:05:11,070 --> 00:05:13,490 Me gustaría hacer algo como cotizaciones y después 118 00:05:13,490 --> 00:05:18,410 Yo haría soporte de i para conseguir en algún arbitrariamente numéricamente valor indexado. 119 00:05:18,410 --> 00:05:21,430 A partir de hoy en PHP, si que desee obtener en algún valor, 120 00:05:21,430 --> 00:05:24,742 tenemos suerte de tener más expresividad semántica. 121 00:05:24,742 --> 00:05:27,450 Sólo una forma elegante de decir que podemos simplemente llamar a las cosas como son. 122 00:05:27,450 --> 00:05:29,800 >> Y si usted desea conseguir algo símbolo, 123 00:05:29,800 --> 00:05:32,180 ahora que, literalmente, hacer citar símbolo fin de la cita 124 00:05:32,180 --> 00:05:34,910 entre corchetes en lugar de un simple número. 125 00:05:34,910 --> 00:05:36,450 Así que es una buena comodidad. 126 00:05:36,450 --> 00:05:38,140 Y eso es una especie de todo por ahora. 127 00:05:38,140 --> 00:05:40,240 Hay racimos de otras características en PHP. 128 00:05:40,240 --> 00:05:43,180 Y, en efecto, viene con PHP el fregadero de la cocina proverbial. 129 00:05:43,180 --> 00:05:48,640 Decenas, cientos de funciones vienen con PHP-- tantos más que vino con C. 130 00:05:48,640 --> 00:05:51,360 >> Y eso no es la intención de abrumar sino más bien ayudar a 131 00:05:51,360 --> 00:05:53,900 te das cuenta de que hay ya tener que escribir código 132 00:05:53,900 --> 00:05:55,590 que es una especie de aquí abajo conceptualmente. 133 00:05:55,590 --> 00:05:58,465 Ahora sólo podemos empezar a tomar ventaja características de mucho más avanzadas 134 00:05:58,465 --> 00:05:59,920 que lenguajes como PHP tienen. 135 00:05:59,920 --> 00:06:02,630 Así que no tenemos que preocuparnos por mover las cosas en la memoria. 136 00:06:02,630 --> 00:06:05,338 Nosotros no tenemos que preocuparnos por malloc y todas ellas nivel inferior, 137 00:06:05,338 --> 00:06:09,390 detalles de gran alcance que se le Wrestle con, si no luchar con, pset5, 138 00:06:09,390 --> 00:06:13,380 pero usted puede comenzar a pronto dar por sentado. 139 00:06:13,380 --> 00:06:17,770 >> De hecho, vamos a escribir un super sencillo programa en PHP, como sigue. 140 00:06:17,770 --> 00:06:21,550 Voy a ir a la cabeza en CS50 IDE aquí, y lo que voy a hacer 141 00:06:21,550 --> 00:06:29,370 es crear un nuevo archivo, que de manera muy sencilla va a ser llamado hola PHP punto. 142 00:06:29,370 --> 00:06:31,860 Así que en lugar de punto c, es va a ser llamado punto PHP. 143 00:06:31,860 --> 00:06:34,260 Y luego, en este archivo, Puedo empezar a escribir. 144 00:06:34,260 --> 00:06:36,960 Pero resulta que el una cosa que tengo que saber 145 00:06:36,960 --> 00:06:41,470 es que cualquier archivo PHP en general, necesita para comenzar con una sintaxis especial. 146 00:06:41,470 --> 00:06:44,570 Similares en espíritu a HTML, pero de nuevo, PHP es un lenguaje de programación, no 147 00:06:44,570 --> 00:06:45,590 un lenguaje de marcas. 148 00:06:45,590 --> 00:06:48,700 >> Así que cada archivo, y es una especie de aspecto estúpido lo admito. 149 00:06:48,700 --> 00:06:50,480 Soporte Abrir, signo de interrogación, PHP. 150 00:06:50,480 --> 00:06:53,060 Y eso es sólo el el camino de la lengua de decir, 151 00:06:53,060 --> 00:06:58,400 bueno, equipo aquí viene algo de código escrito en un lenguaje llamado PHP. 152 00:06:58,400 --> 00:07:01,900 Y luego al final de su archivo, haces tipo de clase de lo contrario. 153 00:07:01,900 --> 00:07:04,860 Usted no volver a escribir PHP, sólo hacer el signo de interrogación, soporte angular. 154 00:07:04,860 --> 00:07:08,500 Y entonces cualquier cosa que pongas en el interior de estas dos etiquetas, por así decirlo, 155 00:07:08,500 --> 00:07:11,490 será, o debería ser, el código PHP. 156 00:07:11,490 --> 00:07:13,180 >> Así que vamos a hacer algo super simple. 157 00:07:13,180 --> 00:07:19,370 Voy a seguir adelante y hacerlo de impresión def, hola mundo, barra invertida n, guardar. 158 00:07:19,370 --> 00:07:27,310 Y ahora en mi sistema, voy a hago, hago hello-- no, yo voy a hacer, 159 00:07:27,310 --> 00:07:28,726 punto slash hola. 160 00:07:28,726 --> 00:07:31,250 No, slash dot, hm. 161 00:07:31,250 --> 00:07:32,990 Así que algo es diferente. 162 00:07:32,990 --> 00:07:36,920 Y de hecho, esta es una diferencia clave entre PHP y lenguajes como C. C 163 00:07:36,920 --> 00:07:38,730 era una lengua llamada compilado. 164 00:07:38,730 --> 00:07:40,929 ¿Qué significó para C para compilar? 165 00:07:40,929 --> 00:07:41,970 ¿Cuál fue la consecuencia? 166 00:07:41,970 --> 00:07:42,898 Sí. 167 00:07:42,898 --> 00:07:45,220 >> AUDIENCIA: lo escribió en código máquina por lo que podría ser ejecutado por el ordenador. 168 00:07:45,220 --> 00:07:46,011 >> ALTAVOZ 1: Exactamente. 169 00:07:46,011 --> 00:07:49,075 Tenemos que convertir primero en llamado código máquina, ceros y unos, 170 00:07:49,075 --> 00:07:51,950 antes de que en realidad será ejecutable y entendido por el ordenador. 171 00:07:51,950 --> 00:07:52,840 Por Intel en su interior. 172 00:07:52,840 --> 00:07:54,530 Por la CPU en el interior de la computadora. 173 00:07:54,530 --> 00:07:58,170 PHP, por el contrario, es lo que se llama un lenguaje interpretado, lo que 174 00:07:58,170 --> 00:08:02,230 significa que usted no compilarlo en ceros y unos, código de máquina, 175 00:08:02,230 --> 00:08:04,360 que en lugar de salir como código fuente. 176 00:08:04,360 --> 00:08:08,130 Y en lugar de pasar como entrada a un programa, un intérprete 177 00:08:08,130 --> 00:08:11,960 que alguien más escribió Hace años que lo entiende 178 00:08:11,960 --> 00:08:14,310 línea por línea, carácter a carácter. 179 00:08:14,310 --> 00:08:16,120 Así, en otras palabras, los seres humanos por ahí escribieron 180 00:08:16,120 --> 00:08:19,670 un programa que se verá en su código línea por línea, 181 00:08:19,670 --> 00:08:21,680 y averiguar lo que el equipo debe hacer, 182 00:08:21,680 --> 00:08:25,960 sin convertirlo directamente a ceros y unos. 183 00:08:25,960 --> 00:08:28,370 >> Así que si ve un bucle for, este así llamado intérprete 184 00:08:28,370 --> 00:08:30,630 va a ser así, está bien, lo que debería hacer algo una y otra vez y otra vez. 185 00:08:30,630 --> 00:08:31,150 ¿Qué debería hacer? 186 00:08:31,150 --> 00:08:32,159 Deja que te mire la siguiente línea. 187 00:08:32,159 --> 00:08:33,367 Deja que te mire la siguiente línea. 188 00:08:33,367 --> 00:08:35,350 Y realmente lo interpreta línea por línea. 189 00:08:35,350 --> 00:08:37,220 Así que para ejecutarlo, yo no uso maquillaje. 190 00:08:37,220 --> 00:08:39,409 No consumo barra de puntos en este caso. 191 00:08:39,409 --> 00:08:43,530 Yo en cambio hago PHP, que es el nombre de un programa, también denominado 192 00:08:43,530 --> 00:08:46,562 El intérprete, que es preinstalado en CS50 IDE, 193 00:08:46,562 --> 00:08:48,770 y ahora tengo que pasar una argumento de la línea de comandos, que 194 00:08:48,770 --> 00:08:52,290 es simplemente el nombre de la archivo que quiero interpretar. 195 00:08:52,290 --> 00:08:54,740 O más informal, que quiero correr. 196 00:08:54,740 --> 00:08:57,000 Y si pulsa enter, ahí lo tenemos. 197 00:08:57,000 --> 00:08:57,825 Hola mundo. 198 00:08:57,825 --> 00:08:59,950 Ahora resulta que yo def impresión utilizado deliberadamente 199 00:08:59,950 --> 00:09:01,600 para tender un puente de C a PHP. 200 00:09:01,600 --> 00:09:05,150 La mayoría de los programadores de PHP, como se verá, ni siquiera se molestan usando def impresión. 201 00:09:05,150 --> 00:09:08,290 Ellos sólo tiene que utilizar una función llamada impresión, que C no tenía. 202 00:09:08,290 --> 00:09:11,390 Y lo que si me vuelve a ejecutar ahora, en realidad se comporta funcionalmente el mismo. 203 00:09:11,390 --> 00:09:13,730 No puedo usar el porcentaje s y i ciento y así sucesivamente, 204 00:09:13,730 --> 00:09:16,250 pero hay otras maneras en PHP de hacer eso. 205 00:09:16,250 --> 00:09:18,100 Pero esto es sólo para decir que sintácticamente, 206 00:09:18,100 --> 00:09:21,850 aparte de algunas cosas raras hasta superior, y algunos caracteres extraños abajo 207 00:09:21,850 --> 00:09:25,960 en la parte inferior, los conceptos de ahora programación en este otro idioma 208 00:09:25,960 --> 00:09:27,860 van a ser exactamente lo mismo. 209 00:09:27,860 --> 00:09:30,120 >> De hecho, vamos a hacer otro ejemplo. 210 00:09:30,120 --> 00:09:32,520 Así que voy a seguir adelante y cerrar el archivo. 211 00:09:32,520 --> 00:09:37,740 Déjame crear otro que Voy a llamar a las condiciones 1 punto PHP. 212 00:09:37,740 --> 00:09:40,770 Así que no cero, porque lo que hice era yo miré hacia atrás hace unas semanas, 213 00:09:40,770 --> 00:09:43,490 teníamos un archivo llamado condiciones 1 punto C. Y lo 214 00:09:43,490 --> 00:09:47,590 Yo me convertí en mi cabeza, y aquí en el papel, 215 00:09:47,590 --> 00:09:51,290 y pronto en el curso de sitio web, línea por línea en PHP. 216 00:09:51,290 --> 00:09:55,520 >> Así que en la versión C, hicimos algo como cadena s consigue llegar cadena. 217 00:09:55,520 --> 00:09:58,200 Así que es un poco diferente hacerlo en PHP. 218 00:09:58,200 --> 00:10:01,390 En su lugar, yo sólo voy hacer, o mejor dicho, 219 00:10:01,390 --> 00:10:05,870 podría haber hecho int n se hace llegar int, en este ejemplo anterior. 220 00:10:05,870 --> 00:10:12,600 Así que en lugar de eso, yo voy a hacer n Obtiene una línea de leer, me gustaría un entero, 221 00:10:12,600 --> 00:10:13,670 Por favor. 222 00:10:13,670 --> 00:10:15,110 Así que esto es sólo mi pronta. 223 00:10:15,110 --> 00:10:17,260 Y así resulta que y Yo sólo lo saben 224 00:10:17,260 --> 00:10:20,480 de haber leído o visto la función antes, leer las líneas de la función en PHP 225 00:10:20,480 --> 00:10:23,810 toma un argumento que es un símbolo para el ser humano, y su propósito en la vida 226 00:10:23,810 --> 00:10:26,220 es leer una línea de texto que él o ella en tipos. 227 00:10:26,220 --> 00:10:29,160 Y luego se almacena que texto en la variable n. 228 00:10:29,160 --> 00:10:32,200 >> Y ahora yo podría querer hacer algo como lo hice hace unas semanas, en la semana como 229 00:10:32,200 --> 00:10:33,290 uno de la clase. 230 00:10:33,290 --> 00:10:36,600 Si n es mayor que cero, entonces, voy 231 00:10:36,600 --> 00:10:42,930 pedir prestado que la sintaxis que acabamos de ver, def impresión, que eligió un número positivo, 232 00:10:42,930 --> 00:10:44,360 n barra invertida. 233 00:10:44,360 --> 00:10:49,990 Porque si n es igual es igual a cero, estoy va a seguir adelante y decir: def impresión, 234 00:10:49,990 --> 00:10:54,090 que eligió cero barra invertida n. 235 00:10:54,090 --> 00:10:56,830 Si no, el caso aquí debe por supuesto, def impresión, 236 00:10:56,830 --> 00:10:58,620 que eligió un número negativo. 237 00:10:58,620 --> 00:11:00,970 >> Y sin duda podemos aplicar la lógica de esta cosa 238 00:11:00,970 --> 00:11:03,390 en un montón de diferentes maneras, pero el punto aquí 239 00:11:03,390 --> 00:11:07,210 es que sintácticamente, apenas nada es nuevo. 240 00:11:07,210 --> 00:11:09,830 Es sólo el signo de dólar y una nueva función y la línea de leer. 241 00:11:09,830 --> 00:11:12,090 Pero fundamentalmente, ¿qué hay de nuevo ahora es que estoy interpretando esto. 242 00:11:12,090 --> 00:11:13,910 Estoy pasándolo como entrada a otro programa. 243 00:11:13,910 --> 00:11:16,620 Así que si quiero ejecutar esto, si No hice ningún error, 244 00:11:16,620 --> 00:11:20,140 Voy a correr PHP, de condiciones 1 punto PHP, ENTER, 245 00:11:20,140 --> 00:11:23,440 Voy a escribir el número 50, y supongamos que por ahora funciona. 246 00:11:23,440 --> 00:11:25,940 Debido a que la lógica es la misma materia que la semana uno. 247 00:11:25,940 --> 00:11:28,020 >> Muy bien, así que es bastante decepcionante, ¿verdad? 248 00:11:28,020 --> 00:11:30,240 Podríamos hacer esto en cualquier número de idiomas. 249 00:11:30,240 --> 00:11:33,200 Vamos a hacer algo mucho más poderoso. 250 00:11:33,200 --> 00:11:35,610 Vamos problema acabado establece cinco. 251 00:11:35,610 --> 00:11:37,370 Así que voy a seguir adelante y hacer esto. 252 00:11:37,370 --> 00:11:42,920 Voy a crear un archivo llamado Diccionario de puntos PHP, 253 00:11:42,920 --> 00:11:45,424 e inclinada como podría ser que luchar por un montón de notas, 254 00:11:45,424 --> 00:11:47,340 las notas sólo ayudará si se le permite 255 00:11:47,340 --> 00:11:48,923 para poner en práctica los problemas establecen cinco en PHP. 256 00:11:48,923 --> 00:11:52,706 Pero vamos a ver lo rápido que ahora puede aplicar el mismo conjunto de problemas. 257 00:11:52,706 --> 00:11:56,830 >> Así que en punto PHP diccionario, voy asumir que ya existe 258 00:11:56,830 --> 00:11:58,514 un archivo en el mundo llamado abecedario. 259 00:11:58,514 --> 00:12:01,430 Y de hecho, lo hice por adelantado, y no vamos a caminar a través de esta línea 260 00:12:01,430 --> 00:12:03,596 por línea, pero si usted es curioso que desee tarde y realmente 261 00:12:03,596 --> 00:12:06,250 para envolver su mente alrededor de la diferencias entre c y PHP, 262 00:12:06,250 --> 00:12:09,030 literalmente comparar este archivo, abecedario, a partir del código fuente de hoy 263 00:12:09,030 --> 00:12:11,190 que publicaremos más adelante hoy, en contra de p conjunto 264 00:12:11,190 --> 00:12:15,309 de cinco ortografía punto c que le demos, y es casi la misma línea por línea. 265 00:12:15,309 --> 00:12:16,600 Hay algunos más signos de dólar. 266 00:12:16,600 --> 00:12:18,330 Un par de funciones son un poco diferente. 267 00:12:18,330 --> 00:12:20,038 Pero es una buena manera del tipo de ver cómo 268 00:12:20,038 --> 00:12:22,740 traducir un idioma a otro. 269 00:12:22,740 --> 00:12:24,812 Y es la línea casi idéntica para la línea. 270 00:12:24,812 --> 00:12:27,770 Pero yo voy a asumir que esa existe, y lo que voy a hacer aquí 271 00:12:27,770 --> 00:12:31,310 es tratar de volar tu mente por reimplementar 272 00:12:31,310 --> 00:12:36,210 la totalidad del problema fijó cinco manera más rápido que usted ha estado haciendo hasta ahora. 273 00:12:36,210 --> 00:12:39,330 Así, por ejemplo, voy a primero declarar una variable global llamada tamaño, 274 00:12:39,330 --> 00:12:40,444 y déjela a un igual a cero. 275 00:12:40,444 --> 00:12:41,610 Ahora eso no es mucho ahorro. 276 00:12:41,610 --> 00:12:44,170 Las probabilidades son que implementan tamaño más o menos la misma, 277 00:12:44,170 --> 00:12:48,440 o pista pista, lo hará esta noche o mañana, simplemente utilizando una variable global llamada 278 00:12:48,440 --> 00:12:49,900 tamaño, y se establece igual a cero. 279 00:12:49,900 --> 00:12:52,660 Eso no es un particular alerón increíble. 280 00:12:52,660 --> 00:12:57,180 >> Así que ¿cuáles fueron sus estructuras de datos de elección, aquellos de ustedes que han buceado en 281 00:12:57,180 --> 00:13:02,170 y leer las especificaciones, las estructuras de datos lo han la mayoría de ustedes han estado usando? 282 00:13:02,170 --> 00:13:06,840 Una tabla hash o tratan, tal vez algunas variantes de los mismos. 283 00:13:06,840 --> 00:13:10,490 Así que la implementación de una tabla hash, al menos, es una especie de una gran cantidad de líneas de código, 284 00:13:10,490 --> 00:13:10,990 ¿derecho? 285 00:13:10,990 --> 00:13:13,700 Y no todos ellos podrían ser funcional a estas alturas de la semana, 286 00:13:13,700 --> 00:13:14,366 pero eso está bien. 287 00:13:14,366 --> 00:13:19,300 Debido a que en PHP, si quieren una tabla hash, hecho. 288 00:13:19,300 --> 00:13:20,260 ¿Correcto? 289 00:13:20,260 --> 00:13:22,610 Así que esa variable que tengo simplemente declarado es, obviamente, 290 00:13:22,610 --> 00:13:26,180 llamada mesa de signo de dólar, por la introducción antes. 291 00:13:26,180 --> 00:13:28,902 >> Pero realmente sólo quiero, al el final de la día, una matriz. 292 00:13:28,902 --> 00:13:31,610 Pero no es un indexado numéricamente matriz, porque eso es como la segunda semana 293 00:13:31,610 --> 00:13:33,440 cosas, cuando hablamos acerca de las matrices. 294 00:13:33,440 --> 00:13:34,850 Quiero una tabla hash. 295 00:13:34,850 --> 00:13:38,070 Pero una tabla hash es realmente sólo una forma concreta de decir, 296 00:13:38,070 --> 00:13:40,190 Quieres una matriz asociativa. 297 00:13:40,190 --> 00:13:43,270 ¿Quieres ser capaz de claves asociados con valores. 298 00:13:43,270 --> 00:13:44,200 Teclas con valores. 299 00:13:44,200 --> 00:13:45,640 ¿Qué es un diccionario, en realidad? 300 00:13:45,640 --> 00:13:47,080 Bueno, es todo un manojo de llaves. 301 00:13:47,080 --> 00:13:50,320 Palabras como manzana, pera y plátano, y todas estas palabras en inglés 302 00:13:50,320 --> 00:13:51,490 que le entregamos. 303 00:13:51,490 --> 00:13:54,820 >> Y los valores que son efectivamente insertando en su diccionario 304 00:13:54,820 --> 00:13:57,790 son verdaderas, o la ausencia, falsa. 305 00:13:57,790 --> 00:14:00,540 En otras palabras, usted está insertando un montón de pares de valores clave, 306 00:14:00,540 --> 00:14:03,720 manzana, la verdadera, la pera, el verdadero, el plátano, la verdadera. 307 00:14:03,720 --> 00:14:07,446 Así que al recuperar o mira hasta que los datos en su tabla hash 308 00:14:07,446 --> 00:14:10,070 con su función de control, eres ya sea volver una respuesta, 309 00:14:10,070 --> 00:14:13,260 sí, me encontré en mi complejo hash de mesa, o no, no está ahí, 310 00:14:13,260 --> 00:14:14,540 así que regrese falso. 311 00:14:14,540 --> 00:14:19,440 >> Así que para hacer eso, todo lo que necesito es que los datos estructura como que propuso antes. 312 00:14:19,440 --> 00:14:22,050 Sólo tengo que ser capaz de asociar palabras 313 00:14:22,050 --> 00:14:25,570 como, entre comillas, símbolo, con un valor similar, cierto. 314 00:14:25,570 --> 00:14:27,090 Así que ahí está mi tabla hash. 315 00:14:27,090 --> 00:14:28,180 Vamos en realidad lo utilizan. 316 00:14:28,180 --> 00:14:30,310 Así que hay un par de funciones Tengo que poner en práctica. 317 00:14:30,310 --> 00:14:33,300 Voy a seguir adelante y morder fuera de un tamaño función llamada. 318 00:14:33,300 --> 00:14:34,390 Lleva sin argumentos. 319 00:14:34,390 --> 00:14:36,660 Yo no tengo que molestar con la palabra, nula en PHP. 320 00:14:36,660 --> 00:14:38,770 Simplemente voy a tamaño volver. 321 00:14:38,770 --> 00:14:41,287 >> Y como un aparte, PHP tiene este detalle minorly molesto, 322 00:14:41,287 --> 00:14:44,620 donde si algo es global, hay que decirle a la función en la que usted está utilizando 323 00:14:44,620 --> 00:14:46,220 que, bueno, esto es una variable global. 324 00:14:46,220 --> 00:14:49,330 Por lo tanto, menor la estupidez, pero hay que hacerlo, no obstante. 325 00:14:49,330 --> 00:14:50,920 >> ¿Qué pasa con la carga? 326 00:14:50,920 --> 00:14:52,990 Voy a poner en práctica una carga función llamada 327 00:14:52,990 --> 00:14:56,790 que lleva en el nombre de un diccionario, al igual que en el problema de establecer cinco. 328 00:14:56,790 --> 00:14:59,554 Y antes de continuar, cuenta de que yo no tengo 329 00:14:59,554 --> 00:15:00,970 estado escribiendo bastante las mismas cosas. 330 00:15:00,970 --> 00:15:06,060 ¿Qué es obviamente diferente en PHP sobre cómo se declara una función frente a C? 331 00:15:06,060 --> 00:15:06,616 Sí. 332 00:15:06,616 --> 00:15:07,490 AUDIENCIA: [inaudible] 333 00:15:07,490 --> 00:15:08,573 ALTAVOZ 1: Ningún tipo de devolución. 334 00:15:08,573 --> 00:15:12,350 Y, de hecho, ese es el caso, PHP en la medida en que está vagamente escrito, 335 00:15:12,350 --> 00:15:14,190 También es un poco descuidado en ese sentido. 336 00:15:14,190 --> 00:15:17,680 No se especifica como el programador lo que devuelve esta función. 337 00:15:17,680 --> 00:15:20,490 Usted tendría que mirar realmente en el código para darse cuenta de eso. 338 00:15:20,490 --> 00:15:22,670 O leer los comentarios o la documentación. 339 00:15:22,670 --> 00:15:24,870 Así ventajas y desventajas de este tipo de decisiones. 340 00:15:24,870 --> 00:15:26,750 Pero yo tengo que decir la palabra clave, función. 341 00:15:26,750 --> 00:15:28,360 Y cuando aprendemos JavaScript en un par de semanas 342 00:15:28,360 --> 00:15:31,026 vamos a ver lo mismo de nuevo, pero es la misma idea. 343 00:15:31,026 --> 00:15:34,220 El nombre de la función, su argumento o argumentos o falta de ella, y ahora 344 00:15:34,220 --> 00:15:35,630 aquí es la implementación. 345 00:15:35,630 --> 00:15:38,860 >> Así que me voy a cortar algunas esquinas solo ser dramático para un momento. 346 00:15:38,860 --> 00:15:40,485 Pero yo voy a seguir adelante y decir esto. 347 00:15:40,485 --> 00:15:44,890 Así es como me puedo cargar un archivo en una matriz. 348 00:15:44,890 --> 00:15:47,580 Hay una función en PHP llamado archivo. 349 00:15:47,580 --> 00:15:49,300 Se le pasa el nombre de un archivo. 350 00:15:49,300 --> 00:15:53,950 Se le da vuelta una matriz, en el interior de los cuales es cada línea del archivo. 351 00:15:53,950 --> 00:15:56,480 A partir de cero, uno, en un máximo a n menos 1 líneas. 352 00:15:56,480 --> 00:15:57,210 Eso es todo, ¿verdad? 353 00:15:57,210 --> 00:15:57,990 No hay f lectura. 354 00:15:57,990 --> 00:15:58,826 No hay f get s. 355 00:15:58,826 --> 00:15:59,700 No hay ciento s. 356 00:15:59,700 --> 00:16:00,420 No hay dolores de cabeza. 357 00:16:00,420 --> 00:16:01,220 No hay feof. 358 00:16:01,220 --> 00:16:03,950 Todas esas cosas con las que usted ha estado luchando tal vez, 359 00:16:03,950 --> 00:16:06,550 con p fijó cuatro y cinco, se va. 360 00:16:06,550 --> 00:16:09,450 >> Así que acabo de leer esas líneas en el archivo, y luego ¿sabes qué? 361 00:16:09,450 --> 00:16:15,510 Si quiero para repetir esas palabras, Que puedo hacer, para cada uno de las líneas como la línea. 362 00:16:15,510 --> 00:16:19,992 Recuerda que esto era una especie de inteligente manera de iterar sobre una matriz, índice 363 00:16:19,992 --> 00:16:25,090 por el índice, y en cada llamada iteración la línea actual, la línea de signo de dólar. 364 00:16:25,090 --> 00:16:31,560 Y aquí me voy a ir a dicen mesa, soporte, línea, consigue cierto. 365 00:16:31,560 --> 00:16:35,880 >> En otras palabras, así es como yo insertar en mi tabla hash en PHP. 366 00:16:35,880 --> 00:16:38,740 Digo mesa signo del dólar, lo que es mi matriz asociativa que era 367 00:16:38,740 --> 00:16:40,690 vacío por la línea de código por encima. 368 00:16:40,690 --> 00:16:42,790 Entonces índice en ella no, utilizando un número, 369 00:16:42,790 --> 00:16:45,300 pero, literalmente, utilizando el palabra clave que me importa. 370 00:16:45,300 --> 00:16:47,730 Tal vez sea manzana o pera o plátano o lo que sea, 371 00:16:47,730 --> 00:16:51,645 sino específicamente estoy indexación en ella me gusta Me propuse antes. 372 00:16:51,645 --> 00:16:53,770 Tomo el nombre de mi matriz asociativa, y luego me 373 00:16:53,770 --> 00:16:56,450 usar fin de la cita cita en el corchetes con una cadena, 374 00:16:56,450 --> 00:16:58,490 en vez de un número real. 375 00:16:58,490 --> 00:17:00,250 >> Y así, eso es todo. 376 00:17:00,250 --> 00:17:01,720 La función de carga está hecho. 377 00:17:01,720 --> 00:17:05,119 Una vez que repite en bucle, he puesto todo en la tabla hash. 378 00:17:05,119 --> 00:17:07,810 Ahora pequeño descargo de responsabilidad, hay una par de cosas que necesito para arreglar. 379 00:17:07,810 --> 00:17:10,030 Y la versión voy a publicar en línea tendrá todos los matices, 380 00:17:10,030 --> 00:17:12,670 pero es más que nada va a ser un poco comprobación de errores y algunos ajustes menores. 381 00:17:12,670 --> 00:17:14,044 Pero eso es de hecho la esencia de la misma. 382 00:17:14,044 --> 00:17:16,750 Si yo ahora quiero poner en práctica la función llamada 383 00:17:16,750 --> 00:17:19,869 comprobar, que espera un palabra como su argumento, 384 00:17:19,869 --> 00:17:22,099 ¿Cómo podría yo ir haciendo eso? 385 00:17:22,099 --> 00:17:30,020 Bueno, estoy simplemente va a decir, si interior de mi mesa, en lugar de palabras, 386 00:17:30,020 --> 00:17:30,652 Si se ha establecido. 387 00:17:30,652 --> 00:17:32,360 Así que si hay es-- En realidad, ¿sabes qué? 388 00:17:32,360 --> 00:17:34,830 Voy a hacerlo en un poco de pseudocódigo. 389 00:17:34,830 --> 00:17:36,020 Pero la idea es la misma. 390 00:17:36,020 --> 00:17:41,640 Si eso es igual a true, devolverá true. 391 00:17:41,640 --> 00:17:43,890 Correcto. 392 00:17:43,890 --> 00:17:46,851 Else-- puedes tipo de ver dónde esto se going-- volver falsa. 393 00:17:46,851 --> 00:17:47,350 Hecho. 394 00:17:47,350 --> 00:17:49,640 Comprobar que se hace. 395 00:17:49,640 --> 00:17:50,940 >> Bastante bonito, ¿verdad? 396 00:17:50,940 --> 00:17:52,560 Y así, lo que es esto realmente ir a parar? 397 00:17:52,560 --> 00:17:53,680 Y esto también, corté algunos rincones. 398 00:17:53,680 --> 00:17:56,020 Busque en la versión online para todos los matices leves. 399 00:17:56,020 --> 00:17:57,103 Pero esa es la esencia de la misma. 400 00:17:57,103 --> 00:17:59,080 Índice en su matriz asociativa, alias 401 00:17:59,080 --> 00:18:02,910 Tabla hash, ver si hay un valor allí, si se establece en true, y si es así, 402 00:18:02,910 --> 00:18:03,930 return true. 403 00:18:03,930 --> 00:18:05,819 Para ello hemos whittled abajo toda la complejidad. 404 00:18:05,819 --> 00:18:07,110 Así especie de alucinante, ¿verdad? 405 00:18:07,110 --> 00:18:09,680 No me molestaré terminar con descarga, porque en fact-- oh, ¿sabes qué? 406 00:18:09,680 --> 00:18:11,620 Sí, vamos a terminar con descarga. 407 00:18:11,620 --> 00:18:18,940 >> Descargue en una tabla hash puede tener un aspecto al igual que la función de descarga, volver. 408 00:18:18,940 --> 00:18:19,930 OK, así que es de descarga. 409 00:18:19,930 --> 00:18:21,350 Porque no hay nada para descargar, ¿verdad? 410 00:18:21,350 --> 00:18:22,170 No hay malloc. 411 00:18:22,170 --> 00:18:24,280 Yo no pedí explícitamente la sistema operativo para cualquier cosa. 412 00:18:24,280 --> 00:18:25,571 Acabo de empezar el uso de variables. 413 00:18:25,571 --> 00:18:30,510 Y así, esto también es una manifestación de características de lenguajes de alto nivel. 414 00:18:30,510 --> 00:18:32,940 Así que de nuevo, la mayor parte de este término hemos estado tratando aquí 415 00:18:32,940 --> 00:18:34,280 con C. súper bajo nivel. 416 00:18:34,280 --> 00:18:35,980 Usted puede ver la memoria del ordenador. 417 00:18:35,980 --> 00:18:38,440 Puede tocar cualquier cosa que quiere en la memoria RAM de su ordenador, 418 00:18:38,440 --> 00:18:39,440 Para bien o para mal. 419 00:18:39,440 --> 00:18:41,760 >> Hasta aquí, vamos a renunciar a ese poder. 420 00:18:41,760 --> 00:18:44,730 Pero, Dios mío, mira cómo mucho menos código que escribí. 421 00:18:44,730 --> 00:18:47,660 De hecho si no estuviera hablando y hablando sobre mi escritura, 422 00:18:47,660 --> 00:18:50,190 nos habrían hecho con este ejemplo hace cinco minutos. 423 00:18:50,190 --> 00:18:52,150 Entonces, ¿cuál es el precio que se paga? 424 00:18:52,150 --> 00:18:54,100 Bueno, vamos a echar un vistazo. 425 00:18:54,100 --> 00:18:55,340 Echemos un vistazo. 426 00:18:55,340 --> 00:18:59,340 Voy a seguir adelante y ejecutar CS50. 427 00:18:59,340 --> 00:19:02,160 Déjame primero ir a ejemplos de hoy donde 428 00:19:02,160 --> 00:19:03,970 Tengo el directorio de textos como antes. 429 00:19:03,970 --> 00:19:08,520 Voy a correr la solución que viene con un problema de cinco set llamado 430 00:19:08,520 --> 00:19:11,190 corrector ortográfico, que está en la cuenta del CS50. 431 00:19:11,190 --> 00:19:14,040 >> Y yo voy a correr en algo grande como la Biblia King James, 432 00:19:14,040 --> 00:19:16,547 sólo para que realmente nos ponemos el soluciones de personal a la prueba. 433 00:19:16,547 --> 00:19:19,130 Ahora a veces el Internet es una poco más lento, un poco más rápido, 434 00:19:19,130 --> 00:19:20,338 podría tomar un tiempo para desplazarse. 435 00:19:20,338 --> 00:19:23,730 Pero tuvieron que pasar un total de .56 segundos para revisar la ortografía de la King James 436 00:19:23,730 --> 00:19:25,150 Biblia usando la solución personal. 437 00:19:25,150 --> 00:19:25,620 Así que muy bien. 438 00:19:25,620 --> 00:19:27,786 El tuyo puede ser mucho más lento, y eso es totalmente bien. 439 00:19:27,786 --> 00:19:30,090 Pero es correcto aquí. 440 00:19:30,090 --> 00:19:32,440 Así que esa es la solución personal. 441 00:19:32,440 --> 00:19:34,785 Si entro y limpiar la versión PHP. 442 00:19:34,785 --> 00:19:36,990 Y yo voy a hacer un poco como hornear espectáculo cosa. 443 00:19:36,990 --> 00:19:39,720 Vamos a tomar el código que escribí antes, por lo que es perfectamente correcto. 444 00:19:39,720 --> 00:19:42,678 Dado que el código que escribí no va para ser perfectamente correcta en este momento. 445 00:19:42,678 --> 00:19:47,310 Pero si se me acaba la versión de PHP, ¿qué tengo que renunciar a día de hoy? 446 00:19:47,310 --> 00:19:49,980 Me tomó cinco minutos para aplicar p fijó cinco, yo reclamo. 447 00:19:49,980 --> 00:19:51,770 ¿Qué precio he pagado? 448 00:19:51,770 --> 00:19:52,270 Sí. 449 00:19:52,270 --> 00:19:52,937 >> AUDIENCIA: velocidad. 450 00:19:52,937 --> 00:19:53,645 ALTAVOZ 1: velocidad. 451 00:19:53,645 --> 00:19:54,380 ¿Qué quieres decir? 452 00:19:54,380 --> 00:19:55,230 >> AUDIENCIA: Se va a tomar más tiempo. 453 00:19:55,230 --> 00:19:55,660 >> ALTAVOZ 1: De acuerdo. 454 00:19:55,660 --> 00:19:56,160 Vamos a ver. 455 00:19:56,160 --> 00:19:59,590 Se va a tomar más tiempo, no escribir, pero para ejecutarlo. 456 00:19:59,590 --> 00:20:00,090 Sí. 457 00:20:00,090 --> 00:20:00,960 Así que vamos a probar esto. 458 00:20:00,960 --> 00:20:05,720 Así que aquí voy a seguir adelante y hacer PHP de ortografía, y porque el archivo de 459 00:20:05,720 --> 00:20:06,360 llamada ortografía. 460 00:20:06,360 --> 00:20:07,580 Así que no estoy corriendo el diccionario, recuerdo, 461 00:20:07,580 --> 00:20:09,204 Estoy corriendo el programa llamado abecedario. 462 00:20:09,204 --> 00:20:12,450 Voy a pasar en el mismo archivo, el rey Jaime el quinto. 463 00:20:12,450 --> 00:20:14,377 Está volando. 464 00:20:14,377 --> 00:20:17,210 Esto podría ser sólo la velocidad de Internet, así que no leer demasiado en eso. 465 00:20:17,210 --> 00:20:21,680 Pero se siente ya seguro. 466 00:20:21,680 --> 00:20:23,280 1,26 segundos. 467 00:20:23,280 --> 00:20:25,150 >> Ahora que es todavía bastante maldita rápido, ¿verdad? 468 00:20:25,150 --> 00:20:28,140 Y la única razón por la que se sentía como más como tres, o cuatro, o cinco 469 00:20:28,140 --> 00:20:30,515 segundo, eso es sólo porque Internet estaba siendo lento. 470 00:20:30,515 --> 00:20:33,980 El tiempo en la computadora pasado fue 1,26 segundo, frente creo que 0,56. 471 00:20:33,980 --> 00:20:35,880 Así más de dos veces más lento. 472 00:20:35,880 --> 00:20:39,170 Ahora que es todavía bastante maldito rápido, pero es una manifestación 473 00:20:39,170 --> 00:20:40,860 de, en efecto, que el precio exacto. 474 00:20:40,860 --> 00:20:43,460 >> Debido a que estamos interpretando en el código línea por línea, 475 00:20:43,460 --> 00:20:46,740 y que el programa PHP está leyendo mi código de arriba a abajo, de izquierda a derecha, 476 00:20:46,740 --> 00:20:47,940 que tiene que ver más pensamiento. 477 00:20:47,940 --> 00:20:50,430 Tiene que tipo de convertir dentro de sí mismo 478 00:20:50,430 --> 00:20:53,464 a la máquina correspondiente código sobre la marcha, por así decirlo, 479 00:20:53,464 --> 00:20:55,380 a pesar de que la mecánica son un poco diferentes. 480 00:20:55,380 --> 00:20:59,430 En lugar de simplemente alimentar a la Intel CPU los ceros y unos primas 481 00:20:59,430 --> 00:21:00,930 que entiende de forma nativa. 482 00:21:00,930 --> 00:21:04,110 >> Así que absolutamente, sin duda, hemos pagado un precio. 483 00:21:04,110 --> 00:21:09,120 Y el código escrito en un lenguaje como PHP tiende a ser más lento. 484 00:21:09,120 --> 00:21:10,050 Pero, Dios mío. 485 00:21:10,050 --> 00:21:12,740 Así que ahora cuando me ola comprobar mi archivo, me paso un extra de 0,7 486 00:21:12,740 --> 00:21:17,280 más o menos 20 segundos vs horas para implementar un rápido corrector ortográfico, ¿verdad? 487 00:21:17,280 --> 00:21:18,397 Es una especie de una solución de compromiso. 488 00:21:18,397 --> 00:21:20,980 Y si usted está empezando p establecer cinco, podría no ser de 20 horas. 489 00:21:20,980 --> 00:21:22,188 Podría ser mucho menos que eso. 490 00:21:22,188 --> 00:21:23,600 Pero es una solución de compromiso, de verdad. 491 00:21:23,600 --> 00:21:27,820 Y si se está ejecutando código en muy grande conjuntos de datos, o en el hardware aún más antigua, 492 00:21:27,820 --> 00:21:32,650 ese tipo de diferencias sin duda puede sumar. 493 00:21:32,650 --> 00:21:34,880 >> Para cualquier duda hasta el momento? 494 00:21:34,880 --> 00:21:35,617 Sí. 495 00:21:35,617 --> 00:21:36,492 >> AUDIENCIA: [inaudible] 496 00:21:36,492 --> 00:21:38,187 497 00:21:38,187 --> 00:21:39,978 ALTAVOZ 1: Lo sentimos, se puede usted dice que una vez más? 498 00:21:39,978 --> 00:21:40,853 AUDIENCIA: [inaudible] 499 00:21:40,853 --> 00:21:43,326 500 00:21:43,326 --> 00:21:44,700 ALTAVOZ 1: Usted está renunciando a tiempo. 501 00:21:44,700 --> 00:21:45,283 Bueno, así que sí. 502 00:21:45,283 --> 00:21:47,322 Ahorre tiempo no tener que compilarlo, 503 00:21:47,322 --> 00:21:48,530 si eso es lo que estás pidiendo. 504 00:21:48,530 --> 00:21:50,710 Y de hecho, en el CS50, la mayoría de los programas, 505 00:21:50,710 --> 00:21:53,668 a pesar de que podría tomar un tiempo escribir, son relativamente corto. 506 00:21:53,668 --> 00:21:56,860 Pocas docenas, unos cientos de líneas de código, y por lo que compilan con bastante rapidez. 507 00:21:56,860 --> 00:21:58,470 Pero cuando empiezas escribir programas más grandes, 508 00:21:58,470 --> 00:22:01,511 como si estás Microsoft o eres Google y escribir realmente grandes programas 509 00:22:01,511 --> 00:22:05,360 en C o C ++, o similar compilado lenguas, podrían tomar muchos segundos, 510 00:22:05,360 --> 00:22:08,577 o incluso minutos o más a compilar millones de líneas de código. 511 00:22:08,577 --> 00:22:10,660 Y allí también, que diferencia se va a sumar. 512 00:22:10,660 --> 00:22:12,840 >> Y, de hecho, una vez que transición hoy en día, el mismo día 513 00:22:12,840 --> 00:22:15,910 hoy, para la programación web usando PHP, eres 514 00:22:15,910 --> 00:22:18,460 va a encontrar tantas cosas más agradable escribir código 515 00:22:18,460 --> 00:22:21,501 cuando no tienes que hacer estos estúpidos medidas como el cambio a su terminal 516 00:22:21,501 --> 00:22:24,202 ventana, tipo de maquillaje hola, re ejecutarlo, recargar la ventana. 517 00:22:24,202 --> 00:22:25,910 Sólo tantos estúpidos pasos mecánicos que 518 00:22:25,910 --> 00:22:28,480 acaba de obtener en la forma de hacer el interesante, el trabajo divertido. 519 00:22:28,480 --> 00:22:31,450 Y de hecho nos desperdiciarlo con PHP. 520 00:22:31,450 --> 00:22:34,960 Y podemos interactuar con ello más rápidamente. 521 00:22:34,960 --> 00:22:35,495 Sí. 522 00:22:35,495 --> 00:22:36,370 AUDIENCIA: [inaudible] 523 00:22:36,370 --> 00:22:40,294 524 00:22:40,294 --> 00:22:40,960 ALTAVOZ 1: Claro. 525 00:22:40,960 --> 00:22:42,876 ¿Puedo aclarar lo que significa ser interpretado? 526 00:22:42,876 --> 00:22:45,870 Al compilar un idioma como C, baja 527 00:22:45,870 --> 00:22:48,140 como hemos dicho a la máquina código, ceros y unos. 528 00:22:48,140 --> 00:22:51,860 Y Intel decidió hace años que ciertos patrones de ceros y unos 529 00:22:51,860 --> 00:22:56,220 representar adición o sustracción, o de impresión, o de otras operaciones básicas. 530 00:22:56,220 --> 00:23:00,250 En el mundo de un lenguaje interpretado como PHP o JavaScript o Python, 531 00:23:00,250 --> 00:23:03,120 o Ruby, o manojos de otros, en cambio alguien 532 00:23:03,120 --> 00:23:05,120 ha escrito un interpreter-- en este caso, 533 00:23:05,120 --> 00:23:09,770 también se llama PHP, idéntica a la nombre de la language-- que, esencialmente, 534 00:23:09,770 --> 00:23:13,840 tiene un gran lazo en él que itera sobre la totalidad de las líneas del código de 535 00:23:13,840 --> 00:23:18,170 que me alimento como entrada, como hola dot PHP, o un punto diccionario PHP. 536 00:23:18,170 --> 00:23:21,760 >> Y entonces usted puede pensar en su gran bucle como tener un montón de condiciones. 537 00:23:21,760 --> 00:23:26,340 Y esas condiciones suele decir, si el humana ha escrito la palabra clave para, 538 00:23:26,340 --> 00:23:28,470 empezar a hacer su código de nuevo y otra vez. 539 00:23:28,470 --> 00:23:31,360 O si el humano tiene por escrito la línea de código, 540 00:23:31,360 --> 00:23:34,880 Si, solamente ejecutar su siguiente línea condicional. 541 00:23:34,880 --> 00:23:37,740 Así que es realmente como interpretar en un sentido humano, la línea 542 00:23:37,740 --> 00:23:39,660 por línea, y eso lleva tiempo. 543 00:23:39,660 --> 00:23:41,340 Se necesita por encima. 544 00:23:41,340 --> 00:23:44,189 Y eso es un precio: el buena pregunta-- pagamos. 545 00:23:44,189 --> 00:23:46,480 Así que vamos a hacer otra demostración eso es un poco más dramático. 546 00:23:46,480 --> 00:23:51,160 No, yo diría, un estadio de béisbol en este un 90% de probabilidad de fallar horriblemente, 547 00:23:51,160 --> 00:23:53,869 pero usted se sorprenderá con 10% de probabilidad. 548 00:23:53,869 --> 00:23:55,660 Así que cada año intentamos para hacer esto, en que podamos 549 00:23:55,660 --> 00:23:59,061 tratar de escribir un programa que pasa por problema ajustado a cero, para el que tienes 550 00:23:59,061 --> 00:24:02,060 presentado sus números de teléfono y un gran cantidad de otra información demográfica, 551 00:24:02,060 --> 00:24:06,030 y programación le enviaremos un mensaje de texto. 552 00:24:06,030 --> 00:24:08,540 Y entonces el teléfono de todo el mundo empieza a sonar o vibrar, 553 00:24:08,540 --> 00:24:11,460 y es simplemente increíble, porque así, mira lo que las computadoras pueden hacer. 554 00:24:11,460 --> 00:24:13,840 >> Esto rara vez funciona correctamente al parecer, en gran parte, 555 00:24:13,840 --> 00:24:16,800 porque normalmente consigo la lista negra por Gmail o algún otro servicio 556 00:24:16,800 --> 00:24:19,630 para realmente tratando de hacer esto en la escala. 557 00:24:19,630 --> 00:24:24,940 Pero lo curioso es demasiado, ya que no tener a todos aquí hoy, 558 00:24:24,940 --> 00:24:27,690 hecho de la diversión la última vez que intentado esto hace dos años, 559 00:24:27,690 --> 00:24:30,870 Creo que escribí un programa que se sentó en una iteración de bucle 560 00:24:30,870 --> 00:24:34,040 sobre todos los alumnos de la clase, y cada uno de ellos un mensaje de texto, 561 00:24:34,040 --> 00:24:37,534 y decía algo así como: ¿por qué no estás en la conferencia? 562 00:24:37,534 --> 00:24:39,170 El amor, CS50 bot. 563 00:24:39,170 --> 00:24:42,580 >> No tienes ni idea de cuántos de disculpa y correos electrónicos tipo de dolorosas 564 00:24:42,580 --> 00:24:46,970 He recibido en respuesta de la n menos 100 personas que no estaban aquí 565 00:24:46,970 --> 00:24:47,960 Ese día. 566 00:24:47,960 --> 00:24:52,116 Y aún más divertido, historia-- más vergonzoso ya sabes, vamos a ponerlo por ahí. 567 00:24:52,116 --> 00:24:53,740 Ya está en el vídeo hace unos años. 568 00:24:53,740 --> 00:24:56,810 Así que pronto me veréis escribir un bucle, en el que 569 00:24:56,810 --> 00:25:00,640 que es muy fácil escribir un bug en que para el bucle, de manera que la primera vez 570 00:25:00,640 --> 00:25:02,800 a través del bucle, enviar un mensaje de texto. 571 00:25:02,800 --> 00:25:06,190 >> La segunda vez a través del bucle I debería haber enviado un mensaje más texto, 572 00:25:06,190 --> 00:25:08,250 y luego un texto más mensaje, y uno más. 573 00:25:08,250 --> 00:25:11,490 Pero resulta que si comete un error tipográfico en la programación, a veces 574 00:25:11,490 --> 00:25:14,460 puede escribir programas que envían un solo mensaje de texto, a continuación, dos mensajes de texto, 575 00:25:14,460 --> 00:25:18,742 luego tres mensajes de texto a todo el mundo que ya ha recibido un mensaje de texto. 576 00:25:18,742 --> 00:25:21,450 Y como usted sabe, hacer algo, más algo, además de algo, 577 00:25:21,450 --> 00:25:25,910 más algo, es gran O de un lote de mensajes de texto, o n al cuadrado, 578 00:25:25,910 --> 00:25:29,830 oa $ 0.10 por mensaje de texto, $ 20.000. 579 00:25:29,830 --> 00:25:33,700 >> Afortunadamente me golpeó Control-C antes de que pasó, pero yo debo al menos un 580 00:25:33,700 --> 00:25:37,550 de sus predecesores $ 20 para el 200 algunos mensajes de texto impares que, 581 00:25:37,550 --> 00:25:40,450 no sólo fue a su teléfono, pero También era como un teléfono plegable más viejo 582 00:25:40,450 --> 00:25:43,520 por lo que le gusta empujado fuera de su memoria cada otro texto personal 583 00:25:43,520 --> 00:25:45,930 mensaje de que en realidad había conseguido. 584 00:25:45,930 --> 00:25:49,250 Así que tenemos un objetivo hoy en día, no se debe hacer eso. 585 00:25:49,250 --> 00:25:50,620 Convertir Tal vez el modo avión. 586 00:25:50,620 --> 00:25:51,120 Correcto. 587 00:25:51,120 --> 00:25:56,590 Así que vamos a ir en un programa aquí callled-- 588 00:25:56,590 --> 00:25:59,060 que voy a llamar el texto del punto PHP. 589 00:25:59,060 --> 00:26:01,074 Y de antemano, tengo dos archivos aqui. 590 00:26:01,074 --> 00:26:06,030 Hice un archivo para el personal justo, eso tiene todos los datos del personal, todos los nombres 591 00:26:06,030 --> 00:26:07,260 desde la web del curso. 592 00:26:07,260 --> 00:26:09,756 Y luego, por ahora acabo de poner algunos números falsos 555-1212. 593 00:26:09,756 --> 00:26:11,380 Así que estos no serían en realidad ir a ninguna parte. 594 00:26:11,380 --> 00:26:15,140 Pero note el interior de este archivo CSV, que nos referimos brevemente antes 595 00:26:15,140 --> 00:26:16,540 en el contexto de archivo IO. 596 00:26:16,540 --> 00:26:18,730 >> ¿Qué es un archivo CSV? 597 00:26:18,730 --> 00:26:19,970 Separados por comas variables. 598 00:26:19,970 --> 00:26:24,400 Y esto es algo así como un base de datos ligera, si se quiere. 599 00:26:24,400 --> 00:26:28,650 No es algo de tipo de cuatro columnas en este archivo, y no irregular, 600 00:26:28,650 --> 00:26:32,400 pero las comas esencialmente representan columnas en el archivo. 601 00:26:32,400 --> 00:26:35,400 La primera columna es el TF o el nombre de CA. 602 00:26:35,400 --> 00:26:37,800 La segunda columna es su apellido. 603 00:26:37,800 --> 00:26:39,820 Tercera columna es su número de teléfono. 604 00:26:39,820 --> 00:26:44,760 Y cuarta columna parecer es-- cuarta columna es aparentemente lo que? 605 00:26:44,760 --> 00:26:45,870 OK, así que es su portador. 606 00:26:45,870 --> 00:26:47,180 Así Verizon o Sprint, o lo que no. 607 00:26:47,180 --> 00:26:48,620 Y si me equivoqué antes, CSV. 608 00:26:48,620 --> 00:26:51,800 Valores separados por comas CSV es aquí. 609 00:26:51,800 --> 00:26:54,260 >> Entonces, ¿qué puedo hacer con esto? 610 00:26:54,260 --> 00:26:56,940 Bueno, esto es sólo un archivo de texto grande, y que es un poco largo, ¿no? 611 00:26:56,940 --> 00:26:58,690 ¿Te gusta esta va a ser un poco molesto. 612 00:26:58,690 --> 00:27:03,510 Y resulta que, sin embargo, que si yo que desee enviar un mensaje de texto, vamos a 613 00:27:03,510 --> 00:27:05,180 Alex decir aquí. 614 00:27:05,180 --> 00:27:09,690 Déjame ir a mi navegador y salir del modo de pantalla completa 615 00:27:09,690 --> 00:27:11,660 para que yo pueda alternar. 616 00:27:11,660 --> 00:27:20,280 Resulta que, vamos a ver, si me voy en aquí, e inicie sesión en Gmail, de acuerdo. 617 00:27:20,280 --> 00:27:22,950 No mires a esta parte. 618 00:27:22,950 --> 00:27:23,880 Sólo puedo ver. 619 00:27:23,880 --> 00:27:26,551 620 00:27:26,551 --> 00:27:28,800 por supuesto, el livestream puede Todavía veo lo que estoy haciendo. 621 00:27:28,800 --> 00:27:29,360 Correcto. 622 00:27:29,360 --> 00:27:31,850 >> Así que aquí es sólo con Gmail El relato de Juan Harvard. 623 00:27:31,850 --> 00:27:34,000 Así que si quiero enviar un mensaje de texto a Alex, 624 00:27:34,000 --> 00:27:35,530 Yo puedo componer, por supuesto, un mensaje. 625 00:27:35,530 --> 00:27:38,410 Y resulta, y no tengo probado con Alex antes de que aquí, 626 00:27:38,410 --> 00:27:42,260 así que usted puede añadir un cierto dominio nombrar a los números de teléfono de las personas, 627 00:27:42,260 --> 00:27:45,850 porque existe en el mundo cosas llaman SMS a correo electrónico pasarelas. 628 00:27:45,850 --> 00:27:50,000 Lo que es una forma elegante de decir todo los que tienen teléfonos móviles que 629 00:27:50,000 --> 00:27:53,200 tienen números de teléfono, por supuesto, probablemente es para su compañía, 630 00:27:53,200 --> 00:27:56,840 un determinado sufijo como en Vtext.com de mensaje de texto de Verizon 631 00:27:56,840 --> 00:28:00,320 punto com, que puede añadir a su propio número de teléfono personal, y luego 632 00:28:00,320 --> 00:28:03,540 usted o amigos, o sus padres pueden usted texto en esa dirección particular. 633 00:28:03,540 --> 00:28:07,380 >> Y Verizon cuenta con un servidor, un correo electrónico servidor, que al recibir este mensaje, 634 00:28:07,380 --> 00:28:11,180 mira a la parte numérica y después utiliza lo que sea especial magia industria 635 00:28:11,180 --> 00:28:14,540 que tienen que realmente enviarlo a lo largo de las ondas de radio a su celda en particular 636 00:28:14,540 --> 00:28:15,040 teléfono. 637 00:28:15,040 --> 00:28:18,030 Ahora bien, esto es bueno porque no lo hago realmente saben cómo enviar un mensaje de texto 638 00:28:18,030 --> 00:28:20,460 o escribir código sin embargo, para mi teléfono móvil, 639 00:28:20,460 --> 00:28:23,580 y es posible hacer exactamente eso para un proyecto final, pero por ahora todo 640 00:28:23,580 --> 00:28:24,770 Que tengo es mi portátil aquí. 641 00:28:24,770 --> 00:28:29,830 Así que quiero para repetir que CSV archivo, línea, por línea, por línea, por línea, 642 00:28:29,830 --> 00:28:35,160 agarrar cada uno de los números de teléfono del personal, y de su portador y programáticamente, 643 00:28:35,160 --> 00:28:39,770 concatenar, es decir, conectar el teléfono número con el nombre de dominio adecuado 644 00:28:39,770 --> 00:28:40,820 y luego enviar un correo electrónico. 645 00:28:40,820 --> 00:28:41,940 >> Así que eso es un montón de pasos. 646 00:28:41,940 --> 00:28:45,530 Y buena suerte haciendo que en C. Es una pesadilla de una situación 647 00:28:45,530 --> 00:28:48,350 para abrir un archivo, para leerlo línea, por línea, por línea, como usted 648 00:28:48,350 --> 00:28:51,100 están viendo, o pronto puede ver con el problema de establecer cinco, si no 649 00:28:51,100 --> 00:28:53,560 problema fijó cuatro, y luego para concatenar dinámicamente 650 00:28:53,560 --> 00:28:57,020 dos cuerdas juntas, ya que en C, tomar dos cadenas y combinarlos, 651 00:28:57,020 --> 00:29:00,900 lo que hacer mínimamente necesita hacer más probable? 652 00:29:00,900 --> 00:29:03,020 Usted necesita declarar más memoria, ¿no? 653 00:29:03,020 --> 00:29:04,710 Y pedir, malloc, puedo tener más memoria? 654 00:29:04,710 --> 00:29:07,060 Así que puedo poner la mitad de esta aquí, la mitad de esto aquí. 655 00:29:07,060 --> 00:29:08,150 Es tan muchos pasos. 656 00:29:08,150 --> 00:29:10,310 Y en ese momento que has perdido interés en la pequeña demostración estúpida 657 00:29:10,310 --> 00:29:11,851 donde usted hace pitido teléfono de todos. 658 00:29:11,851 --> 00:29:14,590 Vamos a hacer este tipo de PHP estilo, por lo que acabamos de 659 00:29:14,590 --> 00:29:16,210 empezar a utilizar más de ese fregadero de la cocina. 660 00:29:16,210 --> 00:29:18,050 >> Y las ideas son fundamentalmente el mismo, 661 00:29:18,050 --> 00:29:20,710 pero no tenemos que preocuparnos demasiado mucho de ese nivel inferior. 662 00:29:20,710 --> 00:29:22,950 Así que vamos a ver cómo me podría ir haciendo esto. 663 00:29:22,950 --> 00:29:26,664 Y de la misma manera que no lo hago repetir los errores del pasado, 664 00:29:26,664 --> 00:29:28,330 He escrito algunas notas para mí aquí. 665 00:29:28,330 --> 00:29:31,070 Y vamos a ver si nos puede caminar a través de algunos de los pasos fundamentales, 666 00:29:31,070 --> 00:29:33,861 y luego por el amor de vez vamos a quizás cortar algunas esquinas en el extremo. 667 00:29:33,861 --> 00:29:38,007 Voy a seguir adelante y hacerlo abierta PHP soporte para iniciar este archivo. 668 00:29:38,007 --> 00:29:39,590 Y yo voy a seguir adelante y hacer esto. 669 00:29:39,590 --> 00:29:41,490 Identificador de archivo, como usted pronto veremos, en realidad 670 00:29:41,490 --> 00:29:44,790 llama a una función llamada f abierta. 671 00:29:44,790 --> 00:29:46,280 Y recuerda que esto abre un archivo. 672 00:29:46,280 --> 00:29:48,800 Y la cita, fin de la cita, r significa qué, otra vez? 673 00:29:48,800 --> 00:29:49,800 Sólo tiene que abrir para lectura. 674 00:29:49,800 --> 00:29:51,210 Ahora en conjunto p para, usted hizo esto. 675 00:29:51,210 --> 00:29:54,500 Y manejar podría ser cualquier cosa, fu, bar, bas, cualquier nombre de variable. 676 00:29:54,500 --> 00:29:57,470 Pero en general, un ordenador científico llamaría un archivo abierto, 677 00:29:57,470 --> 00:30:00,962 que le da un identificador de archivo, algo que aferrarse por así decirlo. 678 00:30:00,962 --> 00:30:02,670 Yo sólo voy a hacer alguna comprobación de errores. 679 00:30:02,670 --> 00:30:07,260 Así que si el mango es falsa, al igual que en C, que voy a hacer algo así, 680 00:30:07,260 --> 00:30:09,545 no pudo abrir el archivo, la barra invertida n. 681 00:30:09,545 --> 00:30:11,420 Y entonces yo sólo voy seguir adelante y salir. 682 00:30:11,420 --> 00:30:14,340 Y resulta que, en PHP, No estoy dentro de una función. 683 00:30:14,340 --> 00:30:16,160 No hay función principal aquí. 684 00:30:16,160 --> 00:30:17,450 Así que yo no regreso, per se. 685 00:30:17,450 --> 00:30:18,120 Yo salgo. 686 00:30:18,120 --> 00:30:19,619 Lo cual es esencialmente la misma cosa. 687 00:30:19,619 --> 00:30:22,510 Y estoy saliendo con una sola y probablemente. 688 00:30:22,510 --> 00:30:24,220 Uno sólo significa un error de algún tipo. 689 00:30:24,220 --> 00:30:25,580 Es distinto de cero, por lo que es un error. 690 00:30:25,580 --> 00:30:30,220 >> Muy bien, por lo que si estoy aquí ahora en mi programa he abierto el archivo. 691 00:30:30,220 --> 00:30:34,250 Voy a seguir adelante y declarar una matriz llamada direcciones, 692 00:30:34,250 --> 00:30:38,610 y en C que tendría que conocer la tamaño de la matriz de antemano, ¿no? 693 00:30:38,610 --> 00:30:41,910 O yo tendría que declararlo es un puntero, y luego usar malloc. 694 00:30:41,910 --> 00:30:44,720 Y entonces cada vez que leo a través de otra fila en el archivo, 695 00:30:44,720 --> 00:30:46,620 Voy a tener que malloc más memoria, malloc más memoria. 696 00:30:46,620 --> 00:30:47,703 Eso es un dolor en el cuello. 697 00:30:47,703 --> 00:30:50,950 Y por suerte, PHP y Ruby, y Python y JavaScript, que 698 00:30:50,950 --> 00:30:53,880 crecerán sus matrices 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ón de memoria. 701 00:30:56,227 --> 00:30:57,560 El ordenador se encarga de eso. 702 00:30:57,560 --> 00:31:00,330 Pero el precio que usted paga. 703 00:31:00,330 --> 00:31:01,350 Es un poco más lento. 704 00:31:01,350 --> 00:31:03,190 Y para un programa como este no vamos a notar. 705 00:31:03,190 --> 00:31:04,720 Vamos a enviar 100 mensajes de texto. 706 00:31:04,720 --> 00:31:06,136 Por ejemplo, no va a sentir. 707 00:31:06,136 --> 00:31:08,430 En realidad, sólo empieza a importar el idioma de su elección 708 00:31:08,430 --> 00:31:11,490 cuando sus datos o sus programas llegar muy, muy importante, 709 00:31:11,490 --> 00:31:14,120 como será el caso más aún con nuestras cosas basado en la web. 710 00:31:14,120 --> 00:31:15,450 >> Pero por ahora vamos a seguir adelante. 711 00:31:15,450 --> 00:31:20,120 Si bien resulta que hay una función en C llamado f llegar CSV. 712 00:31:20,120 --> 00:31:24,570 Archivo llegar CSV, que lleva un presentar mango como su argumento, 713 00:31:24,570 --> 00:31:28,810 y procede a continuación, fila, por fila, por fila, para leer en una fila. 714 00:31:28,810 --> 00:31:30,964 Así que sólo lee una línea del texto del archivo. 715 00:31:30,964 --> 00:31:34,130 Pero lo bueno de esta función, que no me acaba de entregar una línea de texto. 716 00:31:34,130 --> 00:31:37,320 Se ve por esas comas, y analiza la línea. 717 00:31:37,320 --> 00:31:41,740 Y para analizar la línea significa dividir en ciertos valores en este contexto. 718 00:31:41,740 --> 00:31:45,510 >> En otras palabras, el signo de dólar fila es una variable que es 719 00:31:45,510 --> 00:31:47,010 me va a dar un montón de índices. 720 00:31:47,010 --> 00:31:49,635 Este va a ser el primera columna en mi CSV. 721 00:31:49,635 --> 00:31:52,510 Este va a ser el segundo columna, esto va a ser el tercero, 722 00:31:52,510 --> 00:31:53,968 y esto va a ser el cuarto. 723 00:31:53,968 --> 00:31:57,440 Debido a que el recuerdo y Excel la no cooperar la última vez que hicimos esto, 724 00:31:57,440 --> 00:32:03,350 pero si puedo descargar el personal salpican CSV. 725 00:32:03,350 --> 00:32:04,940 Vaya, no cambiar el nombre. 726 00:32:04,940 --> 00:32:09,120 Si descargo dot personal CSV, y tratar de abrirlo, 727 00:32:09,120 --> 00:32:12,510 Ya he registered-- oh no actualizar Excel desde la última vez. 728 00:32:12,510 --> 00:32:15,880 Verás que en el punto personal CSV, tengo cuatro columnas. 729 00:32:15,880 --> 00:32:18,720 Así que cuando leí en el primera fila para Abby aquí, 730 00:32:18,720 --> 00:32:23,582 signo de dólar fila 0 es Abby, signo de dólar fila es Lyons, 731 00:32:23,582 --> 00:32:27,740 signo de dólar fila dos es su número, y luego portador de su teléfono. 732 00:32:27,740 --> 00:32:28,410 >> Así que eso es todo. 733 00:32:28,410 --> 00:32:30,740 Y eso es bueno, porque yo no tienen que averiguar ahora 734 00:32:30,740 --> 00:32:32,800 donde todas esas comas realmente son. 735 00:32:32,800 --> 00:32:35,300 Así que voy a seguir adelante y ello, teniendo en cuenta que la definición, 736 00:32:35,300 --> 00:32:38,960 Voy a decir que su nombre es en soporte de fila cero, como se había prometido. 737 00:32:38,960 --> 00:32:41,150 Y yo voy a grab-- y En realidad, ¿sabes qué? 738 00:32:41,150 --> 00:32:42,780 Yo no voy a preocuparse su nombre, en este caso. 739 00:32:42,780 --> 00:32:43,988 Voy a mantenerlo simple. 740 00:32:43,988 --> 00:32:48,610 Yo voy a hacer su número es en la fila soporte de dos, creo. 741 00:32:48,610 --> 00:32:50,510 Y su compañía estaba en dónde? 742 00:32:50,510 --> 00:32:53,405 Fila tres, uno más. 743 00:32:53,405 --> 00:32:54,280 Así que nada nuevo allí. 744 00:32:54,280 --> 00:32:56,770 Es sólo cero indexación en una matriz. 745 00:32:56,770 --> 00:32:58,760 >> Y ahora, voy a hacer lo siguiente. 746 00:32:58,760 --> 00:33:03,930 Si el transportista es igual a igual a AT & T- Yo sólo voy a tener una loop-- 747 00:33:03,930 --> 00:33:06,790 Quiero crear un correo electrónico dirección que se parece a esto. 748 00:33:06,790 --> 00:33:12,320 Va a ser 617-555-1212 a, ¿qué es, text.ATT.net, 749 00:33:12,320 --> 00:33:13,490 es lo que yo quiero hacer. 750 00:33:13,490 --> 00:33:15,260 Entonces, ¿cómo lo hago? 751 00:33:15,260 --> 00:33:16,730 Voy a hacer lo siguiente. 752 00:33:16,730 --> 00:33:22,460 Su dirección va a ser su número, y ahora, déjame ir adelante y hacer esto. 753 00:33:22,460 --> 00:33:23,760 Esta es una sintaxis funky. 754 00:33:23,760 --> 00:33:27,250 Que podía hacer el porcentaje s truco, pero yo sólo puedo hacer realidad esto. 755 00:33:27,250 --> 00:33:29,900 >> Así que esto es una cosa de PHP, pero vamos a considerar lo que estoy haciendo. 756 00:33:29,900 --> 00:33:31,630 Dólares firman dirección en la izquierda, justo una variable. 757 00:33:31,630 --> 00:33:32,300 Dame una variable. 758 00:33:32,300 --> 00:33:33,390 Yo no tengo que especificar el tipo. 759 00:33:33,390 --> 00:33:34,570 PHP entenderlo. 760 00:33:34,570 --> 00:33:36,580 Al lado derecho, ¿cuál es el tipo de datos 761 00:33:36,580 --> 00:33:38,399 de toda esa cosa en ¿el lado derecho? 762 00:33:38,399 --> 00:33:40,190 Parece que una cadena, porque hay doble 763 00:33:40,190 --> 00:33:42,280 cita en el extremo izquierdo y el extremo derecho. 764 00:33:42,280 --> 00:33:44,210 Ahora hay una nueva sintaxis cobarde aquí. 765 00:33:44,210 --> 00:33:47,550 Hay las llaves, y el número de la muestra de dólar. 766 00:33:47,550 --> 00:33:52,860 Pero tomar una conjetura cuál sea la sintaxis Probablemente diciendo PHP para hacer por mí? 767 00:33:52,860 --> 00:33:53,360 Sí. 768 00:33:53,360 --> 00:33:54,630 Sólo tiene que insertar el valor allí. 769 00:33:54,630 --> 00:33:55,530 Así que no hay ciento s. 770 00:33:55,530 --> 00:33:58,160 Podríamos utilizar la impresión f, o s print f o algo parecido, 771 00:33:58,160 --> 00:34:00,070 pero PHP y una gran cantidad de lenguajes de alto nivel, 772 00:34:00,070 --> 00:34:03,070 vas a ver que se podía hacer lo mismo funcionalmente, tal vez 773 00:34:03,070 --> 00:34:04,019 seis maneras diferentes. 774 00:34:04,019 --> 00:34:06,310 Y por lo que empieza a ser una cuestión de diseño o estilo. 775 00:34:06,310 --> 00:34:09,902 Así que esto es sólo una manera de mirar críptica de decir, me da una dirección de correo electrónico, 776 00:34:09,902 --> 00:34:12,110 pero el plug-in en el número entre estas llaves. 777 00:34:12,110 --> 00:34:15,440 Y las llaves no lo hará terminar en la dirección final. 778 00:34:15,440 --> 00:34:18,010 >> Ahora podemos pasar por alto algunos de estas líneas para el bien de momento. 779 00:34:18,010 --> 00:34:21,210 Así que si un vehículo es igual iguales verHorizon-- gritos, 780 00:34:21,210 --> 00:34:24,989 Verizon-- Quiero hacer algo muy similar, donde la dirección se pone, 781 00:34:24,989 --> 00:34:27,569 Lo dijeron ellos, 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 Y entonces yo puedo hacer el mismo tipo de cosa para el resto de los portadores. 784 00:34:35,050 --> 00:34:37,090 Pero sólo voy a hacer punto, punto, punto por ahora. 785 00:34:37,090 --> 00:34:43,050 Y ahora supongamos que Quiero añadir variedad, empujar. 786 00:34:43,050 --> 00:34:45,969 Quiero añadir a la matriz, denominada direcciones. 787 00:34:45,969 --> 00:34:50,409 >> Esta dirección, así es como se añadir algo a un array en PHP. 788 00:34:50,409 --> 00:34:51,610 Usted no tiene que hacer malloc. 789 00:34:51,610 --> 00:34:53,068 Usted no tiene que cambiar el tamaño de la matriz. 790 00:34:53,068 --> 00:34:54,259 Usted acaba de decir matriz, empujar. 791 00:34:54,259 --> 00:34:57,300 ¿Qué es lo que quieres push-- lo array Qué quiere empujar algo sobre? 792 00:34:57,300 --> 00:34:58,000 Direcciones. 793 00:34:58,000 --> 00:34:59,550 Lo que usted quiere empujar en direcciones? 794 00:34:59,550 --> 00:35:00,350 Dirección. 795 00:35:00,350 --> 00:35:02,430 Y de hecho, si realmente quiere ser inteligente, 796 00:35:02,430 --> 00:35:05,610 un poco de azúcar sintáctica para esto, por así decirlo, 797 00:35:05,610 --> 00:35:10,230 que sólo significa que ¿cómo se puede hacer esto en la manera más bonita, sería para hacer esto. 798 00:35:10,230 --> 00:35:14,060 Eso también tiene el efecto de crecimiento la matriz de direcciones por el tamaño de uno, 799 00:35:14,060 --> 00:35:17,130 y luego de que plop adicional dirección de correo electrónico en el mismo. 800 00:35:17,130 --> 00:35:17,630 Sí. 801 00:35:17,630 --> 00:35:19,730 >> AUDIENCIA: [inaudible] 802 00:35:19,730 --> 00:35:22,520 >> ALTAVOZ 1: Un error tipográfico en la otra cosa si: oh, portadora. 803 00:35:22,520 --> 00:35:23,070 Eso está bien. 804 00:35:23,070 --> 00:35:26,971 Tampoco le va a gustar mi falta de poner en práctica parte de este programa 805 00:35:26,971 --> 00:35:27,470 mas tarde. 806 00:35:27,470 --> 00:35:28,810 Pero gracias por la captura. 807 00:35:28,810 --> 00:35:30,671 Un error más. 808 00:35:30,671 --> 00:35:31,170 Gracias. 809 00:35:31,170 --> 00:35:33,746 Queremos que esto sea Vtext.com. 810 00:35:33,746 --> 00:35:34,340 Sí. 811 00:35:34,340 --> 00:35:34,839 Correcto. 812 00:35:34,839 --> 00:35:36,330 ¿A dónde nos lleva esto? 813 00:35:36,330 --> 00:35:38,224 Hemos escrito el código para abrir el archivo. 814 00:35:38,224 --> 00:35:40,390 Tenemos un bucle para iterar sobre las filas en el archivo. 815 00:35:40,390 --> 00:35:43,650 Tenemos código que añade a mi array, uno a la vez, la correctamente 816 00:35:43,650 --> 00:35:44,790 dirección de correo electrónico con formato. 817 00:35:44,790 --> 00:35:48,480 Así que todo lo que realmente queda es enviar un correo electrónico a cada una de estas personas. 818 00:35:48,480 --> 00:35:52,830 >> Así que me he ido por delante y mí mismo preparado como sigue. 819 00:35:52,830 --> 00:35:59,580 Lo que voy a hacer aquí es-- y vamos seguir adelante y saltar a algún código real, 820 00:35:59,580 --> 00:36:00,620 que se parece a esto. 821 00:36:00,620 --> 00:36:02,950 Así que aquí es la pre-cocido versión que escribí antes. 822 00:36:02,950 --> 00:36:04,700 Y noto que terminé la implementación de Sprint. 823 00:36:04,700 --> 00:36:06,130 Terminé la implementación de T-Mobile. 824 00:36:06,130 --> 00:36:08,020 Terminé la implementación de Virgin Mobile. 825 00:36:08,020 --> 00:36:09,622 Y voy a pedir disculpas por adelantado. 826 00:36:09,622 --> 00:36:12,080 Hay algunas compañías que algunos estudiantes de la clase tienen 827 00:36:12,080 --> 00:36:14,640 que no me molesté enumerando en el caso de condiciones aquí. 828 00:36:14,640 --> 00:36:16,015 Así que no todos los textos se apagarán. 829 00:36:16,015 --> 00:36:17,556 Pero vamos a ver qué más tengo que hacer. 830 00:36:17,556 --> 00:36:19,660 Cierro el archivo, como en la p en cuatro sets. 831 00:36:19,660 --> 00:36:20,835 >> Y esta es una nueva sintaxis. 832 00:36:20,835 --> 00:36:22,710 Y vamos a ver un poco poco de esto con el tiempo, 833 00:36:22,710 --> 00:36:24,450 especialmente con p establecido siete y ocho. 834 00:36:24,450 --> 00:36:28,140 Pero esto es sintaxis para crear un tipo especial de estructura. 835 00:36:28,140 --> 00:36:31,490 Resulta que hay una biblioteca que viene con PHP, denominado mailer PHP. 836 00:36:31,490 --> 00:36:33,840 Su propósito en la vida es enviar mensajes de correo electrónico mediante programación. 837 00:36:33,840 --> 00:36:36,840 Es código de otra persona escribió que hace que sea más fácil para nosotros enviaremos correos electrónicos, 838 00:36:36,840 --> 00:36:39,131 así que no tenemos que mantener yendo y viniendo a Gmail, 839 00:36:39,131 --> 00:36:41,151 y pegar en direcciones de correo electrónico de las personas. 840 00:36:41,151 --> 00:36:44,150 Hay un montón de líneas aquí que honestamente, sólo tipo de copiado 841 00:36:44,150 --> 00:36:45,660 y pegado de la documentación. 842 00:36:45,660 --> 00:36:47,409 Y de hecho, si usted es curioso, dejé todo 843 00:36:47,409 --> 00:36:50,550 de las direcciones URL de la documentación en el código que publicaremos más tarde. 844 00:36:50,550 --> 00:36:52,360 Y notar que entre las cosas que estoy haciendo 845 00:36:52,360 --> 00:36:55,710 es que estoy contando esta biblioteca, utilizar el servidor de Gmail, ¿verdad? 846 00:36:55,710 --> 00:36:59,360 SMTP hablamos brevemente sobre cuándo estaban en Yale sobre estar correo simple 847 00:36:59,360 --> 00:37:00,110 protocolo de transferencia. 848 00:37:00,110 --> 00:37:02,920 Es el protocolo que servidores usados ​​para enviar correo electrónico, 849 00:37:02,920 --> 00:37:05,150 Eso es-- y Gmail tiene uno de esos. 850 00:37:05,150 --> 00:37:07,290 Un puerto, este es el número de puerto TCP. 851 00:37:07,290 --> 00:37:09,630 Está bien si no han visto 587 antes. 852 00:37:09,630 --> 00:37:11,420 Sólo tienes que saber que a partir de la documentación. 853 00:37:11,420 --> 00:37:12,250 Aquí está mi nombre de usuario. 854 00:37:12,250 --> 00:37:13,670 Voy a utilizar el bot CF50. 855 00:37:13,670 --> 00:37:16,690 Y en un momento, yo sólo voy a escriba la contraseña actual del robot. 856 00:37:16,690 --> 00:37:18,690 Y luego aquí abajo, observe lo que queda. 857 00:37:18,690 --> 00:37:22,840 >> Me puse mi de la dirección para ser bot en CS50.net. 858 00:37:22,840 --> 00:37:26,240 Creo que no se arrepentirá de envío de un mensaje de texto a 800 personas que 859 00:37:26,240 --> 00:37:30,590 dice, te echo de menos, bot amor CS50, tal vez para los que no pudieron hacerlo hoy. 860 00:37:30,590 --> 00:37:33,160 Y luego, en la línea 76, ¿qué hago? 861 00:37:33,160 --> 00:37:39,010 Este tipo de miradas como C. Así que para i es igual a 0, n equals-- ahora contar es nuevo. 862 00:37:39,010 --> 00:37:42,077 Resulta que si usted desea conseguir el número de cosas en una matriz, 863 00:37:42,077 --> 00:37:43,660 usted no tiene que recordar más. 864 00:37:43,660 --> 00:37:45,370 Usted sólo puede hacer una función llamada recuento, 865 00:37:45,370 --> 00:37:48,320 y le dirá cuántos direcciones están en esa matriz. 866 00:37:48,320 --> 00:37:53,210 >> Y luego voy a añadir la dirección al correo electrónico. 867 00:37:53,210 --> 00:37:55,090 Y sé esto desde utilizando la documentación. 868 00:37:55,090 --> 00:37:56,900 Hay una función de dirección de complemento. 869 00:37:56,900 --> 00:37:58,980 Y ahora cuenta no es una pieza de la sintaxis. 870 00:37:58,980 --> 00:38:01,470 Hemos visto esto antes en C. similares en espíritu. 871 00:38:01,470 --> 00:38:04,100 Usted puede pensar en el signo de dólar enviar por correo como una variable, que se encuentra. 872 00:38:04,100 --> 00:38:08,100 Pero es una estructura interior de que no son sólo las propiedades, 873 00:38:08,100 --> 00:38:09,400 las variables si se quiere. 874 00:38:09,400 --> 00:38:13,480 Pero resulta que en PHP, que es una programación orientada a objetos 875 00:38:13,480 --> 00:38:16,520 lenguaje, como Java, si usted tomó APCS. 876 00:38:16,520 --> 00:38:21,420 >> Electrónico Signo de dólar, si quieres a-- sino que también tiene funciones en el interior de la misma, 877 00:38:21,420 --> 00:38:22,380 o métodos. 878 00:38:22,380 --> 00:38:24,720 Así que esto es decir que anuncio publicitario especial PHP 879 00:38:24,720 --> 00:38:29,280 biblioteca, si tengo una variable del mismo, si quiero llamar a una función que 880 00:38:29,280 --> 00:38:31,559 viene con esa biblioteca, para los propósitos de la actualidad, 881 00:38:31,559 --> 00:38:33,100 Sólo sepan que usted usa la notación de flecha. 882 00:38:33,100 --> 00:38:34,150 No hay notación de punto. 883 00:38:34,150 --> 00:38:35,220 Es sólo la flecha. 884 00:38:35,220 --> 00:38:36,380 Pero eso no es un puntero. 885 00:38:36,380 --> 00:38:38,680 Es sólo tomó prestado de la sintaxis de C. 886 00:38:38,680 --> 00:38:43,620 Así que llame a agregar la dirección interior de objeto o variable de esta biblioteca. 887 00:38:43,620 --> 00:38:44,440 >> Correcto. 888 00:38:44,440 --> 00:38:45,570 Esta es la línea mágica. 889 00:38:45,570 --> 00:38:46,740 Así es como me envío un correo electrónico. 890 00:38:46,740 --> 00:38:50,040 Ese es el equivalente de la apertura Gmail, escribiéndola, y golpear a enviar. 891 00:38:50,040 --> 00:38:54,870 Pero va a enviar una vez correo electrónico a esta dirección, con este cuerpo, 892 00:38:54,870 --> 00:38:57,120 Del bot CS50. 893 00:38:57,120 --> 00:38:58,710 Y ahora la línea clave. 894 00:38:58,710 --> 00:39:03,130 Esta línea estaba ausente en 2011 como cuando pienso en el pasado he intentado esto. 895 00:39:03,130 --> 00:39:05,640 Esa línea allí, por supuesto, borra las direcciones. 896 00:39:05,640 --> 00:39:07,920 Así que, lógicamente, si no desactive la dirección 897 00:39:07,920 --> 00:39:11,740 después de cada iteración, el primero correo electrónico o mensaje de texto va a Alice, 898 00:39:11,740 --> 00:39:14,320 el segundo va a Alice y Bob, el tercero 899 00:39:14,320 --> 00:39:17,870 va a Alice y Bob y Charlie, por lo tanto, el error muy caro 900 00:39:17,870 --> 00:39:18,760 Hice ese año. 901 00:39:18,760 --> 00:39:21,080 >> Así que vamos a ver. 902 00:39:21,080 --> 00:39:24,200 Hay alguna pregunta antes de enviarle todo un texto 903 00:39:24,200 --> 00:39:28,210 mensaje con el 10 por ciento de probabilidad? 904 00:39:28,210 --> 00:39:28,940 ¿Alguna pregunta? 905 00:39:28,940 --> 00:39:30,330 Correcto. 906 00:39:30,330 --> 00:39:36,100 Vamos a que me vaya de aquí y cambio la contraseña para lo que debe trabajar, 907 00:39:36,100 --> 00:39:37,780 probablemente obtendrá la lista negra de Gmail. 908 00:39:37,780 --> 00:39:39,821 Así que puede ser que no todos ir a cabo, ya que, probablemente, 909 00:39:39,821 --> 00:39:42,960 no nos gusta el envío de mensajes de correo electrónico 800 en un bucle for todos a la vez. 910 00:39:42,960 --> 00:39:45,140 Dado que no es comportamiento especialmente humano. 911 00:39:45,140 --> 00:39:47,460 >> Oh, yo voy a cambiar una cosa más. 912 00:39:47,460 --> 00:39:50,850 Hasta en la parte superior, que voy a sent-- cambiar el archivo a estudiantes salpican CSV. 913 00:39:50,850 --> 00:39:55,420 Y no voy a abrir esto, pero esto es un archivo CSV idéntico no 100 funcionarios, 914 00:39:55,420 --> 00:39:58,970 pero 800 estudiantes, simplemente de Harvard, Yale, porque 915 00:39:58,970 --> 00:40:00,207 tiene receso octubre esta semana. 916 00:40:00,207 --> 00:40:03,290 Y parece que una especie de cosa idiota hacer al texto todos ellos de por qué 917 00:40:03,290 --> 00:40:04,750 no están en clase el día de fiesta. 918 00:40:04,750 --> 00:40:05,250 Eso está bien. 919 00:40:05,250 --> 00:40:08,310 A tan sólo los estudiantes de Harvard hoy en el interior de ese archivo. 920 00:40:08,310 --> 00:40:12,320 Y ahora vamos a volver a mi ventana de terminal. 921 00:40:12,320 --> 00:40:13,710 Estoy un poco nervioso. 922 00:40:13,710 --> 00:40:22,000 >> Aceptar lo que ahora voy a entrar en el directorio y texto PHP PHP punto. 923 00:40:22,000 --> 00:40:24,950 ¿Qué tal un valiente voluntario? 924 00:40:24,950 --> 00:40:26,690 Así que no quiero esto en mí. 925 00:40:26,690 --> 00:40:28,410 OK, vamos para arriba. 926 00:40:28,410 --> 00:40:29,162 ¿Cómo te llamas? 927 00:40:29,162 --> 00:40:29,662 MAYA: Maya. 928 00:40:29,662 --> 00:40:30,328 ALTAVOZ 1: Maya. 929 00:40:30,328 --> 00:40:31,610 Vamos arriba, Maya. 930 00:40:31,610 --> 00:40:34,120 Correcto. 931 00:40:34,120 --> 00:40:35,389 Vamos a ver si esto funciona. 932 00:40:35,389 --> 00:40:38,430 Puse mi propia dirección de correo electrónico en el file-- mi propio número de teléfono en el archivo, 933 00:40:38,430 --> 00:40:40,110 por lo que se espera que voy a conseguir uno también. 934 00:40:40,110 --> 00:40:40,819 Encantada de conocerte. 935 00:40:40,819 --> 00:40:41,443 MAYA: De la misma manera. 936 00:40:41,443 --> 00:40:44,510 ALTAVOZ 1: Así que todo lo que tienes que hacer es pulse Enter para enviar 800 mensajes de texto, 937 00:40:44,510 --> 00:40:45,466 si no me equivoco. 938 00:40:45,466 --> 00:40:51,106 939 00:40:51,106 --> 00:40:51,606 Agradable. 940 00:40:51,606 --> 00:40:55,556 941 00:40:55,556 --> 00:40:58,430 Podría tomar un tiempo, estadísticamente, hasta que lleguemos a un correo electrónico address-- 942 00:40:58,430 --> 00:41:00,573 un mensaje de texto que es en la sala en este momento. 943 00:41:00,573 --> 00:41:03,880 944 00:41:03,880 --> 00:41:05,390 Vamos a descansar y ver. 945 00:41:05,390 --> 00:41:06,940 >> AUDIENCIA: [SILBANTE] 946 00:41:06,940 --> 00:41:08,270 >> ALTAVOZ 1: Oh, sí. 947 00:41:08,270 --> 00:41:09,230 >> AUDIENCIA: Oh, te pillé. 948 00:41:09,230 --> 00:41:16,720 949 00:41:16,720 --> 00:41:19,180 >> ALTAVOZ 1: Para bucles trate: este no es lento debido a PHP. 950 00:41:19,180 --> 00:41:21,810 Este es lento debido a Gmail nos está estrangulando y no 951 00:41:21,810 --> 00:41:25,170 dejarnos enviaremos más al igual que un correo electrónico por segundo. 952 00:41:25,170 --> 00:41:26,300 ¿Cualquier cosa? 953 00:41:26,300 --> 00:41:29,990 Esto era una cosa difícil para mí prueba en casa con sólo yo y mi único teléfono, así. 954 00:41:29,990 --> 00:41:37,630 955 00:41:37,630 --> 00:41:41,111 ¿Es que se espera desde el 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 Decir que sí. 960 00:41:46,620 --> 00:41:47,479 ¿No? 961 00:41:47,479 --> 00:41:49,374 Es de un amigo? 962 00:41:49,374 --> 00:41:49,874 Awkward. 963 00:41:49,874 --> 00:41:50,374 OK. 964 00:41:50,374 --> 00:41:56,580 965 00:41:56,580 --> 00:42:00,090 Bastante seguro de que funciona sin embargo. 966 00:42:00,090 --> 00:42:00,910 UH oh. 967 00:42:00,910 --> 00:42:03,190 Ellos black-- oh, espera un minuto. 968 00:42:03,190 --> 00:42:04,280 Oh, ¿sabes qué? 969 00:42:04,280 --> 00:42:06,100 Un momento por favor. 970 00:42:06,100 --> 00:42:07,802 Sólo Maya y yo-- Mia, ¿verdad? 971 00:42:07,802 --> 00:42:08,301 MAYA: Maya. 972 00:42:08,301 --> 00:42:12,110 ALTAVOZ 1: Maya, van a sé lo que hice mal aquí. 973 00:42:12,110 --> 00:42:14,890 Oh, espera un minuto. 974 00:42:14,890 --> 00:42:23,320 Creo que acabo de enviar 100 mensajes de texto a 555-1212. 975 00:42:23,320 --> 00:42:24,346 Colocarse. 976 00:42:24,346 --> 00:42:28,080 977 00:42:28,080 --> 00:42:29,270 No puedo ganar cualquier año. 978 00:42:29,270 --> 00:42:30,180 OK. 979 00:42:30,180 --> 00:42:30,680 Maya? 980 00:42:30,680 --> 00:42:33,530 981 00:42:33,530 --> 00:42:36,219 Fijar que en post-producción. 982 00:42:36,219 --> 00:42:36,718 ¡Maldita sea! 983 00:42:36,718 --> 00:42:39,430 984 00:42:39,430 --> 00:42:40,390 Después de la dirección. 985 00:42:40,390 --> 00:42:41,301 OK, una pausa. 986 00:42:41,301 --> 00:42:41,800 Apenado. 987 00:42:41,800 --> 00:42:44,550 988 00:42:44,550 --> 00:42:47,080 Es doloroso cada año. 989 00:42:47,080 --> 00:42:48,640 Ok, un momento. 990 00:42:48,640 --> 00:42:50,530 Esto es bueno. 991 00:42:50,530 --> 00:42:54,010 Estoy en vez iba a hacer esto. 992 00:42:54,010 --> 00:42:55,470 Direcciones de impresión. 993 00:42:55,470 --> 00:42:56,030 OK, una pausa. 994 00:42:56,030 --> 00:43:01,340 Direcciones de impresión, soporte i. 995 00:43:01,340 --> 00:43:02,710 Sí, me gusta eso. 996 00:43:02,710 --> 00:43:10,220 Sign-- OK Dólar voy a explicar lo que soy haciendo en un momento, después me he encontrado esto. 997 00:43:10,220 --> 00:43:11,670 Cada año. 998 00:43:11,670 --> 00:43:13,125 Está bien, aquí vamos. 999 00:43:13,125 --> 00:43:15,750 Tengo sólo-- y yo no quiero para mostrar el número de teléfono de todos, 1000 00:43:15,750 --> 00:43:17,740 pero Maya puede confirmar con un gesto de la cabeza, 1001 00:43:17,740 --> 00:43:20,800 que ve todo el mundo es número de teléfono en la clase 1002 00:43:20,800 --> 00:43:26,750 que voy a copiar en un programa llamado Gmail. 1003 00:43:26,750 --> 00:43:30,860 Y si en Gmail, ¿qué queremos decir? 1004 00:43:30,860 --> 00:43:32,137 Te extraño. 1005 00:43:32,137 --> 00:43:33,220 Amor-- eso no es de mí. 1006 00:43:33,220 --> 00:43:35,230 Ni siquiera he golpeado enviar todavía. 1007 00:43:35,230 --> 00:43:39,450 Así que vamos a seguir adelante y hacer esto, si me puede acercar la imagen. 1008 00:43:39,450 --> 00:43:40,300 OK. 1009 00:43:40,300 --> 00:43:42,480 Así que estoy utilizando un programa llamado Gmail ahora. 1010 00:43:42,480 --> 00:43:44,490 Si Maya, desea haga clic en el botón Enviar, 1011 00:43:44,490 --> 00:43:46,970 vamos a simular lo que código debería haber hecho. 1012 00:43:46,970 --> 00:43:54,630 1013 00:43:54,630 --> 00:43:55,254 >> ¿Cualquier cosa? 1014 00:43:55,254 --> 00:43:56,062 >> [BIP] 1015 00:43:56,062 --> 00:43:56,870 >> AUDIENCIA: Sí. 1016 00:43:56,870 --> 00:43:58,030 >> ALTAVOZ 1: ¿Sí? 1017 00:43:58,030 --> 00:43:59,210 Salvación? 1018 00:43:59,210 --> 00:44:00,427 >> AUDIENCIA: Sí. 1019 00:44:00,427 --> 00:44:01,260 ALTAVOZ 1: Te echo de menos. 1020 00:44:01,260 --> 00:44:02,718 Y yo voy a enviar el resto. 1021 00:44:02,718 --> 00:44:06,060 Envié medio porque yo no creo Gmail dejaría que los atraviesan. 1022 00:44:06,060 --> 00:44:12,410 Así que recuerda, hoy es el día que has aprendido que puedo usar Gmail. 1023 00:44:12,410 --> 00:44:14,977 1024 00:44:14,977 --> 00:44:15,810 Eso fue horrible. 1025 00:44:15,810 --> 00:44:17,140 Un gran aplauso a Maya. 1026 00:44:17,140 --> 00:44:18,980 Gracias. 1027 00:44:18,980 --> 00:44:21,280 Muy bien, así. 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 >> Nos dieron unos cuantos pitidos, sí? 1032 00:44:26,580 --> 00:44:27,080 Correcto. 1033 00:44:27,080 --> 00:44:30,590 Ahora me voy a poner 700 realmente correos electrónicos infelices espalda de sus compañeros de clase. 1034 00:44:30,590 --> 00:44:32,400 Así, al menos, ya veremos si eso era la pena. 1035 00:44:32,400 --> 00:44:33,300 Entonces, ¿qué salió mal? 1036 00:44:33,300 --> 00:44:35,300 Voy a averiguar lo que salió mal después de los hechos, 1037 00:44:35,300 --> 00:44:38,340 pero basta con ver lo fácil era hacerlo en PHP. 1038 00:44:38,340 --> 00:44:44,598 Entonces, ¿qué podemos realmente hacer ahora que tenemos esta expresividad de PHP. 1039 00:44:44,598 --> 00:44:45,970 Eso era-- que era horrible. 1040 00:44:45,970 --> 00:44:46,480 Correcto. 1041 00:44:46,480 --> 00:44:48,430 Así que eso fue lo que debería haber salido. 1042 00:44:48,430 --> 00:44:52,770 Esto se me probando esta mañana en mi teléfono, pantalla real de mi teléfono. 1043 00:44:52,770 --> 00:44:56,180 >> Pero ahora vamos a considerar por qué en realidad estamos introduciendo 1044 00:44:56,180 --> 00:44:57,840 todas estas cosas en el primer lugar. 1045 00:44:57,840 --> 00:45:01,625 Así que el objetivo no es escribir estos programas que 1046 00:45:01,625 --> 00:45:03,250 están escritos en la línea de comandos, ¿verdad? 1047 00:45:03,250 --> 00:45:05,000 Así que escribí un sencillo hola programa, escribí 1048 00:45:05,000 --> 00:45:09,155 un pequeño programa que hace condicionales, y se utiliza una línea de lectura y así sucesivamente. 1049 00:45:09,155 --> 00:45:11,530 Y en teoría, que acabo de escribir un programa que envía 1050 00:45:11,530 --> 00:45:14,290 800 mensajes de texto, más o menos 800. 1051 00:45:14,290 --> 00:45:16,830 Y ese programa era todo Todavía correr a la línea de comandos. 1052 00:45:16,830 --> 00:45:18,538 Y eso, por supuesto, es No la web, ¿no? 1053 00:45:18,538 --> 00:45:22,160 El objetivo ahora es comenzar a usar lo que pretendo es un fácil de usar 1054 00:45:22,160 --> 00:45:24,720 idioma, una más daresay lenguaje poderoso en términos 1055 00:45:24,720 --> 00:45:27,104 de las características que vienen con él, para empezar 1056 00:45:27,104 --> 00:45:29,850 escribir código que genera páginas web. 1057 00:45:29,850 --> 00:45:33,248 >> Así que la última vez y la semana pasada, hablamos de HTTP y HTML. 1058 00:45:33,248 --> 00:45:36,350 Y lo que es bueno de HTML es que es sólo texto puro. 1059 00:45:36,350 --> 00:45:38,220 Y el texto es, sin duda algo que pueda 1060 00:45:38,220 --> 00:45:42,040 imprimir literalmente llamando a la impresión f función o la función de impresión. 1061 00:45:42,040 --> 00:45:46,160 Y de hecho, eso es lo que PHP es ahora va a permitir que hagamos. 1062 00:45:46,160 --> 00:45:48,610 Así, entre los ejemplos que tener en el código fuente de hoy, 1063 00:45:48,610 --> 00:45:51,610 Además de algunos de los códigos que puse ahí arriba hace un momento, 1064 00:45:51,610 --> 00:45:55,440 tenemos programas como este, por ejemplo. 1065 00:45:55,440 --> 00:45:58,760 Froshims o Freshman Intramural Sports, era en realidad 1066 00:45:58,760 --> 00:46:01,500 uno de los primeros extracurriculars Me involucré con la de hace años. 1067 00:46:01,500 --> 00:46:03,750 Y mi compañero y yo, con algunos otros niños en la escuela, 1068 00:46:03,750 --> 00:46:05,280 utilizado para ejecutar el programa froshims. 1069 00:46:05,280 --> 00:46:07,420 Me estoy poniendo mis mensajes de texto ahora. 1070 00:46:07,420 --> 00:46:14,030 >> Ahora por lo que, en su día, por lo que este 1996 era más o menos, hubo un internet, 1071 00:46:14,030 --> 00:46:17,395 pero no había proceso-- existe no fue una página web para froshims. 1072 00:46:17,395 --> 00:46:20,270 Y por lo que si usted quería inscribirse en fútbol o voleibol o lo que sea, 1073 00:46:20,270 --> 00:46:22,240 usted llene esta cosa llamado un trozo de papel, 1074 00:46:22,240 --> 00:46:25,060 y que sería caminar a través de la Universidad de Harvard patio, y que sería deslícelo 1075 00:46:25,060 --> 00:46:29,230 en la ranura de correo del supervisor, quien estaba en Wigglesworth, uno de los dormitorios. 1076 00:46:29,230 --> 00:46:31,270 Y esto que se registraron. 1077 00:46:31,270 --> 00:46:33,570 Y él o ella haría a continuación, redactar un correo electrónico a usted 1078 00:46:33,570 --> 00:46:36,514 manualmente, al igual que yo acaba de hacer aquí con Maya, 1079 00:46:36,514 --> 00:46:38,930 y luego se confirmaría como si hubiera sido registrada. 1080 00:46:38,930 --> 00:46:40,840 >> Así que esto era como baja fruta colgando, por así decirlo. 1081 00:46:40,840 --> 00:46:42,930 Era una especie de estúpido que estábamos usando papel para esto. 1082 00:46:42,930 --> 00:46:45,024 Yo quería que seamos capaces ir sólo en un sitio web, 1083 00:46:45,024 --> 00:46:47,440 o tienen los estudiantes de primer año van en un sitio web, registrarse en el deporte, 1084 00:46:47,440 --> 00:46:50,398 y simplemente automatizar una gran cantidad de este material poniendo sus nombres y correos electrónicos 1085 00:46:50,398 --> 00:46:51,850 y así sucesivamente en una base de datos. 1086 00:46:51,850 --> 00:46:56,510 Y de hecho, la primera versión de la página web, utilizando súper feo HTML, 1087 00:46:56,510 --> 00:46:58,195 podría haber buscado algo como esto. 1088 00:46:58,195 --> 00:47:01,070 En realidad, fue, irónicamente, más vergonzoso guapo que esta de vuelta 1089 00:47:01,070 --> 00:47:01,460 después. 1090 00:47:01,460 --> 00:47:02,890 Pero he usado un lenguaje de programación. 1091 00:47:02,890 --> 00:47:06,060 No PHP, sino más bien llamado Perl, que es una lengua más antigua, 1092 00:47:06,060 --> 00:47:07,251 pero muy similares en espíritu. 1093 00:47:07,251 --> 00:47:09,000 Y acabo por completo lo enseñó a mí mismo. 1094 00:47:09,000 --> 00:47:12,208 Y me tomó un tiempo para averiguarlo, hacer muchas preguntas de amigos. 1095 00:47:12,208 --> 00:47:14,080 Pero las ideas allí eran exactamente lo mismo. 1096 00:47:14,080 --> 00:47:18,050 Porque lo que PHP fue realmente diseñado por no decir las cosas de línea de comandos 1097 00:47:18,050 --> 00:47:20,450 que acabamos de jugar con, pero para la programación web. 1098 00:47:20,450 --> 00:47:24,960 >> Es realmente atado en su función establece en la web, de la siguiente manera. 1099 00:47:24,960 --> 00:47:26,370 Esto es froshims. 1100 00:47:26,370 --> 00:47:28,720 Y si quería inscribirse en este formulario, 1101 00:47:28,720 --> 00:47:30,930 esto es bastante feo, sin duda, pero déjame ir por delante 1102 00:47:30,930 --> 00:47:34,440 y ser un estudiante menos cómodo, y cualquiera que sea el deporte para Matthews, 1103 00:47:34,440 --> 00:47:35,630 haga clic en Registrar. 1104 00:47:35,630 --> 00:47:39,780 Lo que yo quiero ser capaz de hacer es enviar información de un formulario, 1105 00:47:39,780 --> 00:47:42,400 no al servidor de Google como hicimos la última vez, por completo 1106 00:47:42,400 --> 00:47:47,100 engaño por medio de su back-end, que desee implementar mi propio código backend. 1107 00:47:47,100 --> 00:47:51,410 Lo que significa escritura PHP código que vive en una URL 1108 00:47:51,410 --> 00:47:54,180 que los datos del formulario se pueden enviar. 1109 00:47:54,180 --> 00:47:57,510 >> Y luego su código, escrito en PHP en un servidor, 1110 00:47:57,510 --> 00:47:59,400 a continuación, puede responder a que la entrada del usuario. 1111 00:47:59,400 --> 00:48:03,287 Al igual que su nombre, o el nivel de confort, o dormitorio, y luego hacer algo con él. 1112 00:48:03,287 --> 00:48:05,120 En este caso, sólo estúpidamente impresa hacia fuera 1113 00:48:05,120 --> 00:48:06,750 como texto, que no es tan bonita. 1114 00:48:06,750 --> 00:48:09,590 Pero ciertamente se podría imaginar, si sabes HTML, 1115 00:48:09,590 --> 00:48:13,010 y pronto sabrás cómo generar HTML con la impresión f, e imprimir, 1116 00:48:13,010 --> 00:48:16,500 y funciones similares, que sin duda puede generar una página web más bonita que dice: 1117 00:48:16,500 --> 00:48:17,929 Hey David, que ahora está registrado. 1118 00:48:17,929 --> 00:48:20,220 Eres un menos cómodo estudiante de Matthews, ¿verdad? 1119 00:48:20,220 --> 00:48:23,880 >> Usted sólo puede usar un montón de% ses, o las llaves y signo de dólar 1120 00:48:23,880 --> 00:48:27,750 notación usé hace un momento, a generar texto que es más fácil de usar 1121 00:48:27,750 --> 00:48:28,567 que esto. 1122 00:48:28,567 --> 00:48:30,150 Así que vamos a echar un vistazo a este archivo. 1123 00:48:30,150 --> 00:48:34,666 Froshim cero punto PHP tiene este aspecto. 1124 00:48:34,666 --> 00:48:37,860 1125 00:48:37,860 --> 00:48:43,500 Cuando vuelvo a cargar IDE CS50, cero froshim se parece a esto. 1126 00:48:43,500 --> 00:48:45,700 Esta es froshim cero punto PHP. 1127 00:48:45,700 --> 00:48:47,730 Y ¿qué es lo que usted nota sobre este archivo? 1128 00:48:47,730 --> 00:48:49,506 >> AUDIENCIA: [inaudible] 1129 00:48:49,506 --> 00:48:50,922 ALTAVOZ 1: Lo siento, un poco más fuerte? 1130 00:48:50,922 --> 00:48:53,250 AUDIENCIA: [inaudible] Todo está en HTML. 1131 00:48:53,250 --> 00:48:57,130 Y de hecho, que es, porque lo interesante de PHP 1132 00:48:57,130 --> 00:48:58,880 es que fue diseñado ser, para una mejor 1133 00:48:58,880 --> 00:49:02,110 o para mal, entremezclado con código HTML. 1134 00:49:02,110 --> 00:49:05,850 Y de hecho, a pesar de que este archivo, froshim cero punto PHP, 1135 00:49:05,850 --> 00:49:11,470 tiene un comentario de PHP en la parte superior de ella, todo es sólo HTML. 1136 00:49:11,470 --> 00:49:17,655 Pero por el contrario, si abro, vamos a digamos, regístrese cero punto PHP, que 1137 00:49:17,655 --> 00:49:19,550 solo tiene un gran comentario en la parte superior. 1138 00:49:19,550 --> 00:49:26,500 Esto también se ve casi en su totalidad como HTML, excepto por qué? 1139 00:49:26,500 --> 00:49:29,350 Línea, lo que, 21 se ve un poco raro. 1140 00:49:29,350 --> 00:49:32,739 >> Pero noto que estoy entrar en el modo PHP con el soporte abierto signo de interrogación PHP. 1141 00:49:32,739 --> 00:49:33,780 Entonces tengo algunas cosas. 1142 00:49:33,780 --> 00:49:36,724 Y luego, al final de esa línea Casi tengo, Signo de interrogación PHP. 1143 00:49:36,724 --> 00:49:38,390 Y esto es lo que quiero decir con entremezclados. 1144 00:49:38,390 --> 00:49:41,910 Usted puede escribir HTML que acaba de quiere que el servidor para escupir. 1145 00:49:41,910 --> 00:49:45,090 Pero si quieres hacer algo partway dinámico a través de la página, 1146 00:49:45,090 --> 00:49:47,699 como insertar mi nombre o dormitorio o nivel de comodidad, 1147 00:49:47,699 --> 00:49:49,490 Puedo utilizar una función como la impresión r, que es 1148 00:49:49,490 --> 00:49:52,492 imprimir recursivo, que sólo significa imprimir esta variable, formatearlo 1149 00:49:52,492 --> 00:49:53,200 como quieras. 1150 00:49:53,200 --> 00:49:55,880 En realidad no es para propósitos humanos, es sólo 1151 00:49:55,880 --> 00:49:58,290 con fines de diagnóstico o de depuración. 1152 00:49:58,290 --> 00:49:59,460 Así que esa es la forma en que lo hice. 1153 00:49:59,460 --> 00:50:06,100 >> Si en cambio voy froshims dos puntos PHP, cuenta de que la acción de esta forma 1154 00:50:06,100 --> 00:50:09,680 no está registrado cero punto PHP como la old-- la anterior era en realidad. 1155 00:50:09,680 --> 00:50:11,222 Pero ha registrado dos puntos PHP. 1156 00:50:11,222 --> 00:50:13,680 Así que vamos a ver cómo éste se comporta un poco diferente. 1157 00:50:13,680 --> 00:50:15,140 Si entro en la versión dos. 1158 00:50:15,140 --> 00:50:20,430 Si aquí, si me registro como David, menos cómoda, desde el dormitorio de Mathews, 1159 00:50:20,430 --> 00:50:21,480 registrarse. 1160 00:50:21,480 --> 00:50:23,770 Así que esta vez, dijo, que se registran, en realidad no. 1161 00:50:23,770 --> 00:50:25,370 Vamos a ver lo que hice aquí. 1162 00:50:25,370 --> 00:50:29,760 Si miro registro dos puntos PHP, esto tiene un poco más de código PHP. 1163 00:50:29,760 --> 00:50:35,410 Es un poco más limpio, aunque Todavía se ajusta un poco largo en esta línea. 1164 00:50:35,410 --> 00:50:36,260 Nótese aquí. 1165 00:50:36,260 --> 00:50:40,300 Imprimo mi etiqueta HTML, mi etiqueta de la cabeza, mi etiqueta del título, la cabeza, el cuerpo. 1166 00:50:40,300 --> 00:50:45,410 >> Y entonces me pongo a decir cosas como entrar en el modo PHP. 1167 00:50:45,410 --> 00:50:48,540 Y para que la etiqueta, soporte abierto PHP-- signo de interrogación PHP dice, 1168 00:50:48,540 --> 00:50:53,460 bueno, servidor, execute-- interpretar las siguientes cosas como PHP 1169 00:50:53,460 --> 00:50:55,030 hasta que vea la etiqueta final. 1170 00:50:55,030 --> 00:50:58,590 Y a pesar de que usted puede no saber ninguna otra PHP de lo que has visto hasta ahora, 1171 00:50:58,590 --> 00:51:01,290 puedes tipo de lectura bastante intuitiva. 1172 00:51:01,290 --> 00:51:10,670 Si el nombre está vacío, o la comodidad es vacío, o dormitorio está vacía, ¿qué hago? 1173 00:51:10,670 --> 00:51:12,830 ¿Qué le digo al usuario? 1174 00:51:12,830 --> 00:51:15,330 Usted debe proporcionar su nombre, comodidad y dormitorio, y así sucesivamente. 1175 00:51:15,330 --> 00:51:17,750 Si no, digo que eres registrado, así no realmente. 1176 00:51:17,750 --> 00:51:19,190 >> Y yo no digo de verdad porque no hay ninguna base de datos. 1177 00:51:19,190 --> 00:51:20,200 No voy a hacer nada con los datos. 1178 00:51:20,200 --> 00:51:22,408 Sólo estoy tirando a la basura con fines de demostración. 1179 00:51:22,408 --> 00:51:24,320 Ahora me tipo de escatimado borde 22. 1180 00:51:24,320 --> 00:51:26,400 Hay más de sintaxis allí, pero el signo de dólar 1181 00:51:26,400 --> 00:51:28,320 subrayan post es bastante interesante. 1182 00:51:28,320 --> 00:51:30,300 Y esto es lo que es bueno de PHP. 1183 00:51:30,300 --> 00:51:35,610 En PHP, usted tiene lo que se llama algunas variables globales súper. 1184 00:51:35,610 --> 00:51:38,430 Ellos son una especie de aún más importante que las variables globales. 1185 00:51:38,430 --> 00:51:41,370 Y estos, todo en mayúsculas como tal, viene con PHP. 1186 00:51:41,370 --> 00:51:44,550 Así que si usted tiene un servidor que tiene un servidor web instalado, como Apache, 1187 00:51:44,550 --> 00:51:49,390 y de instalar el idioma soporte para PHP, de repente usted 1188 00:51:49,390 --> 00:51:52,250 puede empezar a utilizar estos súper variables globales en el código. 1189 00:51:52,250 --> 00:51:54,330 >> Y lo que es bueno de PHP es que si sólo 1190 00:51:54,330 --> 00:51:57,540 escribir un archivo que termina en punto PHP, lo puso en un servidor web, 1191 00:51:57,540 --> 00:52:01,260 y luego envía un formulario a ella a través de esa etiqueta de acción y una etiqueta de formulario, 1192 00:52:01,260 --> 00:52:05,110 ese atributo de acción en el etiqueta de formulario, PHP y la web 1193 00:52:05,110 --> 00:52:09,360 completamente se da cuenta de cómo agarrar todos esos pares de valores clave a cabo 1194 00:52:09,360 --> 00:52:11,633 del URL como pregunta marca q es igual a los gatos, 1195 00:52:11,633 --> 00:52:14,782 será encontrar la manera de q y gatos. 1196 00:52:14,782 --> 00:52:17,710 Si envía una foto o un nombre de usuario, o una contraseña para como Facebook, 1197 00:52:17,710 --> 00:52:21,360 PHP averiguar para usted donde todos los que los datos se. 1198 00:52:21,360 --> 00:52:23,821 Y se acaba de entregar que una matriz asociativa 1199 00:52:23,821 --> 00:52:27,560 llamado dólar puesto de signo de subrayado, o signo de dólar subrayan conseguir, 1200 00:52:27,560 --> 00:52:30,590 dependiendo de si usted es utilizando GET o POST presentaciones. 1201 00:52:30,590 --> 00:52:32,950 Y sólo te hará entrega una variable global súper, 1202 00:52:32,950 --> 00:52:37,254 de modo que si usted desea conseguir en el nombre que el usuario presentó a través de esa red 1203 00:52:37,254 --> 00:52:41,894 forma, que, literalmente, acaba de decir el nombre de la variable global súper, cita, 1204 00:52:41,894 --> 00:52:43,380 fin de la cita, el nombre. 1205 00:52:43,380 --> 00:52:46,144 Y cita, comodidad fin de la cita, y cita, dormitorio fin de la cita. 1206 00:52:46,144 --> 00:52:48,810 Y nosotros vamos a ser capaces de hacer esto y mucho más con PHP. 1207 00:52:48,810 --> 00:52:50,540 Y a pesar de que esto era una mirada torbellino en ello, 1208 00:52:50,540 --> 00:52:51,980 vamos a bucear en mucho más la próxima semana. 1209 00:52:51,980 --> 00:52:54,247 Nos introduciremos una base de datos por lo que eres en realidad 1210 00:52:54,247 --> 00:52:56,816 va a empezar a aplicar su propio based-- e-comercio 1211 00:52:56,816 --> 00:52:59,150 like en el tiempo sólo una semana. 1212 00:52:59,150 --> 00:53:02,750 Así que nos vemos la próxima vez, y Espero que tengas todos los mensajes de texto. 1213 00:53:02,750 --> 00:53:05,450 Adiós. 1214 00:53:05,450 --> 00:53:06,950 >> [REPRODUCCIÓN DE MÚSICA] 1215 00:53:06,950 --> 00:53:11,450 1216 00:53:11,450 --> 00:53:12,950 >> [PUERTA ABIERTA] 1217 00:53:12,950 --> 00:53:14,475 >> ALTAVOZ 2: Hey. 1218 00:53:14,475 --> 00:53:15,350 ALTAVOZ 3: ¿Qué pasa? 1219 00:53:15,350 --> 00:53:17,750 ALTAVOZ 2: ¿Qué estás haciendo? 1220 00:53:17,750 --> 00:53:19,850 ALTAVOZ 3: Trabajo en un conjunto de problemas. 1221 00:53:19,850 --> 00:53:21,050 ALTAVOZ 2: Niza. 1222 00:53:21,050 --> 00:53:22,550 Choca esos cinco. 1223 00:53:22,550 --> 00:53:23,150 >> [HIGH FIVE] 1224 00:53:23,150 --> 00:53:25,584 >> Qué trate: eh, ¿qué estás haciendo aquí? 1225 00:53:25,584 --> 00:53:26,750 ALTAVOZ 3: Apenas colgando hacia fuera. 1226 00:53:26,750 --> 00:53:28,134 Acabo de volver del gimnasio. 1227 00:53:28,134 --> 00:53:30,050 Yo no podía dejar de notar cuando-alta chocó palmas, 1228 00:53:30,050 --> 00:53:32,450 que tiene las manos muy ásperas. 1229 00:53:32,450 --> 00:53:33,950 ¿Vas al gimnasio? 1230 00:53:33,950 --> 00:53:35,150 >> ALTAVOZ 2: No. 1231 00:53:35,150 --> 00:53:36,650 No. 1232 00:53:36,650 --> 00:53:38,450 >> ALTAVOZ 3: Amigo, te ves bastante grande. 1233 00:53:38,450 --> 00:53:45,950 ¿Qué es malo, porque todo el mundo sabe 8-ball es el hombre grande en el campus. 1234 00:53:45,950 --> 00:53:48,050 Alta y cinco. 1235 00:53:48,050 --> 00:53:49,550 >> ALTAVOZ 2: Uh, no. 1236 00:53:49,550 --> 00:53:50,450 No, creo que se me da bien. 1237 00:53:50,450 --> 00:53:52,300 Creo que estoy bien. 1238 00:53:52,300 --> 00:53:54,097