PROGRAMAÇÃO PARA INTERNET Prof.: Jean Carlo Mendes [email protected] http://www.mendesnet.com.br PHP - O PHP é uma linguagem de script (do lado servidor) - É uma ferramenta poderosa para a criação de páginas web dinâmicas - É gratuita, muito utilizada e uma alternativa eficiente frente a seus concorrentes PHP - A primeira versão disponível para o usuário surgiu em 1995 e ficou conhecida como Personal Home Page Tools. Atualmente: Hypertext Preprocessor - Fornecia apenas ferramentas simples, como livro de visitas e contadores de acesso e outras pequenas funcionalidades PHP - O próximo passo foi a criação do chamado PHP/FI, que continha funcionalidades de interpretação e manipulação de formulários. FI (Form Interpreter). PHP - Um arquivo PHP pode conter texto, HTML, CSS, JavaScript e código PHP - O código PHP é executado no servidor e o resultado é retornado ao navegador como HTML O que podemos fazer com PHP: - Gerar conteúdo dinâmico para as páginas - Criar, abrir, ler, escrever e apagar arquivos no - servidor Capturar dados de formulários Enviar e receber “cookies” Adicionar, alterar, apagar dados em BD Controlar acesso de usuários Encriptar dados Um código PHP, além de gerar HTML pode gerar imagens, PDFs, vídeos, etc PHP - Arquitetura - Para que o código PHP possa ser executado, necessitamos de um servidor Web que consiga “rodar” este código; - O servidor mais usado é o Apache. - No nosso caso vamos utilizar uma ferramenta chamada WampServer (ou XAMPP) que concentra a instalação do WebServer Apache em conjunto com o SGBD MySQL PHP – Sintaxe básica - O código PHP pode ser escrito “embutido” no código HTML, para isto usamos os delimitadores de código, que são interpretados pelo servidor Web. - O servidor então, saberá que o que está escrito dentro destes delimitadores é um código PHP. PHP – Sintaxe básica <?php //comandos ?> PHP – Hello World <!DOCTYPE html> <html> <head><title>Aprendendo PHP</title></head> <body> <?php echo "Hello World!"; ?> </body> </html> • Os comandos em PHP devem ser separados por ponto e vírgula PHP • Os comandos em PHP devem ser separados por ponto e vírgula • O arquivo usualmente tem a extensão .php e deve ser salvo na pasta de documentos do Apache. • No caso do WampServer esta pasta por padrão é: c:\Wamp\www, no caso do XAMPP a pasta é a htdocs PHP – Hello World • Para testar e visualizar o resultado, basta acessar o endereço: • http://localhost/hello.php • *** Se estiver em outra porta (computadores Windows geralmente já possuem o IIS sendo executado na porta 80, fazendo necessário que o Apache responda em outra porta) • http://localhost:8086/hello.php PHP – Hello World • O exemplo anterior, escreve o texto diretamente • Podemos fazer o mesmo exemplo, usando uma variável PHP – Hello World <!DOCTYPE html> <html> <head><title>Aprendendo PHP</title></head> <body> <?php $texto = "Primeiro Script"; echo $texto; ?> </body> </html> PHP – Nomes de variáveis • Toda variável em PHP tem seu nome composto pelo caracter $ e uma string, que deve iniciar por uma letra ou o símbolo “_”. • PHP é case sensitive, ou seja, as variáveis $vivas e $VIVAS são diferentes. Por isso é preciso ter muito cuidado ao definir os nomes das variáveis. • (as palavras chaves do PHP não são case sensitives, ou seja, if é a mesma coisa que IF) PHP – Nomes de variáveis • É bom evitar os nomes em maiúsculas, pois como veremos mais adiante o PHP já possui alguma variáveis pré-definidas cujos nomes são formados por letras maiúsculas. • Não é obrigatória a declaração da variável antes de seu uso (e não há um comando para isto) PHP – Comentários • Os comentários podem ser de linha e podem ser definidos por um # ou // • <? echo “teste”; #isto é um teste ?> • <? echo “teste”; //este teste é similar ao anterior ?> PHP – Comentários • Podemos ter também comentários de blocos (mais de uma linha) <? echo “teste”; /* Isto é um comentário com mais de uma linha que funciona corretamente */ ?> PHP – Tipos de dados • Todas as variáveis em PHP se encaixam em oito tipos de dados disponíveis: • Escalares: • Integer • Float • String • Boolean PHP – Tipos de dados • Dados compostos: • Array • Object (pode conter propriedades e métodos. Veremos mais sobre isto...) • Tipos especiais: • Resource (contem uma referencia a um recurso externo, como um arquivo ou BD) • Null PHP – Tipos de dados • Loose Typing • Uma variável é convertida (tipo) automaticamente dependendo do contexto onde ela é usada.. • Pode-se por exemplo, armazenar um Inteiro em uma variável e posteriormente armazenar um float, string... • Pode-se descobrir o tipo de uma variável usando a função gettype() PHP – Tipos de dados $test_var; // Declara $test_var sem inicializar echo gettype( $test_var ) . “ < br / > ” ; // Mostra “ NULL” $test_var = 15; echo gettype( $test_var ) . “ < br / > ” ; // Mostra “ integer” $test_var = 8. 23; echo gettype( $test_var ) . “ < br / > ” ; // Mostra “ double” $test_var = “ Hello, world! ”; echo gettype( $test_var ) . “ < br / > ” ; // Mostra “ string” PHP – teste específico de tipos... PHP – Tipos de dados Para se alterar o tipo de dados de uma variável, usa-se a função settype() $test_var = 8.23; echo $test_var . "<br> " ; // Mostra "8. 2 3" settype( $test_var, "string" ) ; echo $test_var . " <br> " ; // Mostra "8. 2 3" settype( $test_var, "integer" ) ; echo $test_var . " <br> " ; // Mostra "8" settype( $test_var, "float" ) ; echo $test_var . " <br> " ; // Mostra "8" settype( $test_var, "boolean" ) ; echo $test_var . " <br> " ; // Mostra "1" ?> PHP – Tipos de dados A alteração de tipo pode ser feita também por casting <?php $test_var = 8.23; echo $test_var . " <br> " ; // Mostra " 8. 23" echo (string) $test_var . " <br> " ; // Mostra " 8. 23" echo (int) $test_var . " <br> " ; // Mostra " 8" echo (float) $test_var . " <br> " ; // Mostra " 8. 23" echo (boolean) $test_var . " <br> " ; // Mostra " 1" ?> PHP – Operações aritméticas PHP – Operações de comparação PHP – Operações de comparação PHP – Incremento/Decremento PHP – Operadores lógicos As seguintes operações são avaliadas como true: As seguintes operações são avaliadas como false: PHP – Operadores lógicos Valores considerados false: PHP – Operadores lógicos PHP – Operadores lógicos PHP – Operadores de String Existe apenas um operador de String em PHP que é o operador de concatenação, que é representado por um ponto (.) Não necessariamente os dois valores precisam ser strings. Caso um deles não seja uma String, este será convertido PHP – Operadores de String A concatenação pode ser feita pelo operador .= PHP – Constantes Pode-se declarar constantes em PHP (Seu valor é setado apenas uma vez...). Usa-se a palavra reservada “define” PHP – Testando... Vamos criar o script abaixo e coloca-lo no servidor (o script irá mostrar as propriedades do círculo). Salvar como circulo.php <?php $raio = 4; $diametro = $raio * 2; $circunferencia = M_PI * $diametro; $area = M_PI * pow( $raio, 2 ); echo "Este círculo tem... <br>" ; echo "Um raio de " . $raio . " <br> "; echo "Um diâmetro de " . $diametro . " <br> "; echo "Uma circunferência de " . $circunferencia . " <br> "; echo "Uma área de " . $area . " <br> "; ?> PHP – Condicionais O comando if simples if (expressao) { //codigo a executar } A expressão a ser avaliada, pode ser qualquer expressão que retorne o valores lógicos. $itens = 23; if ( $itens == 23 ) { echo "Há 23 itens no estoque"; } PHP – Condicionais Outros exemplos.... $itens= 23; if ( $itens > = 10 & & $itens < = 20 ) { echo "Há entre 10 e 20 ítens no estoque."; } $itens = 23; if ( $itens > = 10 ) { if ( $itens < = 20 ) { echo “Há entre 10 e 20 ítens no estoque.”; } } PHP – Condicionais O comando if ... else if ( $itens > = 10 ) { echo "Há muitos ítens no estoque."; } else { echo "Há menos de 10 ítens no estoque. É hora de realizar compras."; } PHP – Condicionais O comando if ... else...combinados if ( $ítens > = 10 ) { echo "Há muitos ítens no estoque."; } else if ( $ítens > = 5 ) { echo "Restam menos de 10 ítens. Hora de realizar compras"; } else { echo "Há menos de 5 ítens! Compras devem ser realizadas agora!"; } PHP – Condicionais Há ainda o comando elseif if ( $ítens > = 10 ) { echo "Há muitos ítens no estoque."; } elseif ( $ítens > = 5 ) { echo "Restam menos de 10 ítens. Hora de realizar compras"; } else { echo "Há menos de 5 ítens! Compras devem ser realizadas agora!"; } PHP – Condicionais O comando switch switch ( $userAction ) { case "open": // Abrir arquivo break; case "save": // Gravar Arquivo break; case "close": // Fechar arquivo break; case "logout": // Fazer logout break; default: print "Por favor escolha uma opção"; } PHP – Condicionais O comando switch com opções combinadas switch ( $userAction ) { case "open": // Open the file break; case "save": // Save the file break; case "close": case "logout": print "Are you sure?"; break; default: print "Please choose an option"; } PHP – Condicionais Operador ternário.... Exemplo prático... <?php $itens = 23; $plenty = "Há muitos ítens no estoque."; $few = "Há menos de 10 ítens no estoque"; echo ( $itens >= 10 ) ? $plenty : $few; ?> PHP – Laços de repetição Existem, em PHP três estruturas de laços de repetição: 1. Laços While 2. Laços Do ... While 3. Laços For Há ainda a estrutura de repetição foreach (específica para vetores)... PHP – Sintaxe e exemplo de laço While <?php $itensRestantes = 10; while ( $itensRestantes > 0 ) { echo "Vendendo um ítem... "; $itensRestantes--; echo "Vendido. Há $itensRestantes ítens restantes. <br>"; } echo "Os ítens terminaram! "; ?> Obs. Vejam a forma de concatenar a variável ao texto... PHP – Sintaxe e exemplo de laço Do ..While <?php $largura = 1; $comprimento = 1; do { $largura++; $comprimento++; $area = $largura * $comprimento; } while ( $area < 1000 ); echo "O menor quadrado com área maior que 1000 possui lados de $largura x $comprimento."; ?> PHP – Sintaxe e exemplo de laço For <?php for ( $i=1; $i <= 10; $i++ ) { echo "Contando até : $i <br/> "; } echo "Contagem completa"; ?> PHP – “Escapando do loop” É possível interromper um loop usando o comando break. <?php $randomNumber = rand( 1, 1000 ); for ( $i=1; $i <= 1000; $i++ ) { if ( $i == $randomNumber ) { echo "Isto, o número foi descoberto...Ele é: $i <br> "; break; } } ?> Implementar e executar várias vezes... PHP – “Escapando da iteração do loop” É possível “pular” a iteração de um loop com o continue. <?php for ( $i=1; $i <= 10; $i++ ) { if ( $i == 4 ) continue; echo "Contando até: $i <br> "; } echo "Contagem completa"; ?> Implementar e verificar o resultado...