15
José Roberto Madureira Junior Adaní Cusin Sacilotti Adriana Rodrigues Reginaldo Sacilotti Exercitando a Programação com PHP Primeira Edição São Paulo 2016

Exercitando a Programação com PHP · 3 exemplo, o Notepad++, Sublime, ou ainda uma IDE com suporte ao PHP como Netbeans ou Eclipse. Com o objetivo de agilizar o desenvolvimento

Embed Size (px)

Citation preview

José Roberto Madureira Junior

Adaní Cusin Sacilotti

Adriana Rodrigues

Reginaldo Sacilotti

Exercitando a

Programação com PHP

Primeira Edição

São Paulo

2016

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 RESOLVIDOS - VARIÁVEIS E OPERADORES . 11

3 ESTRUTURAS DE CONTROLE CONDICIONAL ............................ 15

3.1 OPERADORES RELACIONAIS E LÓGICOS ............................ 15

3.2 IF E ELSE .................................................................................. 15

3.3 SWITCH .................................................................................... 16

3.4 EXERCÍCIOS RESOLVIDOS - ESTRUTURAS DE CONTROLE CONDICIONAL ................................................................................. 17

4 ESTRUTURAS DE CONTROLE REPETIÇÃO ................................ 23

4.1 WHILE ....................................................................................... 23

4.2 DO WHILE ................................................................................. 23

4.3 FOR ........................................................................................... 24

4.4 EXERCÍCIOS RESOLVIDOS - ESTRUTURAS DE CONTROLE REPETIÇÃO ..................................................................................... 25

5 MANIPULANDO DE ARRAYS ......................................................... 31

5.1 ARRAY ...................................................................................... 31

5.2 FOREACH ................................................................................. 32

5.3 EXERCÍCIOS RESOLVIDOS - MANIPULANDO DE ARRAYS . 33

6 FUNÇÕES DEFINIDAS PELO USUÁRIO ........................................ 39

6.1 FUNÇÕES ................................................................................. 39

6.2 EXERCÍCIOS RESOLVIDOS - FUNÇÕES DEFINIDAS PELO USUÁRIO ......................................................................................... 40

7 FUNÇÕES INTERNAS .................................................................... 43

7.1 FUNÇÕES INTERNAS DO PHP ............................................... 43

7.2 FUNÇÕES PARA MANIPULANDO DE STRINGS .................... 43

7.3 FUNÇÕES PARA MANIPULAÇÃO DE ARRAYS ...................... 45

7.4 FUNÇÕES DE CRIPTOGRAFIA ............................................... 46

7.5 EXERCÍCIOS RESOLVIDOS - FUNÇÕES INTERNAS ............. 46

8 RECEBENDO DADOS COM FORMULÁRIOS ................................ 51

8.1 RECEBENDO DADOS COM FORMULÁRIOS HTML ............... 51

8.2 RECEBENDO INFORMAÇÕES ................................................ 53

8.3 EXERCÍCIOS RESOLVIDOS - RECEBENDO DADOS COM FORMULÁRIOS ................................................................................ 54

9 SESSIONS E COOKIES .................................................................. 57

9.1 SESSION .................................................................................. 57

9.2 COOKIES .................................................................................. 58

9.3 EXERCÍCIOS RESOLVIDOS - SESSIONS E COOKIES .......... 59

10 MANIPULAÇÃO DE ARQUIVOS TEXTO ........................................ 63

10.1 ESCRITA DE ARQUIVOS TEXTO ............................................ 63

10.2 LEITURA DE ARQUIVO TEXTO ............................................... 64

10.3 EXERCÍCIOS RESOLVIDOS - MANIPULAÇÃO DE ARQUIVOS TEXTO .............................................................................................. 65

11 TRATAMENTO DE ERROS ............................................................. 69

11.1 TRATANDO ERROS EM PHP .................................................. 69

11.2 EXERCÍCIOS RESOLVIDOS - TRATAMENTO DE ERROS ..... 70

12 INTEGRAÇÃO DO PHP COM BANCO DE DADOS MYSQL ........... 75

12.1 CRIANDO TABELA NO MYSQL COM PHPMYADMIN ............. 75

12.2 CONECTANDO O PHP COMO MYSQL ................................... 77

12.3 EXERCÍCIOS RESOLVIDOS - INTEGRAÇÃO DO PHP COM BANCO DE DADOS MYSQL ............................................................ 81

1

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.

2

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

3

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-plus-

plus.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

4

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";

?>

5

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.

6

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.

7

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

8

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";

?>

9

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,

10

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/>";

?>

11

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 RESOLVIDOS - VARIÁVEIS E OPERADORES

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.

<?php

/* Considerado o ano com 360 dias,

sendo assim 5 anos possuem 1800 dias. */

$tempoUtilizacao = rand(1,1800);

$tempoRestante = 1800 - $tempoUtilizacao;

echo "O aparelho possui uma utilização de

".$tempoUtilizacao." dias e uma vida útil restante

de ".$tempoRestante." 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