1 00:00:00,000 --> 00:00:03,000 [Powered by Google Translate] [PHP Desarrollo Web] 2 00:00:03,000 --> 00:00:05,000 [Tommy MacWilliam] 3 00:00:05,000 --> 00:00:07,000 [Este es CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:11,000 >> En este video, vamos a aprender sobre el uso de PHP para el desarrollo web. 5 00:00:11,000 --> 00:00:14,000 PHP es un lenguaje de script que puede utilizarse para implementar 6 00:00:14,000 --> 00:00:17,000 sitios web en un servidor web. 7 00:00:17,000 --> 00:00:21,000 Un servidor Web es esencialmente una máquina dedicada a proporcionar el contenido 8 00:00:21,000 --> 00:00:24,000 que se puede acceder a través de Internet. 9 00:00:24,000 --> 00:00:30,000 Cuando se desplaza a una página web, como Facebook.com / home.php 10 00:00:30,000 --> 00:00:35,000 el código en el archivo llamado home.php que vive en un servidor web Facebook en algún lugar 11 00:00:35,000 --> 00:00:38,000 se ejecutará en ese servidor. 12 00:00:38,000 --> 00:00:41,000 Esta probabilidad de código que generará alguna salida 13 00:00:41,000 --> 00:00:43,000 que a su vez ser enviado desde el servidor 14 00:00:43,000 --> 00:00:45,000 a su navegador web. 15 00:00:45,000 --> 00:00:49,000 Vamos a utilizar el aparato CS50 como un servidor web. 16 00:00:49,000 --> 00:00:51,000 El equipo probablemente no será tan poderosa como las máquinas 17 00:00:51,000 --> 00:00:57,000 en un centro de datos de Facebook, pero usted no tendrá ningún problema para usarlo para el desarrollo web. 18 00:00:57,000 --> 00:01:05,000 >> Cuando navegamos a una URL como http://localhost/hola.php 19 00:01:05,000 --> 00:01:10,000 configuramos el aparato a través de una aplicación llamada el servidor Apache HTTP 20 00:01:10,000 --> 00:01:19,000 para buscar un archivo llamado hello.php interior de casa / jharvard / vhosts / localhosts / html por defecto. 21 00:01:19,000 --> 00:01:23,000 Si existe ese archivo entonces Apache usará el intérprete PHP 22 00:01:23,000 --> 00:01:27,000 para ejecutar el código PHP en hello.php. 23 00:01:27,000 --> 00:01:31,000 Si ese archivo no existe, entonces Apache arrojará un error que no se encuentra 24 00:01:31,000 --> 00:01:36,000 o un error 404, lo que probablemente has visto mientras navega por la Web. 25 00:01:36,000 --> 00:01:40,000 >> Echemos un vistazo a hello.php. 26 00:01:40,000 --> 00:01:45,000 Podemos ver aquí que hello.php genera una línea de señal de salida. 27 00:01:45,000 --> 00:01:51,000 Cuando nos quedamos hello.php en la línea de comandos a través de php hello.php 28 00:01:51,000 --> 00:01:54,000 que la producción fue impreso a la terminal. 29 00:01:54,000 --> 00:01:58,000 Ahora, cuando se accede a este archivo a través de una URL en el navegador web 30 00:01:58,000 --> 00:02:01,000 su salida será enviada al navegador web, 31 00:02:01,000 --> 00:02:09,000 así que dirigirse a la dirección URL, http://localhost/hola.php, 32 00:02:09,000 --> 00:02:12,000 podemos ver la salida en nuestro navegador web. 33 00:02:12,000 --> 00:02:17,000 >> Vamos a tratar de añadir otro printf en nuestro programa hola mundo. 34 00:02:17,000 --> 00:02:23,000 Está bien, vamos a la cabeza de vuelta al navegador web y ver lo que tenemos. 35 00:02:23,000 --> 00:02:25,000 Interesante. 36 00:02:25,000 --> 00:02:28,000 En vez de imprimir otra línea en su propia línea, ya que habría visto 37 00:02:28,000 --> 00:02:32,000 en el terminal, parece que quedó aplastada en la misma línea 38 00:02:32,000 --> 00:02:36,000 como el otro printf, así que tal vez las nuevas líneas no funcionan en PHP. 39 00:02:36,000 --> 00:02:38,000 No del todo. 40 00:02:38,000 --> 00:02:41,000 Recuerde que HTML se suele utilizar para crear páginas web 41 00:02:41,000 --> 00:02:44,000 que se pueden mostrar por los navegadores web. 42 00:02:44,000 --> 00:02:49,000 No sólo es la cadena hola de php HTML no válido, 43 00:02:49,000 --> 00:02:53,000 pero recordemos que no podemos utilizar el carácter \ n en HTML 44 00:02:53,000 --> 00:02:55,000 para crear un salto de línea. 45 00:02:55,000 --> 00:03:01,000 En lugar de simplemente dar salida a la salida HTML válida una cadena de let. 46 00:03:01,000 --> 00:03:04,000 Mediante el uso de etiquetas de párrafo, cada una de nuestras llamadas printf 47 00:03:04,000 --> 00:03:07,000 se mostrará en su propia línea, 48 00:03:07,000 --> 00:03:11,000 así que ahora cuando vamos a la que apunta el URL de valid.php 49 00:03:11,000 --> 00:03:17,000 http://localhost/valid.php 50 00:03:17,000 --> 00:03:19,000 vemos el resultado que estamos buscando. 51 00:03:19,000 --> 00:03:22,000 >> Ahora bien, si consideramos que la fuente de esta página 52 00:03:22,000 --> 00:03:25,000 podemos ver que ahora estamos viendo HTML válido, 53 00:03:25,000 --> 00:03:28,000 que hemos creado a partir de PHP. 54 00:03:28,000 --> 00:03:31,000 Poner todo nuestro HTML dentro de las llamadas printf 55 00:03:31,000 --> 00:03:34,000 está, por supuesto, va a ser realmente molesto. 56 00:03:34,000 --> 00:03:38,000 Por suerte podemos mezclar fácilmente HTML y PHP 57 00:03:38,000 --> 00:03:41,000 en el mismo. archivo php. 58 00:03:41,000 --> 00:03:47,000 Recuerde, todo nuestro código PHP debe ser encerrado dentro de 00:03:49,000 y>. 60 00:03:49,000 --> 00:03:52,000 Todo lo que no está incluido dentro de estos delimitadores 61 00:03:52,000 --> 00:03:55,000 simplemente se envía como salida al navegador 62 00:03:55,000 --> 00:03:57,000 en lugar de ser ejecutado. 63 00:03:57,000 --> 00:04:01,000 Eso significa que podemos hacer algo como esto. 64 00:04:01,000 --> 00:04:05,000 Simplemente podemos escribir HTML dentro de nuestra. Archivo php 65 00:04:05,000 --> 00:04:11,000 y luego insertar PHP bloques donde nos gustaría algo de código php a ejecutar. 66 00:04:11,000 --> 00:04:15,000 Aquí definimos algunas variables en la parte superior del archivo, 67 00:04:15,000 --> 00:04:19,000 y más tarde les imprimimos interior de nuestro HTML. 68 00:04:19,000 --> 00:04:27,000 Ahora bien, si nos visita esta dirección URL, http://localhost/mixed.php 69 00:04:27,000 --> 00:04:33,000 podemos ver nuestra PHP evaluado dentro de nuestro HTML. 70 00:04:33,000 --> 00:04:36,000 >> Ahora echemos un vistazo a cómo podemos pasar datos 71 00:04:36,000 --> 00:04:39,000 entre nuestras diversas páginas PHP. 72 00:04:39,000 --> 00:04:51,000 En vez de decir 73 00:04:51,000 --> 00:04:58,000 simplemente podemos decir 00:05:01,000 y>. 75 00:05:01,000 --> 00:05:03,000 Echemos un vistazo a cómo podemos pasar datos 76 00:05:03,000 --> 00:05:06,000 entre nuestras diversas páginas PHP. 77 00:05:06,000 --> 00:05:11,000 Una forma de hacerlo es para codificar información en el URL de la página. 78 00:05:11,000 --> 00:05:14,000 Al navegar por la Web, te habrás dado cuenta de que algunas de las URL 79 00:05:14,000 --> 00:05:20,000 contener una? seguido de una cadena que contiene los símbolos de unión y signos de igual. 80 00:05:20,000 --> 00:05:23,000 Esta parte de la URL que se conoce como la cadena de consulta, 81 00:05:23,000 --> 00:05:29,000 y esto le permite pasar con eficacia los argumentos a su script PHP. 82 00:05:29,000 --> 00:05:34,000 La cadena de consulta consta de pares de claves de valor, al igual que una tabla hash. 83 00:05:34,000 --> 00:05:38,000 Un signo igual separa una clave y su valor correspondiente 84 00:05:38,000 --> 00:05:41,000 mientras que los símbolos de unión se separan pares. 85 00:05:41,000 --> 00:06:05,000 Una URL que parece http://localhost/get.php?foo=bar&baz=qux 86 00:06:05,000 --> 00:06:09,000 tiene 2 pares de valores clave en la cadena de consulta. 87 00:06:09,000 --> 00:06:12,000 El foo clave se asigna a la barra de valor, 88 00:06:12,000 --> 00:06:16,000 y el baz clave se asigna a la qux valor. 89 00:06:16,000 --> 00:06:23,000 Podemos acceder fácilmente a estos pares de valores clave usando una variable especial en PHP, 90 00:06:23,000 --> 00:06:29,000 $ _GET. 91 00:06:29,000 --> 00:06:32,000 $ _GET Es un arreglo asociativo 92 00:06:32,000 --> 00:06:36,000 que se rellena automáticamente con los datos de la cadena de consulta. 93 00:06:36,000 --> 00:06:46,000 Eso significa que, dado este URL $ _GET ["foo"] 94 00:06:46,000 --> 00:06:49,000 será igual a la barra de cadena. 95 00:06:49,000 --> 00:06:56,000 >> Echemos un vistazo a get.php para ver $ _GET en acción. 96 00:06:56,000 --> 00:07:00,000 Aquí estamos usando una función llamada var_dump, 97 00:07:00,000 --> 00:07:03,000 que cuando se les da una matriz u otra variable 98 00:07:03,000 --> 00:07:05,000 lo imprimirá para nosotros. 99 00:07:05,000 --> 00:07:12,000 Ahora bien, si nosotros simplemente accedemos http://localhost/get.php 100 00:07:12,000 --> 00:07:17,000 entonces vamos a ver una matriz vacía porque no hemos proporcionado una cadena de consulta. 101 00:07:17,000 --> 00:07:29,000 Si lo hacemos proporcionar una cadena de consulta a través de http://localhost/get.php?foo=bar&baz=qux 102 00:07:29,000 --> 00:07:34,000 entonces podemos ver que la variable $ _GET contendrá 103 00:07:34,000 --> 00:07:37,000 pares de valores clave de la cadena de consulta. 104 00:07:37,000 --> 00:07:42,000 Pero lo que si no queremos poner nuestros datos dentro de la URL de una página? 105 00:07:42,000 --> 00:07:46,000 Para grandes cantidades de datos, esto puede dar lugar a algunas URLs bastante feos 106 00:07:46,000 --> 00:07:49,000 que van a hacer nuestra web mirada brillante cojo. 107 00:07:49,000 --> 00:07:52,000 En vez de eso podemos poner la cadena de consulta en el cuerpo 108 00:07:52,000 --> 00:07:57,000 de las peticiones HTTP en lugar de la dirección URL de la solicitud. 109 00:07:57,000 --> 00:08:02,000 Entonces podemos utilizar variables de PHP $ _POST 110 00:08:02,000 --> 00:08:05,000 para acceder a los pares de valores clave. 111 00:08:05,000 --> 00:08:10,000 Una forma de hacer esto es a través de un formulario HTML. 112 00:08:10,000 --> 00:08:13,000 Aquí tenemos un formulario HTML simple. 113 00:08:13,000 --> 00:08:17,000 Nótese aquí que el atributo de método de esta forma es posterior. 114 00:08:17,000 --> 00:08:21,000 Esto le indica al navegador que poner pares de valores clave del formulario 115 00:08:21,000 --> 00:08:25,000 en el cuerpo de la solicitud en lugar de la URL. 116 00:08:25,000 --> 00:08:28,000 >> Si tuviéramos que utilizar el valor de ir a este atributo 117 00:08:28,000 --> 00:08:32,000 entonces pares de valores clave del formulario tendrían lugar entrar en la cadena de consulta, 118 00:08:32,000 --> 00:08:36,000 para que pudiéramos acceder a ellos a través de $ _GET nuevo. 119 00:08:36,000 --> 00:08:42,000 El atributo action del formulario indica al navegador dónde enviar los datos. 120 00:08:42,000 --> 00:08:46,000 Aquí nuestros 2 elementos de entrada tienen atributos de nombre. 121 00:08:46,000 --> 00:08:51,000 El valor de los atributos de nombre servirá como claves en nuestros datos, 122 00:08:51,000 --> 00:08:56,000 y los valores de las entradas de texto se convertirán en los valores de las claves. 123 00:08:56,000 --> 00:08:59,000 Ahora echemos un vistazo a post.php, 124 00:08:59,000 --> 00:09:03,000 el archivo que esta forma presenta a. 125 00:09:03,000 --> 00:09:10,000 Al igual que hicimos antes, simplemente estamos mostrando el contenido de la variable $ _POST. 126 00:09:10,000 --> 00:09:18,000 >> Vamos a navegar al formulario con http://localhost/form.php. 127 00:09:18,000 --> 00:09:23,000 Ahora, cuando nos sometemos forma podemos ver que los datos de form.php 128 00:09:23,000 --> 00:09:30,000 se pasa a post.php sin anexar una cadena de consulta a la URL. 129 00:09:30,000 --> 00:09:35,000 Ahora que hemos visto 2 maneras diferentes de pasar datos entre páginas PHP, 130 00:09:35,000 --> 00:09:37,000 GET y POST. 131 00:09:37,000 --> 00:09:41,000 En nuestros ejemplos, hemos utilizado 2 tipos de peticiones HTTP. 132 00:09:41,000 --> 00:09:45,000 Como es de esperar, se utilizó una petición get cuando poblamos 133 00:09:45,000 --> 00:09:51,000 Se utilizó $ _GET desde la URL, y una solicitud posterior 134 00:09:51,000 --> 00:09:55,000 cuando nos poblamos $ _POST. 135 00:09:55,000 --> 00:09:59,000 En el diseño de sus aplicaciones web es una buena regla de oro para utilizar peticiones GET 136 00:09:59,000 --> 00:10:03,000 cuando su aplicación sólo leerá los datos y las solicitudes de correos 137 00:10:03,000 --> 00:10:05,000 cuando su aplicación va a escribir datos. 138 00:10:05,000 --> 00:10:09,000 Por ejemplo, una consulta de búsqueda leerá los datos de su aplicación, 139 00:10:09,000 --> 00:10:12,000 por lo que una petición get tiene sentido. 140 00:10:12,000 --> 00:10:17,000 Por otro lado, su aplicación va a escribir datos a través de algo así como un formulario de registro, 141 00:10:17,000 --> 00:10:22,000 por lo que una solicitud posterior tendría más sentido, y eso es una visión general de algunas de las técnicas 142 00:10:22,000 --> 00:10:26,000 que va a utilizar en CS50 para crear sitios web utilizando PHP. 143 00:10:26,000 --> 00:10:30,000 >> Mi nombre es Tommy, y esto es CS50. 144 00:10:30,000 --> 00:10:36,000 [CS50.TV]