1 00:00:00,000 --> 00:00:03,000 [Powered by Google Translate] [PHP Desenvolvimento 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, vamos aprender sobre o uso de PHP para desenvolvimento web. 5 00:00:11,000 --> 00:00:14,000 PHP é uma linguagem de script que pode ser usado para implementar 6 00:00:14,000 --> 00:00:17,000 sites em um servidor web. 7 00:00:17,000 --> 00:00:21,000 Um servidor web é essencialmente uma máquina dedicada ao fornecimento de conteúdo 8 00:00:21,000 --> 00:00:24,000 que pode ser acessado através da internet. 9 00:00:24,000 --> 00:00:30,000 Quando você navegar para uma página da web como Facebook.com / home.php 10 00:00:30,000 --> 00:00:35,000 o código no arquivo chamado home.php que vive em um servidor web Facebook em algum 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 provavelmente vai gerar alguma saída 13 00:00:41,000 --> 00:00:43,000 que por sua vez irá ser enviado a partir do servidor 14 00:00:43,000 --> 00:00:45,000 para o seu navegador. 15 00:00:45,000 --> 00:00:49,000 Nós estaremos usando o aparelho CS50 como um servidor web. 16 00:00:49,000 --> 00:00:51,000 A sua máquina provavelmente não será tão poderosa quanto as máquinas 17 00:00:51,000 --> 00:00:57,000 Facebook em um centro de dados, mas você não terá nenhum problema de usá-lo para o desenvolvimento web. 18 00:00:57,000 --> 00:01:05,000 >> Quando navegar para uma URL como http://localhost/ola.php 19 00:01:05,000 --> 00:01:10,000 vamos configurar o aparelho através de um aplicativo chamado o servidor Apache HTTP 20 00:01:10,000 --> 00:01:19,000 para procurar um arquivo chamado ola.php dentro de casa / jharvard / vhosts / LocalHosts / html por padrão. 21 00:01:19,000 --> 00:01:23,000 Se esse arquivo existe, então o Apache vai usar o interpretador PHP 22 00:01:23,000 --> 00:01:27,000 para executar o código PHP em ola.php. 23 00:01:27,000 --> 00:01:31,000 Se esse arquivo não existir, em seguida, o Apache irá lançar um erro não encontrado 24 00:01:31,000 --> 00:01:36,000 ou um erro 404, o que você provavelmente já viu enquanto navega na web. 25 00:01:36,000 --> 00:01:40,000 >> Vamos dar uma olhada em ola.php. 26 00:01:40,000 --> 00:01:45,000 Podemos ver aqui que ola.php gera uma linha de sinal de saída. 27 00:01:45,000 --> 00:01:51,000 Quando corremos ola.php na linha de comando via php ola.php 28 00:01:51,000 --> 00:01:54,000 que a saída foi impresso no terminal. 29 00:01:54,000 --> 00:01:58,000 Agora, quando acessar esse arquivo por meio de uma URL no navegador da web 30 00:01:58,000 --> 00:02:01,000 sua saída será enviada para o navegador da web, 31 00:02:01,000 --> 00:02:09,000 assim indo para a URL, http://localhost/ola.php, 32 00:02:09,000 --> 00:02:12,000 podemos ver a saída em nosso navegador. 33 00:02:12,000 --> 00:02:17,000 >> Vamos tentar adicionar outro printf para o nosso programa Olá mundo. 34 00:02:17,000 --> 00:02:23,000 Ok, vamos voltar para o navegador da web e ver o que nós temos. 35 00:02:23,000 --> 00:02:25,000 Interessante. 36 00:02:25,000 --> 00:02:28,000 Em vez de imprimir uma outra linha em sua própria linha, como você teria visto 37 00:02:28,000 --> 00:02:32,000 no terminal, parece que ele foi esmagado na mesma linha 38 00:02:32,000 --> 00:02:36,000 como o outro printf, então talvez novas linhas não funcionam no PHP. 39 00:02:36,000 --> 00:02:38,000 Não é bem assim. 40 00:02:38,000 --> 00:02:41,000 Lembre-se que HTML é normalmente usado para criar páginas web 41 00:02:41,000 --> 00:02:44,000 que podem ser exibidos por navegadores da web. 42 00:02:44,000 --> 00:02:49,000 Não só é a string Olá do php HTML não é válida, 43 00:02:49,000 --> 00:02:53,000 mas lembro que não podemos usar o caractere \ n em HTML 44 00:02:53,000 --> 00:02:55,000 para criar uma quebra de linha. 45 00:02:55,000 --> 00:03:01,000 Em vez de simplesmente a saída de saída HTML válido de um let string. 46 00:03:01,000 --> 00:03:04,000 Ao utilizar tags de parágrafo de cada um dos nossos apelos printf 47 00:03:04,000 --> 00:03:07,000 será exibido em sua própria linha, 48 00:03:07,000 --> 00:03:11,000 Agora, quando nós visitamos o URL que aponta para 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 procurando. 51 00:03:19,000 --> 00:03:22,000 >> Agora, se olharmos para o código desta página 52 00:03:22,000 --> 00:03:25,000 podemos ver que nós estamos agora olhando para HTML válido, 53 00:03:25,000 --> 00:03:28,000 que criamos a partir de PHP. 54 00:03:28,000 --> 00:03:31,000 Colocar todo o nosso HTML dentro chamadas printf 55 00:03:31,000 --> 00:03:34,000 é, naturalmente, vai ficar muito chato. 56 00:03:34,000 --> 00:03:38,000 Felizmente, pode facilmente misturar HTML e PHP 57 00:03:38,000 --> 00:03:41,000 no mesmo arquivo php.. 58 00:03:41,000 --> 00:03:47,000 Lembre-se, todo o nosso código PHP devem ser colocados dentro de 00:03:49,000 e>. 60 00:03:49,000 --> 00:03:52,000 Qualquer coisa que não é fechado dentro destes delimitadores 61 00:03:52,000 --> 00:03:55,000 será simplesmente enviado como saída para o navegador 62 00:03:55,000 --> 00:03:57,000 em vez de ser executada. 63 00:03:57,000 --> 00:04:01,000 Isso significa que podemos fazer algo assim. 64 00:04:01,000 --> 00:04:05,000 Podemos simplesmente escrever HTML dentro do nosso arquivo php. 65 00:04:05,000 --> 00:04:11,000 e, em seguida, inserir blocos PHP onde gostaríamos algum código php para ser executado. 66 00:04:11,000 --> 00:04:15,000 Aqui vamos definir algumas variáveis ​​no topo do arquivo, 67 00:04:15,000 --> 00:04:19,000 e depois, imprimi-los dentro do nosso 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 nosso PHP avaliadas dentro do nosso HTML. 70 00:04:33,000 --> 00:04:36,000 >> Agora vamos dar uma olhada em como podemos passar dados 71 00:04:36,000 --> 00:04:39,000 entre as nossas várias páginas PHP. 72 00:04:39,000 --> 00:04:51,000 Ao invés de dizer 73 00:04:51,000 --> 00:04:58,000 podemos simplesmente dizer 00:05:01,000 e>. 75 00:05:01,000 --> 00:05:03,000 Vamos agora dar uma olhada em como podemos passar dados 76 00:05:03,000 --> 00:05:06,000 entre as nossas várias páginas PHP. 77 00:05:06,000 --> 00:05:11,000 Uma maneira de fazer isso é para codificar a informação para o URL de uma página. 78 00:05:11,000 --> 00:05:14,000 Ao navegar na Web, você deve ter notado que alguns URLs 79 00:05:14,000 --> 00:05:20,000 conter uma? seguido por uma seqüência contendo ampersands e sinais iguais. 80 00:05:20,000 --> 00:05:23,000 Esta parte da URL é conhecida como a seqüência de consulta, 81 00:05:23,000 --> 00:05:29,000 e isso permite que você passe efetivamente argumentos para seu script PHP. 82 00:05:29,000 --> 00:05:34,000 A cadeia de consulta consiste em pares de valores-chave, assim como uma tabela hash. 83 00:05:34,000 --> 00:05:38,000 Um sinal de igual separa uma chave e seu valor correspondente 84 00:05:38,000 --> 00:05:41,000 enquanto ampersands separar pares. 85 00:05:41,000 --> 00:06:05,000 A URL que se parece com http://localhost/get.php?foo=bar&baz=qux 86 00:06:05,000 --> 00:06:09,000 tem 2 pares de valores-chave na seqüência de consulta. 87 00:06:09,000 --> 00:06:12,000 O foo chave mapeia para o bar de valor, 88 00:06:12,000 --> 00:06:16,000 eo baz chave mapeia para o valor qux. 89 00:06:16,000 --> 00:06:23,000 Nós podemos facilmente acessar esses pares de valores-chave usando uma variável especial em PHP, 90 00:06:23,000 --> 00:06:29,000 $ _GET. 91 00:06:29,000 --> 00:06:32,000 $ _GET É um array associativo 92 00:06:32,000 --> 00:06:36,000 que é automaticamente preenchido com os dados de seqüência de consulta. 93 00:06:36,000 --> 00:06:46,000 Isso significa que, dada esta URL $ _GET ["foo"] 94 00:06:46,000 --> 00:06:49,000 será igual à barra de cadeia. 95 00:06:49,000 --> 00:06:56,000 >> Vamos dar uma olhada para ver get.php $ _GET em ação. 96 00:06:56,000 --> 00:07:00,000 Aqui nós estamos usando uma função chamada var_dump, 97 00:07:00,000 --> 00:07:03,000 que, quando dado uma matriz ou outra variável 98 00:07:03,000 --> 00:07:05,000 vai imprimi-lo para nós. 99 00:07:05,000 --> 00:07:12,000 Agora, se nós simplesmente acessar http://localhost/get.php 100 00:07:12,000 --> 00:07:17,000 então vamos ver um array vazio, porque não têm proporcionado uma string de consulta. 101 00:07:17,000 --> 00:07:29,000 Se nós fornecemos uma string de consulta via http://localhost/get.php?foo=bar&baz=qux 102 00:07:29,000 --> 00:07:34,000 então podemos ver que a variável $ _GET conterá 103 00:07:34,000 --> 00:07:37,000 pares de valores-chave da cadeia de consulta. 104 00:07:37,000 --> 00:07:42,000 Mas e se nós não queremos colocar nossos dados dentro da URL de uma página? 105 00:07:42,000 --> 00:07:46,000 Para grandes quantidades de dados, o que pode resultar em algumas URLs muito feias 106 00:07:46,000 --> 00:07:49,000 que vão fazer a nossa brilhante coxo website olhar. 107 00:07:49,000 --> 00:07:52,000 Nós, ao contrário pode colocar a string de consulta para o corpo 108 00:07:52,000 --> 00:07:57,000 das solicitações HTTP em vez de URL do pedido. 109 00:07:57,000 --> 00:08:02,000 Então, podemos usar a variável do PHP $ _POST 110 00:08:02,000 --> 00:08:05,000 para acessar os pares de valores-chave. 111 00:08:05,000 --> 00:08:10,000 Uma maneira de fazer isso é através de um formulário HTML. 112 00:08:10,000 --> 00:08:13,000 Aqui temos um formulário HTML simples. 113 00:08:13,000 --> 00:08:17,000 Observe aqui que o atributo de método desta forma é post. 114 00:08:17,000 --> 00:08:21,000 Isso diz ao navegador para colocar pares de valores-chave do formulário 115 00:08:21,000 --> 00:08:25,000 para dentro do corpo do pedido, em vez de o URL. 116 00:08:25,000 --> 00:08:28,000 >> Se fôssemos usar o valor ganho por este atributo 117 00:08:28,000 --> 00:08:32,000 em seguida, pares de valores-chave do formulário que em vez de ir para a string de consulta, 118 00:08:32,000 --> 00:08:36,000 para que pudéssemos acessá-los via $ _GET novamente. 119 00:08:36,000 --> 00:08:42,000 O atributo action do formulário diz ao navegador para onde enviar os dados. 120 00:08:42,000 --> 00:08:46,000 Aqui os nossos dois elementos de entrada têm atributos de nome. 121 00:08:46,000 --> 00:08:51,000 O valor dos atributos de nome servirá como chaves em nossos dados, 122 00:08:51,000 --> 00:08:56,000 e os valores das entradas de texto será valores dessas chaves. 123 00:08:56,000 --> 00:08:59,000 Agora vamos dar uma olhada em post.php, 124 00:08:59,000 --> 00:09:03,000 o arquivo que esta forma é submeter-se. 125 00:09:03,000 --> 00:09:10,000 Assim como fizemos antes, nós estamos simplesmente exibir o conteúdo da variável $ _POST. 126 00:09:10,000 --> 00:09:18,000 >> Vamos navegar para o formulário com http://localhost/form.php. 127 00:09:18,000 --> 00:09:23,000 Agora, quando enviar o formulário, podemos ver que os dados do form.php 128 00:09:23,000 --> 00:09:30,000 é passado para post.php sem acrescentar uma string de consulta para o URL. 129 00:09:30,000 --> 00:09:35,000 Agora que já vimos duas maneiras diferentes de passar dados entre páginas PHP, 130 00:09:35,000 --> 00:09:37,000 GET e POST. 131 00:09:37,000 --> 00:09:41,000 Em nossos exemplos, foram utilizados dois tipos diferentes de solicitações HTTP. 132 00:09:41,000 --> 00:09:45,000 Como você poderia esperar, um pedido get foi usado quando nós povoada 133 00:09:45,000 --> 00:09:51,000 $ _GET Do URL, e uma solicitação post foi utilizada 134 00:09:51,000 --> 00:09:55,000 quando povoada $ _POST. 135 00:09:55,000 --> 00:09:59,000 Na concepção de suas aplicações web é uma boa regra de ouro para usar requisições GET 136 00:09:59,000 --> 00:10:03,000 quando o seu aplicativo só irá ler dados, e os pedidos pós 137 00:10:03,000 --> 00:10:05,000 quando o seu aplicativo irá gravar dados. 138 00:10:05,000 --> 00:10:09,000 Por exemplo, uma consulta de pesquisa irá ler dados de seu aplicativo, 139 00:10:09,000 --> 00:10:12,000 assim um pedido get faz sentido. 140 00:10:12,000 --> 00:10:17,000 Por outro lado, o seu aplicativo irá gravar dados via algo como um formulário de inscrição, 141 00:10:17,000 --> 00:10:22,000 assim que uma solicitação post faria mais sentido, e isso é uma visão geral de algumas das técnicas 142 00:10:22,000 --> 00:10:26,000 estaremos usando em CS50 para criar sites usando PHP. 143 00:10:26,000 --> 00:10:30,000 >> Meu nome é Tommy, e essa é CS50. 144 00:10:30,000 --> 00:10:36,000 [CS50.TV]