1 00:00:00,000 --> 00:00:03,000 [Powered by Google Translate] [PHP Desenvolvemento Web] 2 00:00:03,000 --> 00:00:05,000 [Tommy MacWilliam] 3 00:00:05,000 --> 00:00:07,000 [Isto é CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:11,000 >> Neste vídeo, imos aprender sobre o uso de PHP para desenvolvemento web. 5 00:00:11,000 --> 00:00:14,000 PHP é unha linguaxe de script que se pode usar para aplicar 6 00:00:14,000 --> 00:00:17,000 sitios nun servidor web. 7 00:00:17,000 --> 00:00:21,000 Un servidor web é esencialmente unha máquina dedicada á subministración de contidos 8 00:00:21,000 --> 00:00:24,000 que se pode acceder a través de Internet. 9 00:00:24,000 --> 00:00:30,000 Cando navegar a unha páxina web como Facebook.com / home.php 10 00:00:30,000 --> 00:00:35,000 o código no ficheiro chamado home.php que vive nun servidor web Facebook nalgún lugar 11 00:00:35,000 --> 00:00:38,000 será executado no servidor. 12 00:00:38,000 --> 00:00:41,000 Este código probablemente vai xerar algunha saída 13 00:00:41,000 --> 00:00:43,000 que á súa vez pode ser enviado desde o servidor 14 00:00:43,000 --> 00:00:45,000 ao seu navegador. 15 00:00:45,000 --> 00:00:49,000 Estaremos a usar o aparello CS50 como un servidor web. 16 00:00:49,000 --> 00:00:51,000 A súa máquina probablemente non será tan poderosa como as máquinas 17 00:00:51,000 --> 00:00:57,000 Facebook en un centro de datos, pero non terá ningún problema de usalo para o desenvolvemento web. 18 00:00:57,000 --> 00:01:05,000 >> Cando navegar a unha URL como http://localhost/ola.php 19 00:01:05,000 --> 00:01:10,000 imos configurar o dispositivo a través dunha aplicación chamado o servidor Apache HTTP 20 00:01:10,000 --> 00:01:19,000 para buscar un arquivo chamado ola.php dentro de casa / jharvard / vhosts / LocalHosts / html por defecto. 21 00:01:19,000 --> 00:01:23,000 Se este ficheiro existe, entón Apache vai utilizar o intérprete de PHP 22 00:01:23,000 --> 00:01:27,000 para realizar o código PHP en ola.php. 23 00:01:27,000 --> 00:01:31,000 Se este ficheiro non existe, logo Apache promoverá un erro Non se atopou 24 00:01:31,000 --> 00:01:36,000 ou un erro 404, o que probablemente xa viu mentres navega na web. 25 00:01:36,000 --> 00:01:40,000 >> Imos dar un ollo a ola.php. 26 00:01:40,000 --> 00:01:45,000 Podemos ver aquí que ola.php xera unha liña de sinal de saída. 27 00:01:45,000 --> 00:01:51,000 Cando corremos ola.php na liña de comandos a través de php ola.php 28 00:01:51,000 --> 00:01:54,000 que a saída foi impreso no terminal. 29 00:01:54,000 --> 00:01:58,000 Agora, cando acceder a este ficheiro a través dunha URL no navegador web 30 00:01:58,000 --> 00:02:01,000 súa saída será enviada ao navegador web, 31 00:02:01,000 --> 00:02:09,000 así indo a URL, http://localhost/ola.php, 32 00:02:09,000 --> 00:02:12,000 vemos a saída en noso navegador. 33 00:02:12,000 --> 00:02:17,000 >> Imos tentar engadir outro printf para o noso programa Ola Mundo. 34 00:02:17,000 --> 00:02:23,000 Ok, imos volver ao navegador web e ver o que temos. 35 00:02:23,000 --> 00:02:25,000 Interesante. 36 00:02:25,000 --> 00:02:28,000 No canto de imprimir outra liña na súa propia liña, como vería 37 00:02:28,000 --> 00:02:32,000 no terminal, parece que foi esmagado na mesma liña 38 00:02:32,000 --> 00:02:36,000 como o outro printf, entón quizais novas liñas non funcionan no PHP. 39 00:02:36,000 --> 00:02:38,000 Non é ben así. 40 00:02:38,000 --> 00:02:41,000 Lembre que HTML é normalmente usado para crear páxinas web 41 00:02:41,000 --> 00:02:44,000 que poden aparecer por navegadores web. 42 00:02:44,000 --> 00:02:49,000 Non só é a cadea Ola PHP HTML non é válida, 43 00:02:49,000 --> 00:02:53,000 pero lembra que non podemos utilizar o carácter \ n HTML 44 00:02:53,000 --> 00:02:55,000 para crear unha quebra de liña. 45 00:02:55,000 --> 00:03:01,000 En vez de simplemente a saída de saída HTML válido dun let cadea. 46 00:03:01,000 --> 00:03:04,000 Ao usar as etiquetas de parágrafo de cada un dos nosos chamamentos printf 47 00:03:04,000 --> 00:03:07,000 aparecerá na súa propia liña, 48 00:03:07,000 --> 00:03:11,000 Agora, cando visitamos a URL que apunta a 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 a saída que estamos a buscar. 51 00:03:19,000 --> 00:03:22,000 >> Agora, se miramos para o código da páxina 52 00:03:22,000 --> 00:03:25,000 vemos que estamos agora mirando para HTML válido, 53 00:03:25,000 --> 00:03:28,000 que creamos a partir de PHP. 54 00:03:28,000 --> 00:03:31,000 Poñer todo o noso HTML dentro chamadas printf 55 00:03:31,000 --> 00:03:34,000 é, por suposto, vai ser moi aburrido. 56 00:03:34,000 --> 00:03:38,000 Afortunadamente, pode facilmente mesturar HTML e PHP 57 00:03:38,000 --> 00:03:41,000 o mesmo ficheiro php .. 58 00:03:41,000 --> 00:03:47,000 Lembre, todo o noso código PHP deben ser colocados dentro 00:03:49,000 e>. 60 00:03:49,000 --> 00:03:52,000 O que non é pechado dentro destes delimitadores 61 00:03:52,000 --> 00:03:55,000 será simplemente enviado como saída para o navegador 62 00:03:55,000 --> 00:03:57,000 en vez de ser executada. 63 00:03:57,000 --> 00:04:01,000 Isto significa que podemos facer algo así. 64 00:04:01,000 --> 00:04:05,000 Podemos simplemente escribir HTML dentro do noso arquivo php. 65 00:04:05,000 --> 00:04:11,000 e logo, introducir bloques PHP onde queremos algún código php para ser executado. 66 00:04:11,000 --> 00:04:15,000 Aquí imos definir algunhas variables na parte superior do ficheiro, 67 00:04:15,000 --> 00:04:19,000 e despois, imprimir-los dentro do noso HTML. 68 00:04:19,000 --> 00:04:27,000 Agora, se visitar esta URL, http://localhost/mixed.php 69 00:04:27,000 --> 00:04:33,000 podemos ver o noso PHP avaliadas dentro do noso HTML. 70 00:04:33,000 --> 00:04:36,000 >> Agora imos dar un ollo a como podemos pasar datos 71 00:04:36,000 --> 00:04:39,000 entre as nosas varias páxinas PHP. 72 00:04:39,000 --> 00:04:51,000 En vez de dicir 73 00:04:51,000 --> 00:04:58,000 podemos simplemente dicir 00:05:01,000 e>. 75 00:05:01,000 --> 00:05:03,000 Imos agora dar un ollo a como podemos pasar datos 76 00:05:03,000 --> 00:05:06,000 entre as nosas varias páxinas PHP. 77 00:05:06,000 --> 00:05:11,000 Unha forma de facelo é para codificar a información para a URL dunha páxina. 78 00:05:11,000 --> 00:05:14,000 Mentres navegue pola web, ten que notar que algúns URLs 79 00:05:14,000 --> 00:05:20,000 conter unha? seguido por unha secuencia que conteña ampersands e signos iguais. 80 00:05:20,000 --> 00:05:23,000 Esta parte da URL é coñecida como a secuencia de consulta, 81 00:05:23,000 --> 00:05:29,000 e iso permite que pase efectivamente argumentos para o seu script PHP. 82 00:05:29,000 --> 00:05:34,000 A cadea de consulta consiste en pares de valores clave, así como unha táboa hash. 83 00:05:34,000 --> 00:05:38,000 Un signo igual separa unha chave e o seu valor correspondente 84 00:05:38,000 --> 00:05:41,000 mentres ampersands separar parellas. 85 00:05:41,000 --> 00:06:05,000 O URL que se parece http://localhost/get.php?foo=bar&baz=qux 86 00:06:05,000 --> 00:06:09,000 ten 2 pares de valores clave na secuencia de consulta. 87 00:06:09,000 --> 00:06:12,000 O foo clave mapea ao bar de valor, 88 00:06:12,000 --> 00:06:16,000 eo Baz clave mapea ao valor qux. 89 00:06:16,000 --> 00:06:23,000 Podemos facilmente acceder a estes pares de valores clave usando unha variable especial en PHP, 90 00:06:23,000 --> 00:06:29,000 $ _GET. 91 00:06:29,000 --> 00:06:32,000 $ _GET É un array asociativo 92 00:06:32,000 --> 00:06:36,000 que é automaticamente cuberto cos datos de secuencia de consulta. 93 00:06:36,000 --> 00:06:46,000 Isto significa que, dada esta URL $ _GET ["foo"] 94 00:06:46,000 --> 00:06:49,000 será igual á barra de cadea. 95 00:06:49,000 --> 00:06:56,000 >> Imos dar un ollo a ver get.php $ _GET en acción. 96 00:06:56,000 --> 00:07:00,000 Aquí estamos a usar unha función chamada var_dump, 97 00:07:00,000 --> 00:07:03,000 que, cando deu unha matriz ou outra variable 98 00:07:03,000 --> 00:07:05,000 vai imprimir lo para nós. 99 00:07:05,000 --> 00:07:12,000 Agora, se nós simplemente acceder http://localhost/get.php 100 00:07:12,000 --> 00:07:17,000 entón imos ver un array baleiro, porque non teñen proporcionado unha cadea de consulta. 101 00:07:17,000 --> 00:07:29,000 Se nós fornecen unha cadea de consulta vía http://localhost/get.php?foo=bar&baz=qux 102 00:07:29,000 --> 00:07:34,000 entón podemos ver que a variable $ _GET conterá 103 00:07:34,000 --> 00:07:37,000 pares de valores clave da cadea de consulta. 104 00:07:37,000 --> 00:07:42,000 Pero e se nós non queremos poñer os nosos datos dentro do URL dunha páxina? 105 00:07:42,000 --> 00:07:46,000 Para grandes cantidades de datos, o que pode producir algunhas URLs moi feas 106 00:07:46,000 --> 00:07:49,000 que van facer o noso brillante coxo web ollar. 107 00:07:49,000 --> 00:07:52,000 Nós, pola contra pode pór a cadea de consulta para o corpo 108 00:07:52,000 --> 00:07:57,000 das solicitudes HTTP en vez de URL da solicitude. 109 00:07:57,000 --> 00:08:02,000 Entón, podemos utilizar a variable de PHP $ _POST 110 00:08:02,000 --> 00:08:05,000 para acceder aos pares de valores clave. 111 00:08:05,000 --> 00:08:10,000 Unha forma de facelo é a través dun formulario HTML. 112 00:08:10,000 --> 00:08:13,000 Aquí temos un formulario HTML sinxelo. 113 00:08:13,000 --> 00:08:17,000 Teña en conta aquí que o atributo de método deste xeito é post. 114 00:08:17,000 --> 00:08:21,000 Isto di ao navegador para poñer pares de valores clave do formulario 115 00:08:21,000 --> 00:08:25,000 para dentro do corpo da solicitude, en vez de o URL. 116 00:08:25,000 --> 00:08:28,000 >> Se fósemos utilizar o valor gañado por este atributo 117 00:08:28,000 --> 00:08:32,000 logo pares de valores clave do formulario que en vez de ir á cadea de consulta, 118 00:08:32,000 --> 00:08:36,000 para que puidésemos acceder a eles vía $ _GET novo. 119 00:08:36,000 --> 00:08:42,000 O atributo action do formulario di ao navegador para onde enviar os datos. 120 00:08:42,000 --> 00:08:46,000 Aquí os nosos dous elementos de entrada teñen atributos de nome. 121 00:08:46,000 --> 00:08:51,000 O valor de atributo de nome servirá como chaves en nosos datos, 122 00:08:51,000 --> 00:08:56,000 e os valores das entradas de texto será valores destas claves. 123 00:08:56,000 --> 00:08:59,000 Agora imos dar un ollo a post.php, 124 00:08:59,000 --> 00:09:03,000 o ficheiro que esta forma é someter-se. 125 00:09:03,000 --> 00:09:10,000 Así como fixemos antes, estamos simplemente mostrar o contido da variable $ _POST. 126 00:09:10,000 --> 00:09:18,000 >> Imos ir ao formulario con http://localhost/form.php. 127 00:09:18,000 --> 00:09:23,000 Agora, cando enviar o formulario, podemos ver que os datos do form.php 128 00:09:23,000 --> 00:09:30,000 é pasado para post.php sen engadir unha cadea de consulta ao URL. 129 00:09:30,000 --> 00:09:35,000 Agora que xa vimos dous xeitos diferentes de pasar datos entre páxinas PHP, 130 00:09:35,000 --> 00:09:37,000 GET e POST. 131 00:09:37,000 --> 00:09:41,000 Nos nosos exemplos, utilizáronse dous tipos de solicitudes HTTP. 132 00:09:41,000 --> 00:09:45,000 Como podería esperar, unha proposta get foi usado cando poboada 133 00:09:45,000 --> 00:09:51,000 $ _GET Do URL, e unha solicitude post foi utilizada 134 00:09:51,000 --> 00:09:55,000 cando poboada $ _POST. 135 00:09:55,000 --> 00:09:59,000 No deseño das súas aplicacións web é unha boa regra de ouro para usar peticións GET 136 00:09:59,000 --> 00:10:03,000 cando a súa aplicación só pode ler os datos, e as solicitudes post 137 00:10:03,000 --> 00:10:05,000 cando a súa aplicación pode gravar datos. 138 00:10:05,000 --> 00:10:09,000 Por exemplo, unha consulta de busca pode ler os datos da súa aplicación, 139 00:10:09,000 --> 00:10:12,000 así unha solicitude get ten sentido. 140 00:10:12,000 --> 00:10:17,000 Por outra banda, a súa aplicación pode gravar datos vía algo así como un formulario de inscrición, 141 00:10:17,000 --> 00:10:22,000 así que unha solicitude post faría máis sentido, e iso é unha visión xeral dalgunhas das técnicas 142 00:10:22,000 --> 00:10:26,000 estaremos a usar en CS50 para crear sitios usando PHP. 143 00:10:26,000 --> 00:10:30,000 >> O meu nome é Tommy, e esa é CS50. 144 00:10:30,000 --> 00:10:36,000 [CS50.TV]