[REPRODUCCIÓN DE MÚSICA] ALLISON Buchholtz-AU: De acuerdo, todos, bienvenidos de nuevo a la sección. Espero que todos hayan tenido un gran Fin de semana de Halloween, o Halloweekend, como me gusta decir, todo descansado y recuperado. Y por suerte no está nevando más. En realidad es soleado fuera. Yo estaba muy feliz por eso. No está listo para arrastrar mis botas de invierno. Con suerte, pset6 ha ido bastante bien. Si usted está cansado de C, estoy feliz decir que haya terminado con C por ahora. Totalmente Hemos hecho la transición en la programación web, por lo que va a trabajar en HTML, PHP, tal vez un poco de JavaScript. No sé lo que la semana próxima conjunto de procesadores es, por lo que no puede garantizar lo que su próximo conjunto de procesadores voluntad ser, pero conjunto de procesadores de esta semana es CS50 Finanzas, que es, básicamente, la aplicación del tipo de página web que le permite comprar y vender almacenar y realizar un seguimiento de ellos. Y es bastante cool, porque todo de ella se genera dinámicamente. Usted puede tener diferentes usuarios que cada uno tiene su propia información, y usted va a ser la implementación de todo eso. Se toma un tiempo. Definitivamente creo que esto es más fácil de C conjuntos de procesadores, pero toma más tiempo. Estás aprendiendo un nuevo idioma, PHP, que es muy similar a C, pero por supuesto que va a requerir te permite buscar y entender la sintaxis cómo convertir entre las lenguas. Pero yo no creo que haya nada súper conceptualmente difícil de este conjunto de procesadores. Es sólo el aprendizaje de la nuevo idioma y conseguir a través de todas estas pequeñas piezas. Si ustedes han leído a través de la especificación, que es bastante largo. Creo que éste es como el 21 páginas, si no recuerdo mal. Es un largo spec. Así que si usted no ha leído it-- 22. 32. Guau. Así que yo estaba fuera en un 50% allí. Así, 32 páginas. Así que es mucho tiempo. Hay un montón de piezas, pero ninguno de las piezas debe ser tan malo. Es sólo un montón. Así que definitivamente empezar temprano si es posible, como de costumbre, pero creo que debe sentir un poco mejor que especialmente los conjuntos de procesadores como recuperar y cambiar el tamaño de que son sólo muy difícil de envolver su cabeza alrededor. Así que con eso, vamos a bucear en. Yo no tengo tu agenda deslice hoy, pero estamos va a ser hablar de PHP. Voy a estar dando una especie de curso acelerado en algunas cosas que es posible que desee saber acerca de PHP. Diferentes cosas sintaxis, cosas a tener en cuenta. Vamos a estar hablando un poco acerca de SQL. Así las cosas muy simples allí, y luego también MVC es el Modelo Vista Controlador, que es la forma en que su conjunto de procesadores está configurado, por lo que la comprensión de cómo obras serán muy útiles. Bien. Así PHP. Ustedes deberían haber hecho algo muy, muy simple con PHP, que es esta cosa de fondo aquí, donde usted presentó alguna forma en la arriba aquí que tenía algún nombre que de entrada, y se diría como hola, Ben, o hola, Allison, y sería pop-up. Así que esto es realmente lo que debería haber mirado como de su conjunto de procesadores, en caso de que ustedes querían saber o no acababa de entenderlo. Pero tenemos estos signos de interrogación aquí que indican que se trata de PHP. Envuelven, y luego htmlspecialcharge, recuerda, es sólo, asegurarse de que estás a salvo de cualquier ataque de inyección loco o si alguien trata de poner caracteres maliciosos locos en su campo de nombre, no lo hace desea su servidor o lo que sea. Y luego, si nos damos cuenta, este código HTML forma tenía un método de $ _GET, que, si recordamos nuestros superglobals desde PHP, $ _GET, $ _POST, vamos a ir a los de un poco. Pero nosotros sabemos que tenemos un nombre aquí que corresponde al nombre que hemos presentado. Así que esto es sólo algo así como el muy simple colaboración PHP HTML que ustedes tenían de conjunto de procesadores de seis. Pero que en realidad no responder a lo que es PHP. Obviamente se trata de una lengua, pero nosotros no tenemos realmente hablado de ello en esta sección, así que hay un poco más acerca de lo que PHP es en realidad. Así que PHP es sólo PHP preprocesador de hipertexto. De hecho, es considerada un lenguaje de programación porque tiene lógica, mientras que si que recordamos hablando de HTML, llamamos a que un lenguaje de marcas frente un lenguaje de programación HTML, porque es la modificación de la forma estrictamente las cosas se ven en la página. Es sólo la modificación si algo es audaz, o si se trata de una forma, elemento, o algo por el estilo. No tiene ninguna lógica. No tiene lazos o condiciones. No se puede error de comprobación de cosas. Se podría mostrar cosas bien de una cierta manera o pedir cosas desde el usuario. Eso es todo. Así que con PHP, lo que realmente nos permite para hacer todas estas cosas más lógicas, como validar la entrada o manipular de alguna manera. Podemos combinarlo con HTML, como acabamos de vio en el último conjunto de procesadores y en este momento, y que nos permite crear estas páginas web dinámicas. Así que si ustedes ever-- No sé si usted fuera como yo, pero en la escuela media nos habían tomar esta clase de TI donde creamos sólo páginas web HTML, y ellos eran estáticos y haga clic en torno a a otras cosas, pero nunca cambiaron. Con las dinámicas, lo que podamos hacer es, al igual que con CS50 Finanzas, usted va a tener diferentes usuarios. Dependiendo de los usuarios ' preferencias, y lo que están comprando o lo que están vendiendo por sus acciones, usted va a visualizar diferentes cosas. Así que si hay alguna característica de identificación para el usuario de utilizar este página web, podemos dinámicamente decidir qué mostrar para ellos. No es lo mismo para todos y cada uno persona, que si tuviéramos HTML, la página sería el mismo para cada persona que visitó. PHP nos permite personalizar las páginas. Y entonces podemos poner ya sea en el mismo archivo, que, como en el caso antes aquí, vimos que tenemos HTML todos aquí y entonces tenemos este poco de PHP. Podemos hacerlo de esa manera, o con CS50 Finanzas, si ustedes han mirado a la files-- y debemos tener tiempo al paso a través de un par de ellos juntos al final de la que sección- puede ver cómo se puede realmente mantenerlos separados, que en realidad es una cosa mejor que hacer. So. Curso intensivo. Todas las cosas simples rápidos usted puede ser que necesite saber para PHP. Declaración de variables. Ese azul es un poco molesto, pero espero que ustedes pueden ver. Si no, voy a escribir lo en el tablero de tiza. Las variables que declaran. Una cosa a saber es que, a diferencia de C, PHP es vagamente o dinámicamente mecanografiado, lo que significa que no es necesario contar una variable de qué tipo es. Usted puede simplemente decir alguna variable es igual a lo que usted quisiera que, y se decidirá el tipo de esa variable en tiempo de ejecución para usted. Como verás, esto puede crear algunas cosas muy interesantes. Pero para la mayoría de los propósitos, que no es necesario especificar el tipo. Usted puede, y usted puede escribir echar las cosas como lo hace normalmente no vería si quieres obligarlo a ser un cierto tipo, pero usted no tiene que hacerlo. No va a gritar a usted si usted acaba de declarar una variable y no especificar un tipo para ella. Así que en caso de que no se puede leer esto-- Yo sé que no es la mejor. Pensé que iba a aparecer el mejor-- manera de inicializar cualquier variable es sólo con un signo de dólar, lo que usted quiere que sea su denominación, y entonces lo que estás asignándole. Así que en este caso, se trata de unos $ var = 3. Así que si alguna vez utilizamos $ var en algún lugar, lo hará sólo ser el mismo que poner 3 allí. ¿De acuerdo? Por lo tanto, cualquier variable, sólo signo del dólar, lo que sea al que desea llamar la variable, y lo que quieras a la igualdad. Poco más fresco. Menos de escribir para inicializar una variable, ¿no? ¿Eso tiene sentido para todo el mundo? Justo diferencia sintaxis rápida entre C y PHP. Las matrices son mucho más fresco en PHP. Podemos darles las llaves. Así que la manera de pensar acerca de es que, si alguna vez querido acceder a un elemento dentro de una matriz, lo que necesitamos saber la Índice de ella, ¿verdad? Así que sabemos que con C, nos podría acceder al primer elemento haciendo soporte de matriz cero, o si quiere que el primer elemento, soporte matriz uno. Y si queríamos algo allí, podríamos tiene que recorrer, a menos que que en realidad sabíamos que el índice. Una cosa que es realmente fresco con arrays de PHP es que son lo que llamamos asociativo. Así que podemos asociar alguna clave a algún valor, y en realidad estamos yendo a-- yo te mostraré cómo podemos usar esto en un segundo. Pero, básicamente, si alguna vez quieres para inicializar una matriz de esa manera, Tiene unos $ array. Así que de la misma manera, es sólo alguna variable que estamos creando. Esto podría ser llamado cualquier cosa que quisieras. Esto podría ser de $ ejemplo. Sólo otro variable. Lo que hace que una matriz es el sintaxis soporte que tenemos aquí. Al igual que C. normal y nos tener alguna clave para algún valor. Así clave1 va a valor1, key2 dos va a valor2. Estos pares están separados con una coma, al igual que las matrices normales. Sin embargo. Grande. Claves son opcionales. Usted no tiene que usarlos. Y si no lo hace, entonces es simplemente normal. Pregunta? O, oh. AUDIENCIA: Bueno, sobre la derecha. ¿Dónde está la memoria viene? Puede también ser el mismo como [Inaudible] y de la pila? ¿Es eso también usando PHP? Como cuando los estamos vinculando? ALLISON Buchholtz-AU: Con PHP, No tendemos que preocuparse de donde nuestro memoria viene. No pasamos mucho tiempo hablando de eso, así que no es realmente nada usted necesita preocuparse. Así teclas son opcionales. De la misma manera, si no lo hace querer hacer esta asociada, lo que desea es una matriz normal donde matriz cero es el primer elemento y la matriz es el segundo elemento, puedes hacerlo exactamente como lo haría en C. Usted tiene alguna variable que va a ser la matriz, y es igual a estos soportes aquí. Sí. AUDIENCIA: ¿Tiene el mismo punto a la notación. Al igual, que puedo hacer como una matriz ++, y que apunta a la segunda. ALLISON Buchholtz-AU: Puede hacer-- Bueno, usted puede tener un poco de iterador, i, que usted puede hacer i ++ y hacer un gama de i de la misma manera. Pero eso es todo. Así que, como en este caso, gama de 1 sería igual a 20. El mismo tipo de notación de indexación. Esto es, básicamente, sólo una cosa implícita aquí, donde dice cero, cero a 10, de 1 a 20, 2 a 30. Es sólo claves implícitas por ello. ¿Qué cambios con PHP es que ahora tiene el poder reasignar esas claves para hacer lo que desea. Así que una cosa es aquí. Así que tengo sólo algunos ejemplos aquí que yo escribí para ustedes porque me siento como ejemplos siempre ayudar a algo más que el resumen. Así, en este caso aquí, tener un poco de matriz asociativa ese es mi nombre de pila, mi apellido, y yo estoy haciendo eco, que es justo para todos los propósitos aquí va a imprimir a la salida de aquí. Y dice, en Aceptar. Imprima el valor que corresponde a la matriz en clave Allison. Y yo también te puedo enviar chicos todo este código después de la clase. Así que, cuando nos encontramos esto, ¿qué hacer usted piensa que va a suceder? ¿Qué va a imprimir? AUDIENCIA: Sus apellidos. ALLISON Buchholtz-AU: Mi apellido. Lo hace. Justo aquí. Imprimir. Así que si tuviéramos que cambiar esto y nos eran para agregar otra persona a nuestra películas-- Así que vamos a decir que tenemos Emma aquí, y asociamos su última nombre-- Vamos a ver si me ola ese derecho. AUDIENCIA: Sí. ALLISON Buchholtz-AU: Sí. AUDIENCIA: Buen trabajo. ALLISON Buchholtz-AU: Lovely. Así que ahora si tenemos esto aquí y queríamos encontrar su apellido, lo tienes ahí. Así que sólo puede pensar en él como la sustitución de esta clave aquí. No eres más que reemplazar el índice. Por lo tanto, le permite sólo una búsqueda a través de un conjunto mucho más fácil. No es necesario conocer el índice. Mientras esta clave que usted está buscando para existe en algún lugar de la matriz, PHP lo encontrará y volverá el valor asociado con ella. Por lo tanto, le da mucho más el poder con sus matrices. Sí. AUDIENCIA: Si tiene dos teclas de las mismo, se le dará un error? ALLISON Buchholtz-AU: Se debe darle un error, sí. ¿Eso hace un poco más sentido para ustedes? Y de la misma manera, tenemos una gran variedad aquí que no tiene ninguna tecla. También esta es una sintaxis que es posible que desee a tener en cuenta, porque usted tiene que utilizar esto en su conjunto de procesadores. Cada vez que usted está haciendo una eco, tienes estas citas, y cada vez que te refieres a parte de una matriz, usted tiene que tener estos llaves alrededor de ellos. Es un poco molesto, pero sólo tienes que hacerlo. Así que sólo algo a tener en cuenta. Si usted está funcionando en errores de, Sé que esto existe en mi arsenal pero está lanzando errores en mí, trate de poner los frenos a su alrededor y debería funcionar. Así que en este caso aquí, esta es una gama normal de C que estamos acostumbrados. Tiene tres, cinco y seis, y sólo quiere imprimir el primer elemento, por lo que este debe imprimir tres. Y yo he corrido todo esto, por lo que esperemos que nada cambió. Nos vemos en la parte inferior aquí, sólo imprime tres. Enfriar. Eso tiene sentido para todo el mundo? Las matrices asociativas. Mucho más frío que las matrices normales. Esta es qué-- Hizo David le muestre la ejecución de PHP pset6 durante la conferencia en absoluto? Okay. Así que, te voy a mostrar. No sé si fuera poco el t-- AUDIENCIA: Lo hizo la semana pasada. ALLISON Buchholtz-AU: ¿Fue la semana pasada? AUDIENCIA: Sí. ALLISON Buchholtz-AU: Sí. Así speller puede hacerse en como seis líneas con PHP, y parte del poder de ese es esta matriz asociativa donde que sólo puede cargar cada palabra en, y lo tienes igual a verdadero o falso. Y así se puede decir, oh. Volver diccionario en alguna palabra, y si está allí, se volverá realidad. De lo contrario, no va a encontrar y que va a volver falsa. Así que una especie de cosa poco fría. Bien. Así que esas son las matrices asociativas. Son bastante fresco. Realmente me gustan. Y obviamente esto-- Ah. Okay. Ahora se está trabajando. Tal vez. Okay. Otra cosa. Así, con la igualdad, sólo un Lo interesante a tener en cuenta. Con PHP, ya que se escribe de forma dinámica, el tipo puede cambiar dependiendo de cuando lo ejecuta, cómo se está ejecutando ello. En realidad tengo un poco de frío ejemplos que te voy a mostrar chicos. Pero == solo comprueba para la igualdad después de Tipo de malabares. Así que si tienes algo que es como el personaje 1 y el número 1, PHP le decía que esas son iguales porque puede hacer malabares con los tipos de la dos de ellos hasta que es igual, que tal vez para su caso está muy bien. Si usted necesita ver si son la mismo tipo de valor y el mismo tipo, desea que esta ===. Y yo no creo que haya ninguna caso en el que es necesario utilizar que en el conjunto de procesadores, pero para una gran cantidad de ustedes que va a pasar a hacer páginas web para sus proyectos finales y las cosas, es una buena cosa para saber que == y === son diferentes, y que es una buena distinción de entender. Okay. So. Bucles foreach. Son una forma de recorrer una matriz. Así, al igual que los arreglos se hicieron mucho más fresco en PHP, su manera de iterar a través de una matriz, en mi opinión, también se hace mucho más frío y mucho más potente. Así que en lugar de tener que crear algunos para i es igual a 0 y lo que sea, y luego actualizar esa i medida que avanza a través de, tenemos este bucle foreach impresionante. Así que aquí está la Norma General la estructura de estos dos. Así que o bien tienen alguna variedad foreach como el valor que desea repetir como. Así que este es el nombre de la matriz variable que desea hacer referencia, y esto es lo que quieres llamarlo dentro del bucle. ¿De acuerdo? Así que esto corresponde a cada elemento de la matriz, y utiliza este valor dentro de este bucle. Tengo un ejemplo. Conozco ejemplos son mucho mejores. Y por lo que este es si hay no hay llaves, así que esto es como Si sólo tenemos uno donde las claves son los índices normales para su arreglo. O esto también es en el caso si usted no tiene ningún uso para las claves. Si no se preocupan por las claves y que acaba de quiere recorrer con los valores para cada uno de aquellos en cualquier orden, Eso está bien. Puede utilizar la estructura. De lo contrario, si hay teclas, nuestro $ Valor sólo cambia a $ valor de la clave. Así que sólo cambia a un par de valores clave. Y entonces podemos referirnos a $ clave y valor dentro de nuestro bucle. ¿De acuerdo? So. Ejemplo. Que sea más agradable. Okay. Así que tenemos este uno aquí, que tenemos un poco de trate: Usted también puede crear una matriz como esta por tener alguna variable igual a matriz con paréntesis, o simplemente puede hacer soporte. Usted debe hacer el soporte, pero esta es otra manera de hacerlo. Así que aquí tenemos un poco de variedad de tres elementos de uno, dos y tres, y tenemos nuestra foreach. Observe éste corresponde a la matriz que estamos iterando sobre, y esto es lo que estamos llamando cada cosa en nuestro arsenal. Y todo esto está haciendo es que es va a imprimir cada valor. Así que si lo ejecutamos, nos damos cuenta de que nosotros tener valor uno, valor de dos, tres valor. Y de la misma manera que normalmente matrices deben ser de un tipo, matrices no tienen que todo ser del mismo tipo aquí. Así que ahora tenemos un poco de int. Tenemos dos cuerdas. Así que las matrices pueden conseguir mucho más potente y tal vez un poco Messier poco, dependiendo sobre la forma en que desea verlo. Así que podemos cambiar esto a lo que queramos. Utilizamos valor. Eso es justo lo estándar que utilizamos. Pero, sólo es importante para saber que podemos llamar a esto como contador si queríamos. Y siempre y cuando coinciden, obviamente, todo el mundo es feliz. Si alguna vez desea ejecutar un PHP ejecutar algo como este comando línea usted sabe esto aquí, usted acaba de hacer PHP, y entonces cualquier cosa archivo que desea ejecutar. Así que si usted quiere perder el tiempo con PHP, y más de la lógica y usted realmente no necesita ver como en un navegador web, sólo se puede ejecutar en la línea de comandos como la y se imprimirá eco a lo que quieras. Okay. La otra forma que tenemos es así. Así que este es un caso en el que tal vez usted quiera utilizar tanto la clave y el valor, Sé que estos son como ejemplos súper artificiales pero espero que hacen es un poco más claro. Así que aquí tenemos un poco de variedad de nuevo, pero esta vez, en lugar de sólo tener usted sabe que no hay clave. Tenemos claves para cada uno de ellos. Así que una va a ser uno, b se corresponden a dos, y c corresponderá a tres. Y en este caso, si escribimos de esta manera, tenemos acceso a ambos clave y el valor de cada una de ellas. Así que cuando nos encontramos este, tenemos cada uno de aquellos. Así que imprime las llaves y los valores correspondientes. Otra cosa interesante es que, y yo sé dicho como éste no tenía llaves, pero siempre tiene implícita una clave, porque si no delega una clave, por supuesto, su teclas son sólo sus índices o índices por lo que pudimos siempre también hacer éste. Como este. Voy a imprimir. Así que en este caso, si te fijas, tenemos nuestras claves implícitas de cero, uno, y dos aquí. Y de la misma manera con éste, siempre puede decir r como valor, y sólo tiene acceso al valor. Usted no se preocupa por su teclas, incluso si tu tiene teclas, si no te importa ellos, no lo hace necesariamente que poner en su bucle foreach. ¿Eso tiene sentido para todo el mundo? AUDIENCIA: ¿Puede usted acaba de llamar a las teclas, también? ALLISON Buchholtz-AU: Sí usted totalmente podría hacer eso, también. En realidad, espere. Espere. sería it-- No. Si desea que la clave, a continuación, que tiene que hacer clave para el valor. AUDIENCIA: Agregar valor. ALLISON Buchholtz-AU: Sí. Y que nunca se utiliza el valor es todo. AUDIENCIA: OK. ALLISON Buchholtz-AU: Si sólo hay que poner una cosa en allí, que va a suponer que usted es hablando sobre el valor, no la clave. Muy buena pregunta. Bien. Enfriar. En realidad, espera. Déjame ver lo que tengo. Así que antes de entrar en puesto y obtenemos, yo sólo quiero que le muestre chicos un poco sobre la forma en que es dinámicamente mecanografiado, que es una especie de fresco. Tengo todos estos. Tengo como cuatro ejemplos hasta aquí, y yo te enviaré todo este código después de la clase. Así que aquí tenemos alguna variable a. Eso es sólo 1 más 1, ¿no? Y vamos a imprimir lo que es igual a, y entonces tenemos algún tipo. Y nadie tiene ningún conjeturas acerca de qué tipo va a ser? AUDIENCIA: Un int. ALLISON Buchholtz-AU: Sí, es un int. Por lo tanto, sólo los agrega juntos. Es un int. Todo bien. Así que este próximo, tenemos lo que parecen cuerdas. Cuando corremos esto, piensa, oh. En realidad estás tratando añadir simplemente las cosas. Usted acaba de conseguir confundido. Así que sólo voy a arreglarlo para usted. Vosotros pensasteis int. Sé que querías decir int. Así que esta es una de las maneras que usted puede ver, PHP tiene una mente propia. A pesar de que hemos dicho de forma explícita, mira, estos son cadenas. Me refiero a la cadena uno. Pero dice, oh, pero usted está tratando de añadirlos, por lo que debe significar que es un número entero. Sólo confía en mí en esto. Por lo tanto, dice que es un número entero, y los agrega como normal. Así que un poco de fresco si vas para obtener perezoso con sus cosas, o si desea agregar algo. Una gran cosa es que, si piensas en PSet2, algo que era usuario introduce, derecho, que pensamos es un char o una cadena en un primer momento. Ahora no tenemos que explícitamente decir, oh, hacen de este un int. PHP acaba de ser como, oh sí. Sé que querías decir un int. Tonto usted. Usted no decir una cadena. Así que en ese caso, ahora que tenemos esto, lo que Qué piensan ustedes que va a hacer aquí? Contamos con una cadena y un entero ahora. AUDIENCIA: Es todavía un int. ALLISON Buchholtz-AU: Es todavía un int. Y la razón es-- me pondría más ejemplos, pero la diversión de éste. La razón por la que está haciendo es porque es como si usted está tratando de añadir cosas. Así que si usted está tratando de añadir cosas, voy a asumir, razonablemente, que tiene algo razonable de que se podría añadir. Yo sólo voy a hacer que sea un int, y sólo vamos a añadir que, como de costumbre. Y a continuación, de la misma manera, yo piensan ustedes entiende la idea. También tenemos este de aquí, que es sólo chamusca, y lo hace de la misma cosa. Es como, que el usuario tonto. usted sabe que quiere un int. AUDIENCIA: Si ponemos una carta, la voluntad que haga el [inaudible] valor o no? ALLISON Buchholtz-AU: ¡Oh, que es una buena pregunta. Vamos a ver. No, todavía es un int. Así que es un poco loco. Esto es sólo un poco para mostrarle PHP a veces puede comportarse de irrational-- No totalmente irracional, pero podría comportarse de maneras que usted realmente no espera. Así, en caso de duda, consulte los tipos de cosas. Esta función gettype puede ser muy útil. Por lo general, si usted está haciendo cualquier cosa con pros o cualquier operadores matemáticos, que va a suponer nada razonable es sólo un int. Por lo tanto, usted tiene carbón 1, o una cadena 1, o el real int 1, que va a suponer que. Si quiere encasillarse cualquier cosa, está en completo puede. Usted podría hacer algo como duplicar aquí, creo. Y en ese caso, que va a decir, oh. Voy a hacer de esto una doble porque usted ha dicho explícitamente que es un doble. Usted puede siempre explícitamente hacer PHP hacer algo, pero. AUDIENCIA: Espere, ¿por qué es un plus 1 allí? ALLISON Buchholtz-AU: Oh. Ya está. Era sólo un eco. Ese fue mi culpa. Así, se puede decir de forma explícita a hacer algo de cierto tipo, pero la mayor parte del tiempo, se va a decidir dinámicamente que en tiempo de ejecución. Así que va a seguir adelante a través de y que va a ser como, OK. Lo que hace que la mayor parte sentido de que se trata? En caso de que en realidad ser una cadena? ¿Debe ser un int? ¿Debe ser un flotador? ¿Debe ser un doble? Y va a decidir por usted. Usted puede obligarlo a hacer lo que quiere, pero- AUDIENCIA: ¿Eso lo hace más lento? ALLISON Buchholtz-AU: Bueno, Quiero decir, C es muy eficiente. Creo que es definitivamente más lento porque se tiene que el proceso sea lo que va. C, estoy casi seguro que es más rápido. Pero, obviamente, hay una muchas cosas interesantes en aquí que nosotros no tenemos que preocuparnos. Por lo tanto, si estamos buscando a través de una matriz, que no tienen que crear en realidad algunas de búsqueda a través de la matriz. Sólo podemos pedir la llave y PHP se hará cargo de ella. Enfriar. Impresionante. Parece que el final de mis ejemplos. Ustedes nunca van olvidar que ahora. Vas a ser como, oh, PHP es sólo como la madre que como no, no, no. Yo sé lo que quieres decir. Yo sé lo que quieres. Okay. Así que esto es, con suerte, útil para su conjunto de procesadores, por lo menos en el principio, porque usted es todo sobre cómo tratar con las formas y las cosas desde el usuario. Así que hay dos formas en que nos pasar alrededor de información con PHP y HTML cuando estamos pasando entre esas dos cosas. Así que tenemos $ _GET, que se pasa a través de la URL, y tenemos $ _POST, que se pasa en el mensaje cuerpo, y por lo que consideramos que es oculto. Pero una cosa a entender es que ninguno de éstos se consideran seguros. Si tienes a alguien que es interceptar los mensajes que van de ida y vuelta entre usted y el servidor, aún pueden obtener estos datos. Sólo tienen que mirar un poco más difícil. No es realmente que-- es simplemente escondido de la URL. Todavía está en el cuerpo del mensaje, sin embargo, por lo que si tienen acceso a eso, no deja de ser como-- Es como la diferencia entre algo siendo escrito en el exterior de un ser sobre y algo escrito en un pedazo de papel en el interior. No es tan difícil de abrir el sobre y obtener el trozo de papel en el interior. Por supuesto, sería mucho más fácil acabo de leer el exterior. Pero así es como se puede tipo de pensar de ellos. Ninguno de estos son realmente considerado seguro. ¿De acuerdo? Por supuesto, en realidad no importar para su conjunto de procesadores porque no se está tratando con los secretos comerciales, pero es típicamente uno Lo que realmente gustaría destacar porque la gente pensar, oh, bueno, es oculto. Debe ser súper seguro. No. No es seguro. Es sólo un poco menos inseguro, supongo. O no seguro. Así que en realidad tenemos un ejemplo. Como ustedes saben, me encanta enseñar más con ejemplos. Siento que esto ayuda a mejorar. Por lo tanto, tenemos una cierta forma sencilla aquí que en realidad, si ustedes están siempre confundido acerca de PHP, esto es realmente pequeña, pero es en realidad php.net muy buena documentación. Me gusta mucho. Yo estaba usando para preparar este sección, así que puede que veterinario para usted. Este es un ejemplo de ellos sobre cómo $ _POST y $ _GET trabajo. La única diferencia entre los dos de estos, además, donde la información es aparece, ya sea en la URL o en el cuerpo, es también lo que el método es. Así que en su forma de HTML-- Este es una forma muy simple de HTML. ¿Puede alguien decirme lo que hace? AUDIENCIA: Pregunte por su nombre y edad. ALLISON Buchholtz-AU: Exactamente. Así que tenemos algunas acciones de formulario. Que nos permite saber que es algún tipo acto. ¿Y qué va a pasar es decir, cuando golpeamos Presentar, que va a llamar action.php, que es lo que es esto, y que va a llamar con un método de $ _POST. Así que en este caso, su la información está oculta. y es sólo su nombre, algunos tipo de entrada llamado nombre, una edad, input type = "text" que también llamamos edad. Y luego, si golpeamos Presentar, Presentar llamará action.php. Por eso, cuando en realidad pulse enviar, nos saber que se ha publicado, per se, y que en realidad veremos esto en su establece problema que espero que vamos a llegar a caminar a través de un poco. Y todo lo que se está haciendo aquí es la POST es alguna variable superglobal que hemos hablado durante la conferencia. ¿Y cómo se puede pensar alrededor de $ _POST es que es sólo una matriz asociativa. ¿De acuerdo? Así que esto es alguna clave, esta es alguna clave, y lo que sea la entrada del usuario se convierte en una valor para cada uno de aquellos. ¿De acuerdo? Así que si tuviéramos que escribir lo que esta matriz realmente parecía justo después de que enviado el formulario, lo haríamos tienen, esta es nuestra $ _POST, y un poco de variedad en el que tenemos un nombre. Digamos que vamos a hacer mi nombre, y entonces tenemos una edad, 21. Woo. Así que todo esto es $ _POST es. $ _POST es sólo una matriz asociativa, ¿de acuerdo? Sólo dice, en Aceptar. ¿Cuáles son las cosas que hemos pedido del usuario? ¿Cuáles son las variables que estamos pasando alrededor que hemos pedido en esta forma? Y entonces, ¿qué son los valores asociados con eso? Así que en este caso, si me lo presentó con un nombre de aliado y una edad de 21 años, esto es lo que $ _POST parece. ¿De acuerdo? Y esto es lo que esta Archivo PHP tiene acceso. Bien? Así que en este caso, esto es como conseguir cualquier otra cosa de nuestra matriz. En lugar de un índice en nuestra matriz, tenemos alguna clave. Así que esto va a dar me el valor al nombre de la clave. Así que esto va a ser aliado, y este derecho aquí me va a dar el valor en $ _POST donde el clave es la edad, que será el 21. Usted va a estar haciendo esto un poco. Sí, de la que parte? AUDIENCIA: Cuando eras apuntando a la parte inferior. ALLISON Buchholtz-AU: Esta parte inferior? Okay. Por lo tanto, usted entiende que este es nuestro HTML formar, y tenemos algún método $ _POST, que importa. Esto también podría ser de $ _GET, pero para este propósito, sólo vamos a decir que es $ _POST. Cuando nos sometemos esta forma, este es parte de un archivo PHP que se llama. Así que este archivo PHP ahora va a ejecutar teniendo en cuenta la información de nuestro HTML forma. Así que lo que está haciendo es, cuando pulsa Enviar en el formulario HTML, que te está pasando esto superglobal, que es sólo una matriz asociativa. Es esto. Es como pasar de que en el archivo. Y lo que dice es, OK, aquí está $ _POST. Es su matriz asociativa. Hacer con ella lo que quieras. Y que estamos diciendo, OK. Dame el valor en el nombre, y me da el valor a la edad. Así que estas son sólo las llaves, y esta es nuestra matriz. ¿Eso tiene sentido? AUDIENCIA: Mhmm. ALLISON Buchholtz-AU: Awesome. AUDIENCIA: Si tiene que volver a presentar la forma no se acaba de escribir sobre los datos? ALLISON Buchholtz-AU: Sí. Mhmm? AUDIENCIA: ¿Por qué tienes para especificar que se trata de un int? ALLISON Buchholtz-AU: En este caso, el usuario es sólo lo que obligó a ser un int. AUDIENCIA: OK. ALLISON Buchholtz-AU: No sé si usted realmente necesita que, pero para sus propósitos, decidieron que ellos querían que fuera un int. Sólo están encasillamiento ella. Tal vez están usando como algo más adelante. Este es sólo un fragmento. ¿Sí? AUDIENCIA: ¿Qué pasa si ellos escriben 12, T-W-E-L-V-E, para la edad? ALLISON Buchholtz-AU: Si tratado de escribir que como un int? AUDIENCIA: Sí. ALLISON Buchholtz-AU: Yo olvidemos lo que hace. Yo creo que puede tratar de convertir el primer carácter de un int, o tomar el valor y convertir , pero se me olvida exactamente lo mismo. Sea una cosa divertida de escribir un programa y tratar. Hacer un par de líneas. Aceptar, por lo que este es uno de los principales las cosas que vas a estar haciendo. Voy a caminar con suerte a través de un par de los archivos del conjunto de procesadores con ustedes. Parece que vamos a tener tiempo, por lo que podemos hacer eso. Pero tú vas a ser haciendo un montón de cosas como este, donde estás pasando las cosas desde un formulario HTML en esta forma de PHP que luego ejecutar un conjunto de instrucciones en los datos que se proporcionan. Eso es, literalmente, la esencia de su conjunto de procesadores. Sí. AUDIENCIA: El type = "submit", que hace que un botón en el formulario HTML. ¿Hay manera de llamar ese botón algo? Así que estarías como name = "submit"? ¿O es que el botón sólo va a ser vaciar en este momento, ya que sólo le dio un tipo, no un nombre. ALLISON Buchholtz-UA: Creo que es sólo va a estar vacío en este momento. Sin duda, nos podemos mirar en el conjunto de procesadores, ya que definitivamente estar mirando a la regístrese tipo de cosas. Pero sí, definitivamente se puede especificar el texto que desee en su botón. Aceptar, por lo que SQL. Cuando usted va a comprar y vender acciones, lo que necesita para realizar un seguimiento de ellos. Así que la forma en que vamos a hacer es que con SQL, que es sólo una base de datos. Piense en ello como una mesa donde que está manteniendo toda esta información acerca de sus diferentes usuarios. Y ustedes son en realidad va a crear uno de estos. Es muy bueno. Y sólo hay cuatro cosas principales que usted necesita saber para este conjunto de procesadores, y son la actualización, por lo que básicamente actualizar los datos. Eso supone que ya está allí. Si no está allí, va a golpearte con un error, así que tal vez desee comprobar. Y usted actualizar en-- I debe realidad- tengo tiempo, Voy a escribir un par de estos. Yo en realidad le dará chicos un par de la muestra, los comandos SQL completos, porque estos son sólo la principal queridos, pero usted puede unirse a ellos en conjunto. Así que voy a hacer eso y voy a enviar que a usted con estas notas. Así que si usted desea actualizar algo, que tenga que decirle que lo que estás actualizando y donde usted está actualizándolo. Así que un comando SQL típico sería actualización Identificación en el que algo es igual a algo. O como dirección de la actualización donde ID es igual a 3, y esto sería actualizar el campo de dirección de su usuario con un ID de tres. ¿De acuerdo? Así que si vas a SQL y W3Schools, tienen ejemplos impresionantes. De hecho, puede ser que tire algunos hasta en un poco. Y luego insertar en, no eres más que la inserción de ciertos valores allí. Así que si usted está tratando de crear una nueva entrada, por lo que va a crear un nuevo usuario, usted podría hacer INSERT INTO cualquiera que sea su base de datos se llama, y usted tendría todos estos valores. Entonces usted tiene seleccione, seleccionar valores para ver. Así que si usted está tratando de comprobar que ver si existe un usuario, o eres tratando de agarrar específica información acerca de un usuario usted va a estar usando select. Y a continuación, eliminar, creo, es bastante simple allí. No eres más que la eliminación de algo de la mesa. Y, de hecho, déjame en realidad saco algunos ejemplos para ustedes. Oh, mira, es mi página 61. Así que si vamos a W3Schools, esperemos que le toca de nuevo. Sí, me encanta. Vamos a SQL. Por lo tanto, esto es algo aquí. Por lo tanto, este es un muy simple SELECT. Hombre, me encanta esta función. Por lo tanto, usted puede tener SELECT algún campo de los clientes. En este caso, los clientes se refiere a la base de datos en línea que está utilizando, así que lo que su mesa se llama, y estrella sólo significa seleccionar todo. Dame cada uno. Así, sólo quiero dar a ustedes un par de ejemplos en los que se trata. Así que tenemos SELECT, UPDATE. Así que aquí es una especie de la sintaxis general. Así ACTUALIZAR, cualquiera que sea su nombre de la tabla es, y luego SET es donde en realidad está pasando a ser lo que los datos que está cambiando. Así que esto podría ser: Let me hago un ejemplo aquí. Así que esto va a ser: Okay. Así que he creado un poco de base de datos para nosotros. Vamos a tener un poco de Identificación, algunos años, y algunos con nombre. Así Identificación uno va a ser el año '15, y sólo vamos a hacerlo yo. ¿Quién quiere ser el segundo persona en nuestra mesa? Cualquier persona. Yo sólo voy a elegir Emma porque rápido de su nombre. Emma, ​​¿en qué año estás? AUDIENCIA: ¿En qué año? ALLISON Buchholtz-AU: Sí. AUDIENCIA: '16. ALLISON Buchholtz-AU: '16. No eres más que va a ser mi conejillo de indias para hoy. OK, así que tenemos estas dos personas. En realidad, déjame hacer esto. Digamos que la oí mal, y yo en realidad dijo que ella es un año más joven. Ella es '17. Lo que queremos hacer aquí, si nos quería actualizar año de Emma que es correcta utilizando que, lo que había hacer es diríamos datos de actualización aquí. Y todo esto puede estar en una línea, pero ya que estoy comprimido para el espacio aquí, Voy a escribir aquí. Y queremos establecer. Así que esta es la tabla que estamos actualizando. SET va a ser lo que la columna o qué datos estamos realmente cambiando. Lo que estamos cambiando es el año, por lo que vamos a decir SET año = 16, y entonces, ¿dónde nos dice que el usuario o qué fila estamos actualizando esta realidad. Entonces, ¿dónde? Tenemos dos opciones aquí. ¿Cuáles son los dos? Estos son únicos, ¿verdad? Así que nuestros nombres son únicos y nuestra identificación es única, ¿Cuáles son las dos opciones por donde podríamos hacer esto? Te voy a dar una. Podríamos hacer donde id = 2, o podríamos hacer lo si vamos fuera de este paradigma aquí. AUDIENCIA: [inaudible]. ALLISON Buchholtz-AU: Exactamente. Así también podríamos hacer name = Emma. Y cualquiera de ellos iba a funcionar. Y nos encontramos con esto, sería como, OK. Vamos a cambiar eso. Usted es en realidad 16, por lo que ahora que tienes razón otra vez. Aceptar, por lo que esta sería super útil en su conjunto de procesadores donde tal vez alguien decidió para comprar 100 acciones de Apple, y luego eran como, es broma. Yo sólo quiero 90 acciones. Y por lo que venden 10 de ellos, por lo que que tenga que actualizar el monto de las reservas que tienen. Por lo tanto, la actualización de las reservas, la actualización de la tabla. Okay. Así que eso es un ejemplo allí. Esa es la sintaxis de actualización. BORRAR. Oh. Insertar en es nuestro otro. Por lo tanto, este de aquí es muy similar. Podríamos simplemente decir, en este caso vamos a añadir a alguien. Podemos añadir Ben esta vez. Nosotros INSERT INTO, y nosotros quiere que el nombre de nuestra mesa. En este caso se trata de datos. Y luego sólo queremos, te vas a VALORES dicen, y lo que van a hacer Es decir, que realmente necesita para asegurarse de que que usted tiene algo para cada fila que desea. Usted acaba de ponerlos en orden. Así que en este caso, diríamos 3. Usted es el 18, a la derecha, Ben? AUDIENCIA: 19. ALLISON Buchholtz-AU: 19? AUDIENCIA: 19. ALLISON Buchholtz-AU: '19 de tu año? Te graduaste en '18, ¿no? AUDIENCIA: Oh. ALLISON Buchholtz-AU: El año de la graduación. AUDIENCIA: OK. ALLISON Buchholtz-AU: Yo estaba como, ¿estás ya planeando tomarse un año sabático aquí? Así, '18, tenemos a Ben. Así que en este caso, sería ir a través, crearía una nueva entrada aquí. Enfriar. No está mal, ¿verdad? Mucho de esto se va a ser sintaxis para ustedes. Conceptos deben venir, con suerte, con relativa facilidad. La sintaxis es la única cosa que puede ser un poco difícil. Y entonces nuestra última es BORRAR, y como te das cuenta, Recomiendo altamente este sitio web. Es genial. Hay un montón de cosas. Así, de la misma manera que teníamos algunos UPDATE, DELETE es muy similar. En su lugar hemos Eliminar de Datos. Así que en este caso, nuestro último uno que voy a escribir aquí abajo. Digamos que queríamos para mí borrar. No puedo escribir hoy. Eliminar en lo que sea mesa en que estamos, los datos. Y en realidad hay tres maneras podríamos elegir a mí eliminar. Pueden ustedes decirme lo que los tres formas son, cómo se podrían borrar mí? ID es igual a 1, donde ID es igual a 1. Podríamos hacer donde el año es igual a 15, o cuando el nombre es igual a Allison. por supuesto, sólo hay tres maneras diferentes, porque estos son todos únicos. Típicamente, en su mesa, y sobre todo en su conjunto de procesadores, usted va a establecer una de estas columnas sean únicos. Es, probablemente, va a ser un poco único ID número, porque si tener-- realidad, en realidad podría permitir que usted tiene dos. No puedo recordar si se va a dejar usted tiene dos de la misma cosa. AUDIENCIA: Entonces lo haría cambiar su comportamiento. ALLISON Buchholtz-AU: No lo haría. Se va a producir un comportamiento que es inesperado, que realmente no se puede predecir. Así que sin duda tendrá una columna en su base de datos que será único, y es por lo general se puede establecer de modo que es como un identificador único, y se acaba de actualizar cada vez que se inserta en la tabla. Cada vez que se cree un nuevo fila, lo hará de forma automática incrementar y darle un poco de identificación único. Así insinuar para su conjunto de procesadores. Okay. Así que es SQL. Así que ahora vamos a hablar de la última cosa, que enlaza realmente muy bien con su conjunto de procesadores, si seguiría adelante. Así MVC, modelo vista controlador. Esto es realmente sólo una forma para mantener las cosas organizadas. De la misma manera con C le pedimos que chicos para crear funciones y cosas separadas a cabo, esto es sólo una manera de separar código cuando usted está haciendo desarrollo web. Por lo que hace las cosas mucho más elegante y simplificado, y esto es en realidad la forma que el conjunto de procesadores es en realidad configurar, así que si te gusta o no, vas a aprender, incluso si usted no cree estás aprendiendo él. Y una cosa es, sino que también le permite a hacer mucho más como una colaboración de usuario. Así que cuando tomé CS50, hice un sitio web para mi proyecto final, y yo estaba como, voy a manejar el material de base de datos. Voy a hacer de nuevo cosas final, y mi compañero de cuarto que estaba tomando con él era muy artístico. Ella hace escenografía, y ella quería hacerlo todo bonito. Así que yo soy como, OK. Usted puede tomar el cuidado de todo el material frontal. Y la cosa es que, como vamos a ver muy pronto, ese controlador de vista del modelo que permite separar completamente ese código tan que yo podía trabajar en la implementación de nuestras páginas, y la información de la manipulación en nuestras bases de datos, y ella sólo podía hacer las cosas bastante, y los dos estábamos muy contentos, porque nosotros tenemos que hacer lo que ambos nos queríamos y nos no tener que lidiar con el otro. Así que nos pasamos el rato juntos. Nos gusta pasar el rato. Yo simplemente no quiero tratar con todo el CSS y HTML cosas. Yo estaba como, usted lo hace bastante. Yo me encargo de la base de datos. Así que tenemos esta realidad fresco, pequeño gran mesa. Me encantan las mesas. Y básicamente, el modelo se puede pensar es sólo su base de datos. Yo era la persona modelo para mi proyecto. Es todo sobre el almacenamiento de la información y la organización de los datos. Así que es lo que nos gusta llamar de vuelta final. Así que ustedes tendrá que lidiar con la base de datos SQL y los archivos de datos. Ese es su modelo. Su punto de vista, como puede ser que pensar, especie de que tiene sentido, es lo que su usuario ve en realidad. Es la interfaz de usuario. Es así de frente componente frente. Así que eso es lo que mi compañero de piso tiene que trabajar todo el tiempo. Ella era muy feliz. Así que eso es todo el HTML, y hay muy poco de PHP. Si usted está hablando sólo de lo que se muestra al usuario, estamos hablando de hipertexto. Estamos hablando de cómo se ve. No estamos hablando acerca de la lógica, o condiciones, o lo que sea. Todo eso consigue manejado por el controlador, ¿de acuerdo? Así que se encarga de las solicitudes de los usuarios y obtiene la información. Así que una cosa que usted debe saber sobre su conjunto de procesadores es que, en su opinión, todo lo que es en realidad información que muestra nunca debe ser hacer las llamadas a su modelo. Todo eso se maneja en su controlador. Su controlador es el que mediar entre estos dos. Se le pedirá el modelo de cierta información. Se puede recorrer en iteración que información, averiguar lo que realmente necesita de es, qué hacer con él, y luego pasará en sólo la información que necesario a la vista para que usted pueda imprimirlo fuera o mostrarla al usuario, ¿de acuerdo? Porque vemos la vista como cualquiera que sea el usuario se enfrenta, por lo que será mucho más fácil para ellos para averiguar, oh, si usted está haciendo algunos llaman a su modelo y usted está pidiendo para todos los usuarios que comience con la letra A, y que está haciendo que, en su opinión, cualquiera que pueda ver su página web potencialmente podría acceder a eso. No necesariamente quiere eso. Usted no quiere que la gente vea más en la base de datos de lo que deberían estar viendo. A tan sólo sus preferencias específicas. Así que el controlador se encarga de todo eso. Así que todos sus archivos .php que ya veremos usted puede considerar sus archivos de los controladores. Y ahí es donde estás Realmente va a ser pedir cosas desde su base de datos, y la iteración o manipular según sea necesario antes de transmitirla a poder verlo. Es un conjunto de procesadores realmente genial, en mi opinión. Creo que es un poco más como la satisfacción inmediata, porque se implementa un montón de pequeñas cosas pequeñas, y cada cosa debe trabajar por su cuenta. No como, hacer todo lo y luego ver si funciona. Al igual que con el software donde usted es como, yo soy realmente esperaba este es derecho, porque si no lo es, hay una gran cantidad de pone que podría estar equivocado. Bien. Sólo me aseguraba de que te dije todo lo que tenía que decir acerca de MVC. Sí. Enfriar. Así que en CS50 Finanzas, tenemos nuestro modelo, como acabo de decir aquí. Va a ser MySQL y phpMyAdmin. Definitivamente puedo tirar de los de arriba por lo que ustedes tienen la oportunidad de verlo. Como he dicho antes, que su SQL base de datos actúa como su modelo, y usted puede enviar lo que llamamos las consultas, que son sólo este tipo de cosas. Estos se llaman una consulta. Esta es una consulta, donde no eres más que pidiendo a su base de datos para algo, o usted está cambiando su base de datos de alguna manera. Eso es todo lo que es. Y lo hace con la funciones que le hemos dado aquí. También puede manipular a mano a través de phpMyAdmin, que definitivamente podemos echar un vistazo a. Voy a crear una muestra base de datos con ustedes. Okay. Así, el controlador. Así que en este caso, si usted notificación, todo esto es PHP. Note que es algo de su Lo principal de su controlador es que debe ser en su mayoría PHP. Si usted tiene HTML en su controlador, no muy seguro de lo que está pasando allí. De la misma manera como ya he dicho, si administrar a [inaudible] con HTML, Estoy muy interesado. Así que lo que tenemos aquí es que tienes alguna consulta. La consulta es una función que hemos construido para ustedes. Es como un envoltorio para hacer consultas a su base de datos un poco más fácil. Si no tienes eso, la sintaxis para en realidad hablar con su base de datos SQL sería diferente, por lo que sólo suministrarlo para ustedes. Nos gusta hacer la vida más fácil. Así que en este caso, pueden ustedes dime lo que esta línea está haciendo? * SELECT de alguna mesa. AUDIENCIA: Seleccione todo, desde esta tabla. ALLISON Buchholtz-AU: Exactamente. Así que está diciendo, dame todo, desde esta tabla. Y es almacenarlo en algún resultado variable. Y esto, dice, si el resultado no es igual a falso, entonces que hacemos cada uno de esto. Así que si no hay nada aquí, si su de vacío de mesa o simplemente no existe, que va a devolver false. Así que en este caso, sólo estamos haciendo seguro de que algo era en realidad vuelto a nosotros. Y entonces aquí, tenemos nuestro gran bucle foreach que estamos iterando sobre nuestra En consecuencia, y nosotros estamos llamando la fila, y decimos render esta plantilla dónde están sus datos este resultado. ¿De acuerdo? Así que es sólo el procesamiento la fila del resultado. De lo contrario, le grita. Por lo tanto, este es un ejemplo del controlador. Como puede ver, este es el sólo lugar-- Sí, lo siento? AUDIENCIA: ¿Por qué hay un símbolo de unión antes de la fila? ALLISON Buchholtz-AU: Un símbolo de unión antes de la fila. Sólo estamos iterando. Eso es también una dirección de-- AUDIENCIA: ¿Así es como C de referencia. ALLISON Buchholtz-AU: Es asegurándose de que usted es en realidad la modificación de la original y no una copia. Es de la misma manera con C donde estamos pasando por referencia aquí, sólo para asegurarse. AUDIENCIA: ¿No == en lugar de no = en PHP? ALLISON Buchholtz-AU: No es el ==. AUDIENCIA: Debido a que es igual en C es sólo-- ALLISON Buchholtz-AU: Es que no es =. Sí, no. No es ==. Debido == en PHP comprueba igualdad con alternancia, es cierto, pero la calidad extra. Así que, no es == en PHP. Es uno de los poco diferencias de sintaxis. Sí. Así que estamos iterando a través de cada fila, y hacer, si ustedes leer a través de su especificación, es sólo alguna otra función que es en realidad va a procesar todo el HTML y mostrarlo en su navegador web para usted. Okay. Por lo tanto, nos gusta pensar de los controladores como lo maneja la lógica de negocio. Como se puede ver aquí, aquí es donde estamos teniendo nuestros datos de la tabla, estamos procesando de alguna manera, y luego estamos pasando fuera. Cuando hacemos rendir un cierto plantilla, algunos plantilla es nuestro punto de vista, y estamos pasando sólo los datos que debe recibir. No todos los datos. Sólo los datos que queremos es llegar. ¿De acuerdo? Básicamente los datos después del procesamiento. Así que este es el punto de vista, esto se la plantilla suma que tenemos, y todo esto está haciendo es, usted puede tener un poco de PHP en su vista. No es como un no de PHP a la vista. Usted sólo debe tener muy PHP mínima a la vista, y nunca debe ser la consulta en la vista. Usted nunca debería estar hablando a su base de datos en la vista. Esa es la gran diferencia. Entonces, ¿qué está pasando aquí es que tenemos PHP que está iterando a través de la fila. Así que en este caso, desde que éramos iteración a través de cada fila y haciendo algo, esto era probablemente como una matriz bidimensional donde tenemos alguna fila que es, en sí misma, una matriz, porque estamos iterando a través de él de nuevo. Y sólo estamos imprimiendo el nombre de la fila, y luego acabar con ella. Usted no debe necesitar esto en el foreach. Nunca he visto eso antes en realidad. Acabo de hacer foreach. OK, así que esa es la vista. Vamos a ver si somos capaces de caminar a través de un poco de su conjunto de procesadores. Tenemos 15 minutos, así que estoy seguro de que chicos les gustaría que más que terminando más rápido. Déjame ver si puedo hablar de esto. Así que no sé cuántos de ustedes han bajado y todo eso, sin embargo, pero tenemos nombre aquí, y tenemos alguna contraseña. Y, por desgracia, a la derecha ahora la base de datos está vacía, por lo que en realidad necesitamos para crear una base de datos. Bueno, eso es raro. No esperaba eso. Los errores técnicos. Las dificultades técnicas. Tenemos algunos pset7. Enfriar. Así, una cosa que puedes hacer es, con un query-- crearé una tabla. Así que esto va a ser lo users-- usted puede hacer aquí es, si tenemos some-- Realmente ahora? Okay. Obviamente, yo no estoy haciendo mucho calor. Oh. Yo sé por qué. Porque nunca he creado mis tablas reales. Así que cuando usted primero comienza con una base de datos, es obvio tendrá que decidir cuáles son los cosas que necesita tener en esta lista? Así que si nos vamos fuera nuestra tabla de datos aquí, teníamos alguna identificación, que puede simplemente quedarse en un int. Y si miramos más de aquí, hay Una cosa divertida que-- índice Así. Si lo haces primaria, que hará que sea el cosa que su mesa está organizada por, y también hará que sea único. Así que en este caso, lo haremos primaria, y yo voy a hacer que este nombre, entonces solo haremos un varchar como de 26 letras, porque ¿por qué no? Y entonces usted puede ir a Guardar, y luego si usted ve, tenemos algunos usuarios aquí. Así que si lo que queríamos hacer una insertamos, podríamos hacerlo de esta manera, o si querías práctica con su queries-- Oh chico. No he utilizado esto para siempre. Aprovecho la espalda. Puede editar esta por su cuenta, ya sea simplemente insertando manualmente la información con algo como, usted puede cambiar cualquiera de estos si querías make-- Si desea de pronto deshacerse de nombre, puede caer, usted puede hacer todas esas cosas. Si necesita alguna vez cambiar manualmente su mesa, Sugiero hacerlo en phpMyAdmin frente tratando de averiguar el SQL consultas en general. La primera vez que inicie el conjunto de procesadores, usted va a tener que trabajar aquí, así que acostumbrarse a eso. Y luego, cuando en realidad se quiere para insertar cosas en su table-- Me pregunto dónde está, porque there's-- Aquí está. Eso es lo que yo quería. Así que si vas a SQL, usted podría ver realmente, como vemos aquí, tenemos consultas SQL. Así que si lo que queríamos para seleccionar algo o si queríamos insertar algo, que podemos hacer de inserción en los usuarios, ¿no? Creo que se necesita la barra invertida. Una cosa a saber es, si ¿Alguna vez estés usando este, usted tiene que utilizar éstos de nuevo apóstrofes, que suelen ser, si estás en un Mac, justo encima de la pestaña. Así que una buena cosa para saber. Usted podría insertar en los usuarios, y tenemos nuestros valores, ¿no? Así que tenemos valores y nuestros valores en este caso sólo sería, sólo tenemos un ID por lo que podría hacer uno si queríamos. Eso es raro. Okay. Así que eso es sólo como un breve pequeña cosa con SQL, pero podría ser más útil en realidad mirar a algunos de los archivos aquí. Así que ir a Descargas. Oh, no Descargas. Así, sólo un rápido paseo por lo que hay en cada una de estas carpetas. Incluye, sólo tenemos cosas que configurar su navegador, tenemos estas constantes, y tenemos estas funciones. Si usted está interesado en alguno de ellos, Yo recomiendo mirar funciones. Uno de ellos es súper útil, en realidad es este de aquí, volcado. Así que si usted usa este, lo hará realidad sólo imprimir lo que sea la variable que les guste a. Así que si usted está teniendo problemas para averiguar lo que esta matriz se parece, o lo que en realidad estos datos, cómo se formatea, esta es una gran cosa para su uso. Especialmente cuando se tiene un usuario con múltiples acciones, esto va a ser algo grande va a utilizar. Debido a que podría ser formatted-- Sé que al menos para mí cuando lo hice este conjunto de procesadores, de ser formateado en una forma que no me esperaba bastante. Así que yo estaba tratando de iterar sobre y tratando de manipularla, pero no lo hice realmente Entiendo lo que estaba haciendo. Así que si sólo lo tira, se lo hará imprimirlo para el navegador, y usted puede ver exactamente cómo se formatea. Por lo general se lo imprimiremos a cabo como un matriz con sus claves y sus valores. Por lo tanto, puede ayudar allí. También puede ayudar a hacer Seguro que eres en realidad el acaparamiento de los datos que que pensabas que eras. Así que si usted estaba como, mi mesa sin duda dice que hay un usuario con esta ID, pero cuando se va a volcar el variable, no está ahí, es obvio que sabe que es donde un error va a ser. Esta es una de las mejores herramientas para la depuración, en mi opinión. Y luego hay un par otras cosas aquí, pero en su mayor parte, ese es el que quiero llamar su atención, ya que es muy útil. Pública, lo que tenemos aquí es, esto es todas nuestras cosas CSS. Así CSS, fuentes, nuestras imágenes, qué sé yo. Se trata de todas las cosas que usted no tiene que modificar. Pueden ustedes pensar en si esta tiene cosas como CSS en las fuentes, esto sería un modelo, o una vista o un controlador? AUDIENCIA: [inaudible] ALLISON Buchholtz-AU: Sería ser más de un punto de vista, ¿no? Este se encarga de todo cosas, cómo se ven las cosas. Así que si abrimos esta aquí, vemos que todo lo que está sucediendo aquí es que estamos rindiendo algo. ¿De acuerdo? Así que esto haría mucho calificar como una vista de este. Así que esto es sólo tomando algunos, que está llamando a algunos portfolio.php que tenemos, y es que pasa en el título y la cartera. Y es sólo la prestación de eso. En realidad, retiro lo dicho. Esto es un controlador, porque render, recuerda, hace que la vista. Así portfolio.php en este caso sería su punto de vista. Lo siento, chicos. Portfolio.php va a ser su punto de vista, y esto lo haría sólo ser su controlador para eso. Y si echamos un vistazo a esto último aquí, plantillas, plantillas son todos sus puntos de vista aquí. Así que si nos fijamos, obviamente, vemos una gran cantidad de HTML aquí. Así que éste es sólo mostrando que lo la página de inicio de sesión debe ser similar. Usted notará que tenemos algunos formar grupos, tienen presente. He aquí cómo usted decide qué Se muestra allí. Usted tiene algún tipo botón = "submit", y entonces usted tiene lo que usted quiere para mostrar en el botón. Así que esa es la forma en que le hacen aparecer como lo que usted desea. Y vemos que aquí tenemos algunos nombre de usuario, contraseña alguna, y cuando en realidad nos golpeó en Enviar, que va a haber algún puesto, y que va a publicar a qué? ¿Qué es el controlador para este punto de vista? Cuando llegamos a Presentar, lo que va a ser llamado? ¿Nos conocemos? Está justo aquí, así login.php. Algo ustedes son va a poner en práctica. Así que siempre se puede contar lo que va a ser llamado después de golpear Presentar por esta primera línea de aquí. ¿Qué es la acción de formulario. Cuando se envía el formulario, ¿Qué acción que tomamos? Llamamos login.php, y nosotros llamarlo con este método de correos, que tiene la información oculta. ¿De acuerdo? Así que este es su punto de vista, y entonces, evidentemente, si nos fuimos a login.php-- ¿Tenemos que todavía? Sí. Así que como vemos aquí, esta tiene mucho más lógica. Es todo nuestro PHP aquí. Estamos tratando de ver si era $ _GET, si era $ _POST, validando las cosas, consulta, todas estas cosas. Así que estos son sólo los tres diferentes cosas aquí. usted no tiene que cambiar las cosas. Usted va a crear cosas en la plantilla, posiblemente, pero en cuanto a HTML o la estilo de nada de esto va, se puede dejar tan claro o tan intrincado como desee. Algunas personas se ponen realmente en él y hacer que algunos sitios web bastante impresionante. Usted no tiene que hacer eso. Si tiene tiempo, es una cosa realmente genial. Usted puede perder el tiempo con CSS y HTML y obtener una mejor sensación para ella, pero no se sienten presionados a. Hay mucho que puedes hacer en la parte de atrás con la implementación de iniciar sesión, y registrar, y todas estas cosas. Así que espero que eso ayuda un poco. ¿Es que ustedes tienen alguna pregunta sobre todo lo que hemos repasado, cualquier otro recurso? Definitivamente voy a enviar todos mi ejemplo de código PHP para que ustedes, y entonces no dude en tomar imágenes o lo que sea de este. También es en línea. Usted siempre puede ver de nuevo. Así que si eso es todo, todo el mundo bien? Sí. AUDIENCIA: Sólo quiero para confirmar, cuando estamos haciendo de selección en SQL, la estrella es todo, ¿verdad? ALLISON Buchholtz-AU: Sí. AUDIENCIA: Y entonces, si usted no tiene la estrella, si usted quiere que tome a partir de un determinado fila, a continuación, sólo hay que poner el nombre de-- ALLISON Buchholtz-AU: El nombre de la fila y lo que quiere desea que el valor de. AUDIENCIA: Y luego la fecha. ALLISON Buchholtz-AU: Lo que sea que usted está buscando, sí. De la misma manera, si lo hace DELETE * desde alguna mesa, que va a borrar todo. Así, * es sólo una salvaje tarjeta para todo. AUDIENCIA: OK. ALLISON Buchholtz-AU: Cool. Impresionante. Bueno, tener un gran Lunes, chicos. Nos vemos la semana que viene. Buena suerte en su conjunto de procesadores.