José Roberto Madureira Junior Adaní Cusin Sacilotti Adriana Rodrigues Reginaldo Sacilotti Apostila - Desenvolvimento web com PHP Primeira Edição São Paulo 2017
Sumário 1 INTRODUÇÃO AO PHP... 1 1.1 PREPARAÇÃO DO AMBIENTE DE DESENVOLVIMENTO... 1 1.2 EXECUTANDO OS PROGRAMAS... 3 2 INICIANDO O DESENVOLVIMENTO COM PHP... 7 2.1 DELIMITADORES... 7 2.2 SAÍDA DE DADOS... 7 2.3 COMENTÁRIOS... 8 2.4 OPERADORES... 9 2.5 VARIÁVEIS... 9 2.6 EXERCÍCIOS... 11 3 ESTRUTURAS DE CONTROLE CONDICIONAL... 13 3.1 OPERADORES RELACIONAIS E LÓGICOS... 13 3.2 IF E ELSE... 13 3.3 SWITCH... 14 3.4 EXERCÍCIOS... 15 4 ESTRUTURAS DE CONTROLE REPETIÇÃO... 17 4.1 WHILE... 17 4.2 DO WHILE... 17 4.3 FOR... 18 4.4 EXERCÍCIOS... 19
5 MANIPULANDO DE ARRAYS... 20 5.1 ARRAY... 20 5.2 FOREACH... 21 5.3 EXERCÍCIOS... 22 6 FUNÇÕES DEFINIDAS PELO USUÁRIO... 24 6.1 FUNÇÕES... 24 6.2 EXERCÍCIOS... 25 7 FUNÇÕES INTERNAS... 27 7.1 FUNÇÕES INTERNAS DO PHP... 27 7.2 FUNÇÕES PARA MANIPULANDO DE STRINGS... 27 7.3 FUNÇÕES PARA MANIPULAÇÃO DE ARRAYS... 29 7.4 FUNÇÕES DE CRIPTOGRAFIA... 30 7.5 EXERCÍCIOS... 30 8 RECEBENDO DADOS COM FORMULÁRIOS... 32 8.1 RECEBENDO DADOS COM FORMULÁRIOS HTML... 32 8.2 RECEBENDO INFORMAÇÕES... 34 8.3 EXERCÍCIOS... 35 9 SESSIONS E COOKIES... 36 9.1 SESSION... 36 9.2 COOKIES... 37 9.3 EXERCÍCIOS... 38 10 MANIPULAÇÃO DE ARQUIVOS TEXTO... 39
10.1 ESCRITA DE ARQUIVOS TEXTO... 39 10.2 LEITURA DE ARQUIVO TEXTO... 40 10.3 EXERCÍCIOS... 41 11 TRATAMENTO DE ERROS... 42 11.1 TRATANDO ERROS EM PHP... 42 11.2 EXERCÍCIOS... 43 12 INTEGRAÇÃO DO PHP COM BANCO DE DADOS MYSQL... 44 12.1 CRIANDO TABELA NO MYSQL COM PHPMYADMIN... 44 12.2 CONECTANDO O PHP COMO MYSQL... 46 12.3 EXERCÍCIOS... 50
1 INTRODUÇÃO AO PHP O PHP é a linguagem de programação interpretada e open source, que por conta da sua facilidade de aprendizado e sintaxe acessível, tornou-se umas das linguagens mais populares na construção de páginas dinâmicas da web. No momento em que o livro foi escrito, ela está na versão 7 e todos seu código-fonte estão disponíveis no site http://www.php.net/, assim como uma ampla documentação e outros recursos interessantes para o aprendizado da linguagem. Ao logo desse livro serão expostos os conceitos da linguagem PHP que serão trabalhados por meio de exercícios baseados em situações práticas do cotidiano de desenvolvimento de software. Esperamos que ao final deste livro, possamos ter contribuído para ampliar os conhecimentos do leitor nesta fascinante linguagem de programação. 1.1 PREPARAÇÃO DO AMBIENTE DE DESENVOLVIMENTO Por tratar-se de uma linguagem de desenvolvimento web, o PHP precisa ser executado em um servidor web como o Apache, com o PHP devidamente configurado e instalado. Para o acesso e manipulação de informações em banco de dados com PHP é necessário utilizar um servidor de banco de dados como o MySQL, que possui um utilitário simples para gerenciamento de suas bases de dados - o PHPMyAdmin. 1
Com o objetivo de simplificar a instalação e a configuração do ambiente necessário para execução dos programas, podemos utilizar os pacotes de instalação XAMPP, que realiza a configuração do ambiente com o Apache, MySQL, PHP e PHPMyAdmin de maneira simplificada. Além desses serviços, existem outras ferramentas que podem ser utilizadas tais como FileZilla FTP Server, Mercury Mail Server, Pearl e Tomcat. Nos exemplos e exercícios desenvolvidos neste livro, é feito o uso do XAMPP na sua versão 7.0.8 que se utiliza da versão também 7.0.8 do PHP, que pode ser baixado no endereço https://www.apachefriends.org/pt_br/download.html, conforme mostrado na Figura 1. Figura 1 - Página de download do Apache Friends. Os programas em PHP podem ser desenvolvidos no bloco de notas ou em qualquer outro editor que traga mais recursos como, por 2
exemplo, o Notepad++, Sublime, ou ainda uma IDE com suporte ao PHP como Netbeans ou Eclipse. Com o objetivo de agilizar o desenvolvimento de programas e reconhecimento de erros de sintaxe, utilizaremos o Notepad++ na versão 6.9.2, que pode ser baixado no endereço https://notepad-plusplus.org/download/v6.9.2.html. A Figura 2 mostra o site do Notepad++ onde o editor pode ser baixado. Figura 2 - Página de download do Notepad++. 1.2 EXECUTANDO OS PROGRAMAS Posteriormente a instalação do XAMPP e Notepad++, podemos iniciar o desenvolvimento de páginas dinâmicas com PHP, mas antes precisamos abrir o painel de configuração e controle do XAMPP e inicializar o serviço do Apache. Para isso, primeiramente vamos abrir o XAMPP Control Panel e clicar no botão "Start" ao lado 3
do Apache, inicializando o serviço do Apache, conforme pode ser observado na Figura 3. Figura 3 - XAMPP Control Panel Posteriormente a inicialização do Apache no XAMPP Control Panel, crie uma pasta dentro da pasta C:\xampp\htdocs uma pasta com o nome Exercicios_Livro, onde serão salvos todos os exemplos e exercícios desenvolvidos ao longo do livro. Com o Notepad++ aberto digite trecho de código abaixo descrito: <?php echo "Exercitando a programação com PHP";?> 4
Após a digitação do trecho de código acima, vá ao menu Arquivo e no item Salvar como, o arquivo deve ser salvo dentro da pasta criada anteriormente para os exemplos e exercícios desse livro (C:\xampp\htdocs\Exercicios_Livro), com nome de exemplo1.php. A Figura 4 mostra como deve ser salvo o código-fonte no Notepad++ para que possam ser executados no Apache. Figura 4 - Salvando códigos PHP no Notepad++. Abra o navegador, por exemplo, o Chrome e digite na barra de endereços http://localhost/exercicios_livro/ e clique sobre o link referente ao exemplo1. A Figura 5 mostra os arquivos dentro da pasta escolhida. 5
Figura 5 - Programas da pasta Exercicios_Livro Será apresentado o resultado do processamento do programa no servidor, conforme pode ser visualizado na Figura 6. Figura 6 - Resultado da execução do programa PHP no servidor. 6
2 INICIANDO O DESENVOLVIMENTO COM PHP Agora que conhecemos um pouco mais do PHP, temos o ambiente de desenvolvimento instalado e executamos nosso primeiro programa desenvolvido nesta linguagem, vamos iniciar os primeiros passos na linguagem. 2.1 DELIMITADORES Com o desenvolvimento de páginas dinâmicas com o PHP, é possível combinar trechos de código HTML, por exemplo, ampliando as possibilidades no desenvolvimento. Para delimitar o código escrito em PHP utilizamos <?php e?>. Desta forma, o servidor web entende que aquele trecho trata-se de um código escrito em PHP, conforme exemplo detalhado a seguir: <?php echo "Exercitando a programação com PHP";?> Outro delimitador que podemos observar no trecho de código anterior é o ponto e vírgula, que delimita o final de uma linha de código. 2.2 SAÍDA DE DADOS A saída de dados é utilizada para exibir uma informação ou solicitar a entrada de dados, ou seja, informar e expor informações para o usuário. No exemplo anteriormente descrito, podemos 7
observar a presença do comando echo, responsável por apresentar informações quando executamos nosso programa. O comando echo representa uma das possibilidades para saída de dados em PHP. Esse comando possibilita acrescentar o comando HTML juntamente com o conteúdo que desejamos realizar a saída de dados, como exemplo, podemos adicionar dentro das aspas o comando <br/> para realizar a quebra de linha. 2.3 COMENTÁRIOS Os comentários são trechos que são ignorados na execução dos programas pelo servidor web. Desta forma, são úteis para documentarmos o código, por exemplo, explicando o que aquele trecho de código pretende realizar. Comentários em PHP são precedidos de // para comentários de até uma linha e, entre /* e */ quando o comentário ultrapassa uma linha, conforme o exemplo descrito a seguir: <?php /* Livro: Exercitando a programação com PHP Data de Criação: 01/06/2016 */?> //Saída de dados echo "Exercitando a programação com PHP"; 8
2.4 OPERADORES A construção de programas em PHP, assim como em outras linguagens de programação, tem por finalidade a execução de processamentos que podem ter seus resultados exibidos ou não. Na execução de processamentos, utilizam-se muitas vezes operadores matemáticos para incremento e decremento de valores, para atribuição de valores e concatenar strings. A tabela a seguir apresenta os principais operadores do PHP. Operadores Descrição + Soma - Subtração * Multiplicação / Divisão % Módulo (resto da divisão) ++ Incrementa -- Decrementa = Atribuição de valor simples += Atribuição de valor com adição -= Atribuição de valor com subtração *= Atribuição de valor com divisão /= Atribuição de valor com multiplicação %= Atribuição de valor com divisão.= Atribuição de valor com concatenação. Concatenar strings 2.5 VARIÁVEIS Variáveis podem ser entendidas como espaços para armazenamento de dados em memória. As variáveis em PHP são sempre precedidas do $ e têm tipagem dinâmica, ou seja, ela será tipada de acordo com o conteúdo colocado na variável diferentemente de outras linguagens de programação como C e Java, por exemplo, 9
que não possuem tipagem dinâmica. Os tipos mais comuns de variáveis são: String - contém uma cadeia caracteres alfanumérico; Boolean - quando os valores possíveis são TRUE ou FALSE; Integer - quando o conteúdo da variável é formado por valores numéricos inteiros, ou seja, positivos e negativos sem casas decimais; Double - quando o conteúdo da variável é formado pelos valores numéricos com casas decimais. <?php //Variáveis $idioma = "Português"; //string $anolancamento = 2015 + 1; //integer $preco = 25.50; //double $disponivelvenda = TRUE; //boolean //Exibindo o conteúdo das variáveis echo "Livro - Exercitando a programação com PHP <br/>"; echo "Idioma: ".$idioma."<br/>"; echo "Ano de lançamento: ".$nomelivro."<br/>"; echo "Preço: ".$nomelivro."<br/>"; echo "Disponível em estoque: ".$nomelivro."<br/>";?> 10
O código acima exemplifica o uso de variáveis e a sua tipagem de acordo com o conteúdo nela colocado, a chamada tipagem dinâmica. Observação: Há a possibilidade de forçarmos um tipo para uma variável. Para isso, basta acrescentarmos entre parênteses o seu tipo antes da variável, como por exemplo, (string)$var forçando assim, a variável a ser do tipo string. 2.6 EXERCÍCIOS 2.6.1. Um fabricante de celular estima que a durabilidade da bateria dos seus aparelhos é de aproximadamente cinco anos. Desenvolva um programa que receba o tempo de utilização do aparelho em dias e informe qual a vida útil restante do aparelho em dias. Observação: Para simular a entrada de dados, utilizaremos inicialmente a função rand(início, fim) que realiza o sorteio dentro do intervalo especificado por início e fim. No exercício 1, o valor do início é 1 e fim é 1800 sendo assim, será sorteado um número dentro desse intervalo. 2.6.2. A empresa de embalagens XYZ deseja desenvolver um programa para cálculo do volume de suas embalagens, essas são sempre retangulares ou quadradas. Desenvolva um programa que receba o comprimento, a base e a altura da embalagem e calcule o volume da mesma. 2.6.3. Um historiador está estudando a época das grandes navegações. Para facilitar seus estudos, ele deseja construir um 11