Escolar Documentos
Profissional Documentos
Cultura Documentos
PROGRAMAÇÃO EM PHP
AULA 01
No lado de servidor, porém, as coisas não são tão simples. Existe uma
miríade de opções de software disponível, mas todos têm uma tarefa
semelhante: negociar transferências de dados entre clientes e servidores via
http (Protocolo de Transferência de Hipertexto), o protocolo de comunicações
da Web.
2
PROGRAMAÇÃO EM PHP
Agora você tem uma ideia de como funciona um servidor web e das
etapas envolvidas na exibição das páginas de seu site.
3
PROGRAMAÇÃO EM PHP
Velocidade e robustez;
Estruturado e orientado a objeto;
Portabilidade – roda em qualquer lugar;
Tipagem fraca;
Sintaxe similar a C/C++.
INSTALAÇÃO DO SERVIDOR
Para que possamos executar nossas páginas e códigos PHP em nosso
computador, temos que ter um servidor instalado. Para isso utilizaremos neste
curso o EasyPHP.
4
PROGRAMAÇÃO EM PHP
Execute o EasyPHP, a primeira tela que você terá acesso será uma
similar a essa abaixo, onde você deverá selecionar o idioma, já está marcado
Inglês, portanto, clique em OK.
5
PROGRAMAÇÃO EM PHP
Agora você pode escolher onde irá instalar o EasyPHP, nós usaremos o
diretório padrão de instalação, portanto apenas clique em Next.
Agora devemos selecionar a pasta do menu iniciar, mais uma vez, apenas
clique em Next.
6
PROGRAMAÇÃO EM PHP
Agora você visualizará a tela que nos avisa que o EasyPHP está pronto
para ser instalado, caso as configurações estejam de acordo com seu gosto,
clique em Install.
7
PROGRAMAÇÃO EM PHP
Aqui você poderá visualizar tudo que for criado em php e colocado dentro
do diretório www.do EasyPHP. Como não temos nenhum arquivo no diretório
www, não há nenhuma opção nesta tela de localhost.
Agora você possui um servidor web com Apache, PHP e MySQL
instalado em seu computador. Sempre que for escrever alguma página ou
script PHP, salve o conteúdo na pasta www, execute o EasyPHP, e escreva
localhost em seu navegador para testa-lo.
Introdução à web:
A web se enquadra dentro da Internet, não é mais que um serviço dos
muitos que presta a Rede, entre os que podemos encontrar:
• Correio eletrônico
• IRC ou chat
• FTP
• A própria web
8
PROGRAMAÇÃO EM PHP
São muito fáceis de utilizar e também é muito fácil encontrar o que
buscamos rapidamente, basta clicarmos em links e acessarmos a informação
que mais nos interessa.
A web não só se limita a apresentar textos e links, também pode nos
oferecer imagens, vídeos, áudio e todo tipo de apresentações, chegando a ser
o serviço mais rico em meios que tem a Internet.
Por esta razão, para nos referir ao sistema que implementa o web
(hipertexto), foi acunhado um novo termo que é hipermídia, referente a
possibilidade do adendo de conteúdos multimídia.
Linguagem HTML
Vemos uma página web em nosso navegador, ou cliente web, e parece
uma só entidade, mas não é assim, está composta por uma infinidade de
diferentes arquivos, como são as imagens, os possíveis vídeos e o mais
importante: o código fonte.
O código das páginas está escrito em uma linguagem chamada HTML,
que indica basicamente onde colocar cada texto, cada imagem ou cada vídeo e
a forma que terão ao serem colocados na página.
O HTML se criou a princípio com objetivos de divulgação.
Porém, não se pensou que a web chegaria a ser uma área de ócio com
caráter multimídia, de modo que, o HTML se criou sem dar respostas a todos
os possíveis usos que lhe dariam posteriormente e ao todo coletivo de gente
que o utilizariam no futuro.
A linguagem consta de etiquetas que tem esta forma <B> ou <P>. Cada
etiqueta significa uma coisa, por exemplo, <B> significa que se escreve em
negrito (bold) ou <P> significa um parágrafo, <A> é um link, etc.
Quase todas as etiquetas têm sua correspondente etiqueta de
fechamento, que indica que a partir deste ponto não deve afetar o código.
Por exemplo,</B> se utiliza para indicar que se deixe de escrever em
negrito.
Portanto, o HTML não é mais que uma série de etiquetas que se utilizam
para definir a forma ou o estilo que queremos aplicar ao nosso documento.
<B>Isto está em negrito</B>.
Páginas Dinâmicas:
Como vimos, uma página é dinâmica quando realiza efeitos especiais ou
programa alguma funcionalidade ou interatividade.
Ademais, vimos que para programar uma página dinâmica,
necessitaremos de outras linguagens a parte do HTML.
Entretanto, nunca devemos esquecer o HTML, já que este é à base do
desenvolvimento web: geralmente ao escrever uma página dinâmica o código
das outras linguagens de programação se inclui embebida dentro do mesmo
código HTML.
Uma razão pela qual construiremos uma página dinâmica é o simples
visual que podem alcançar os trabalhos, já que podemos fazer apresentações
mais interessantes das que se conseguem utilizando unicamente HTML.
Porém vamos ver com calma algumas razões menos óbvias, mas mais
importantes. Suponhamos que decidimos realizar um portal de televisão onde
uma das informações principais a prover poderia ser a programação semanal.
Efetivamente, esta informação costuma ser dada pelas televisões com
meses de antecedência e poderia ser muito facilmente armazenada em uma
base de dados.
Se trabalhássemos com páginas HTML, teríamos que construir uma
página independente para cada semana na qual introduziríamos "a mão" cada
um dos programas de cada um dos canais.
Ainda assim, teríamos que lembrarmos a cada semana de remover a
página da semana passada e colocar a da anterior. Tudo isto poderia ser
facilmente resolvido mediante páginas dinâmicas.
Neste caso, o que faríamos seria criar um programa (somente um) que
se encarregaria de recolher da base de dados da programação aqueles
programas que são retransmitidos nas datas que nos interessa e de
confeccionar uma página onde apareceria ordenado por canais e por hora de
retransmissão.
Deste modo, podemos automatizar um processo e já não nos
preocuparmos mais de um aspecto da página por alguns meses.
Poderíamos aplicar este tipo de procedimento em outras situações:
podemos preparar o horóscopo de todos os dias, as promoções de um site de
e-comercio...
10
PROGRAMAÇÃO EM PHP
Podemos fazer uma classificação às páginas dinâmicas em função de
onde se realiza o processamento da página, ou seja, o computador que se
encarregará do peso adicional.
11
PROGRAMAÇÃO EM PHP
O que é Javascript
12
PROGRAMAÇÃO EM PHP
Por um lado os efeitos especiais sobre páginas web, para criar
conteúdos dinâmicos e elementos da página que tenham movimento, mudem
de cor ou qualquer outro dinamismo.
13
PROGRAMAÇÃO EM PHP
DHTML
_
_
_
14
PROGRAMAÇÃO EM PHP
4- O que é JavaScript?
5- O que é DHTML?
15
PROGRAMAÇÃO EM PHP
9- O que é um WAMP?
16
PROGRAMAÇÃO EM PHP
AULA 02
O que é CSS?
CSS é uma tecnologia que nos permite criar páginas web de uma maneira
mais exata.
Para começar:
Exemplo:
17
PROGRAMAÇÃO EM PHP
Isto nos permite mudar a cor dos links para todo o documento, mas e se
quisermos mudar a cor de um link em concreto, para que tenha outra cor
diferente da cor definida na etiqueta <body>?
Vejamos um exemplo:
<p style="letter-spacing:12cm">
Este parágrafo tem as letras espaçadas por 12 centímetros.
</p>
Este atributo, assim como ocorre com muitos outros de CSS, não está
suportado para todos os navegadores.
18
PROGRAMAÇÃO EM PHP
Isto se consegue criando um arquivo onde simplesmente colocamos as
declarações de estilos da página e linkamos todas as páginas do site com esse
arquivo.
P{
font-size : 12pt;
font-family : arial,helvetica;
font-weight : normal;
}
H1 {
font-size : 36pt;
font-family : verdana,arial;
text-decoration : underline;
text-align : center;
background-color : Teal;
}
BODY {
background-color : #006600;
font-family : arial;
color : White;
}
2 - Linkamos a página web com a folha de estilos.
20
PROGRAMAÇÃO EM PHP
O que é CGI?
É o sistema mais antigo que existe para a programação de páginas
dinâmicas de
servidor.
Atualmente se encontra um pouco defasado por diversas razões entre
as quais se destaca a dificuldade no desenvolvimento dos programas e a
pesada carga que supõem para o servidor que os executa.
É uma linguagem de livre uso, isso quer dizer que é gratuita. Antes,
estava bastante associado à plataforma Unix, mas atualmente está disponível
em outros sistemas operativos como Windows.
21
PROGRAMAÇÃO EM PHP
Isto quer dizer que o código dos scripts em Perl não se compila, e sim,
que cada vez que executado, o código é lido e colocado em funcionamento.
Perl está inspirado a partir de linguagens como C, sh, awk e sed (alguns
provenientes dos sistemas Unix), mas está enfocado a ser mais prático e fácil
que estes últimos.
O que é ASP?
ASP (Active Server Pages) é a tecnologia desenvolvida pela Microsoft
para a criação de páginas dinâmicas de servidor.
22
PROGRAMAÇÃO EM PHP
apesar de que também podemos utilizar em um PC com Windows 98 se
instalarmos um servidor denominado Personal Web Server.
O que é PHP?
PHP é o acrônimo de Hipertext Preprocesor. E será a linguagem que
utilizaremos em nosso curso.
Esquema do
funcionamento das páginas PHP
acima.
23
PROGRAMAÇÃO EM PHP
scripts do lado do servidor
podemos falar de PHP.
PHP se escreve dentro do
código HTML, o que o faz
realmente fácil de utilizar, assim
como ocorre com o popular ASP
da Microsoft, porém com
algumas vantagens como sua gratuidade, independência de plataforma, rapidez e
segurança.
Isto faz com que qualquer sistema possa ser compatível com a
linguagem e significa uma vantagem importante, já que permite levar o site
desenvolvido em PHP de um sistema a outro sem praticamente nenhum
trabalho.
Foi criado originalmente em 1994 por Rasmus Lerdorf, mas como PHP
está desenvolvido em política de código aberto, ao longo de sua história teve
muitas contribuições de outros desenvolvedores.
24
PROGRAMAÇÃO EM PHP
Inclui funções para o envio de correio eletrônico, upload de arquivos,
criar dinamicamente no servidor imagens no formato GIF, inclusive animadas e
uma lista interminável de utilidades adicionais.
O que é JSP?
JSP é a abreviação de Java Server Pages, que em português seria algo
como Páginas de Servidor Java.
PHP
Uma observação importante é que para o desenvolvimento dos códigos
em PHP que iremos criar em nosso curso, iremos utilizar o Notepad++, é um
software de edição simples e grátis que pode ser facilmente encontrado na
internet. Mais adiante teremos uma explicação de como instalá-lo.
A primeira coisa que devemos fazer é nos certificar que nosso servidor
Web está rodando.
Você deverá ligá-lo se ainda não estiver, falamos sobre isso na primeira
aula, mas podemos testar por meio do navegador, clique em Internet Explorer.
25
PROGRAMAÇÃO EM PHP
Como podemos perceber, nosso Servidor Web não está rodando, para
iniciá-lo, clique em Iniciar > Todos os Programas > EasyPHP 5.3.2. > EasyPHP
5.3.2.
26
PROGRAMAÇÃO EM PHP
Essa é uma ótima pergunta. Não, você pode fazer com que o seu
Servidor Web seja iniciado automaticamente, vamos fazer isso agora.
27
PROGRAMAÇÃO EM PHP
28
PROGRAMAÇÃO EM PHP
Coloque seu nome como phpteste e aperte Enter. Iremos utilizar muito
está pasta a medida de nosso curso, portanto iremos criar um atalho para ela
na área de trabalho.
Clique com o botão direito na pasta phpteste e posicione a seta do
mouse sobre a opção Enviar Para, em seguida selecione a opção Área de
Trabalho (criar atalho), como mostra a imagem abaixo.
Pronto, criamos um atalho para a pasta phpteste com sucesso na Área de
Trabalho.
29
PROGRAMAÇÃO EM PHP
Clique em Compartilhar.
30
PROGRAMAÇÃO EM PHP
Agora clique em Fechar.
Mãos à obra nesse momento, iremos criar nosso primeiro arquivo em PHP.
Primeiramente devemos baixar o Notepad++, para isso vamos restaurar
a janela do Internet Explorer, para isso, clique no local indicado na imagem
abaixo.
31
PROGRAMAÇÃO EM PHP
32
PROGRAMAÇÃO EM PHP
Agora podemos ver os resultados referentes à nossa pesquisa, o
primeiro nos direcionará para uma página de download do Notepad++ em
português, vamos escolher essa opção clicando no local indicado na imagem
abaixo.
Clique em Download.
33
PROGRAMAÇÃO EM PHP
34
PROGRAMAÇÃO EM PHP
35
PROGRAMAÇÃO EM PHP
EXERCÍCIOS
1- Cite dois editores de PHP.
2- Qual a primeira coisa que precisamos fazer para utilizar um servidor web?
36
PROGRAMAÇÃO EM PHP
6- O que é CSS?
7- O que é CGI?
8- O que é ASP?
9- O que é PHP?
37
PROGRAMAÇÃO EM PHP
10- JSP é uma abreviação de que?
_
EXERCÍCIO DE FIXAÇÃO
38
PROGRAMAÇÃO EM PHP
AULA 03
Instalando o Notepad++.
39
PROGRAMAÇÃO EM PHP
Clique agora em Eu Concordo.
Clique em Próximo.
40
PROGRAMAÇÃO EM PHP
Esse arquivo chamado change.log não nos interessa. Por isso feche-o
da mesma forma que foi feito em aula, clique com o botão direito e selecione a
opção Fechar.
41
PROGRAMAÇÃO EM PHP
Agora nosso arquivo em PHP está salvo em nosso Servidor Web, vamos
então escrever nosso primeiro código em nosso arquivo.
http://localhost/phpteste/new_phpinfo.php
42
PROGRAMAÇÃO EM PHP
Você poderá ver que isso trará informações sobre PHP, aquela pequena
função que você inseriu é uma função em PHP muito especial que retorna todo
o tipo de informação referente à PHP que você tenha
instalado em seu
sistema.
Isso é um
grande recurso
para você saber
que o PHP está
rodando e qual é
sua configuração,
provavelmente
todo o
programador em
PHP usa está
página como um
fácil e rápido teste
para ter certeza de
que o PHP está
rodando
com sucesso na
máquina antes de
começarem a fazer
qualquer outra
coisa.
43
PROGRAMAÇÃO EM PHP
1ª <?php
2ª phpinfo();
3ª ?>
44
PROGRAMAÇÃO EM PHP
E fazemos isso por falarmos “Ok, ligue o PHP!”, fazemos isso com o
“<?php” começando assim nosso código em PHP, e quando terminamos nosso
código, colocamos “?>” para darmos a mensagem “Ok, meu pode desligar o
PHP!”.
Existem formas curtas de se escrever em PHP, chamadas de short open
tags, o que são consideradas formas ruins.
Ex: <? ?>, <?= ?>
Existem ainda, outros tipos de tag que são ASP style tags que são
consideradas formas muito ruins.
VARIÁVEIS
Variáveis são usadas para guardar informações que podem ser usadas
mais de uma vez no mesmo script. As variáveis podem conter textos, números,
arrays, etc.
Caso o valor da variável seja um texto, ele deverá estar entre aspas.
Observe o exemplo:
<?php
$autor = "João da Silva";
?>
Para usar uma variável, é muito simples. Entenda observando o exemplo abaixo:
<?php
45
PROGRAMAÇÃO EM PHP
$autor = "João da Silva";
echo $autor;
?>
Repare que para exibir o valor numérico da variável não precisamos usar
aspas.
Sintaxe:
$curso = 1000;
curso = -1000;
$curso = 0234; (inteiro base octal)
$curso = 0x34; (inteiro na base hexadecimal)
Ponto Flutuante:
Sintaxe:
$curso = 1.050;
$curso = 52e3; (equivalente a 52000)
Strings:
Sintaxe:
$curso = „PHP‟;
# desta maneira, o valor da variável será exatamente o texto contido entre
as aspas.
$curso = “PHP”;
# desta maneira, qualquer variável ou caractere de escape será expandido
antes de ser
atribuído.
\n – nova linha;
\r – retorno de carro (semelhante a \n)
46
PROGRAMAÇÃO EM PHP
\t – tabulação horizontal
\\ - a própria
barra (\) \$ - o
símbolo $
\‟ – aspas
simples \”
aspas duplas
ARRAY:
Sintaxe:
$estilo_musical[0] = „pagode‟;
$estilo_musical[1] = “drum \‟n\ „ bass”;
$estilo_musical[“MPB”] = „Gilberto Gil‟;
$estilo_musical[“Rock”] = „Rolling Stones‟;
Listas: Utilizadas em PHP para realizar atribuições múltiplas, como por
exemplo, atribuir valores de um array para variáveis, como mostra a seguir:
Sintaxe:
BOOLEANS:
APLICAÇÕES:
47
PROGRAMAÇÃO EM PHP
Tomaremos por conceito básico que você está com o EasyPHP sempre
ativo devido as configurações que efetuamos na última aula. Sendo assim não
precisamos nos preocupar com ele agora.
O que iremos criar com a ajuda do Notepad++ é um programa que declara
uma determinada variável e logo em seguida chama seu valor de acordo com o
que foi determinado previamente
48
PROGRAMAÇÃO EM PHP
DESENVOLVIMENTO DO PROGRAMA:
Você irá desenvolver agora seu primeiro aplicativo web.
49
PROGRAMAÇÃO EM PHP
Digite: <?php
Agora, para organizar melhor nosso código, vamos quebrar uma linha e
começar a declaração de variáveis.
Aperte Enter.
50
PROGRAMAÇÃO EM PHP
Aperte Enter.
Aperte Enter.
Aperte Enter.
Aperte Enter.
Agora para seguirmos adiante, iremos quebrar a linha de código mais uma
vez.
Aperte Enter.
Aperte Enter.
Por fim, vamos quebrar novamente a linha para encerrar nosso código.
Aperte Enter.
Digite: ?>
52
PROGRAMAÇÃO EM PHP
Pressione Enter.
53
PROGRAMAÇÃO EM PHP
Esse código irá codificar nossas palavras que tiveram caracteres especiais.
Clique em Arquivo.
54
PROGRAMAÇÃO EM PHP
55
PROGRAMAÇÃO EM PHP
Pronto, agora nosso arquivo está salvo em nosso servidor e pronto para
ser executado por qualquer navegador.
Vamos visualizar o resultado de nosso código no Internet Explorer, clique nele.
56
PROGRAMAÇÃO EM PHP
Agora digite:
http://localhost/phpteste/testeinteiros.php
E aperte Enter.
57
PROGRAMAÇÃO EM PHP
.
EXERCÍCIOS
58
PROGRAMAÇÃO EM PHP
8- O que é um array?
EXERCÍCIO DE FIXAÇÃO
Instale o Notepad++.
59
PROGRAMAÇÃO EM PHP
AULA 04
Comandos:
60
PROGRAMAÇÃO EM PHP
Tomemos por conceito básico que você está com o EasyPHP sempre
ativo devido as configurações que efetuamos nas aulas anteriores. Sendo
assim, não precisamos nos preocupar com ele agora.
Vamos
iniciar com o
código
responsável
por dar o OK
para a criação
do PHP.
Digite:
<?php
Agora,
para organizar
melhor
nosso código,
vamos quebrar
uma linha e
começar a
declaração de
variáveis.
Aperte Enter.
Digite:
$prova1 = 6;
61
PROGRAMAÇÃO EM PHP
Pressione Enter.
Digite $prova4 = 3;
Pressione Enter.
Pressione Enter.
62
PROGRAMAÇÃO EM PHP
Vamos analisar o código por alguns instantes, o que definimos nesse if,
é que se a $media for maior ou igual a 7, irá ser tomada uma determinada
ação, definiremos essa ação agora.
Pressione Enter.
Agora devemos pressionar a tecla Tab, mas deixe que nós façamos isso
para você.
Agora digite: echo ("Você foi aprovado sua nota final é de $media.");
63
PROGRAMAÇÃO EM PHP
Aperte Enter.
Pressione Backspace.
Digite }.
Aperte Enter.
Agora digite {.
Aperte Enter.
Agora devemos pressionar a tecla Tab, mas deixe que nós façamos isso
para você.
64
PROGRAMAÇÃO EM PHP
Digite } e pressione Enter.
Digite por fim ?>.
65
PROGRAMAÇÃO EM PHP
66
PROGRAMAÇÃO EM PHP
Clique em Arquivo.
67
PROGRAMAÇÃO EM PHP
Pronto, agora nosso arquivo está salvo em nosso servidor e pronto para
ser executado por qualquer navegador.
Vamos visualizar o resultado de nosso código no Internet Explorer.
Clique nele.
68
PROGRAMAÇÃO EM PHP
Agora digite
http://localhost/phpteste/nota.php
Aperte Enter.
DECLARAÇÃO DE STRINGS:
Para declarar uma string podemos utilizar aspas simples '' ou aspas duplas
"".
<?php
$fruta = 'maçã';
print "como $fruta"; // resultado 'como maçã'
print 'como $fruta'; // resultado 'como $fruta'
?>
Podemos declarar uma string com uma palavra-chave:
69
PROGRAMAÇÃO EM PHP
<?php
$texto = <<<CHAVE
Aqui nesta área
você pode escrever
CHAVE;
echo $texto;
?>
CONCATENAÇÃO:
<?php
$fruta = 'maçã';
//primeira forma
echo $fruta . ' é a fruta de adão';
//resultado = maçã é a fruta de adão
//segunda forma
echo "{$fruta} é a fruta de adão";
//resultado = maçã é a fruta de adão
?>
O PHP realiza automaticamente a conversão de tipos:
<?php
$a = 1234;
echo 'O salário é ' . $a . "\n";
echo "O salário é $a \n';
?>
Caracteres de escape:
Como já visto nas aulas anteriores, dentro de aspas duplas "" podemos
utilizar controles especiais interpretados pelo PHP, que são os caracteres de
escape (\):
\n nova linha
\r retorno de carro
\t tabulação
\\ barra
invertida \ \"
aspas duplas
\$ símbolo de
$
STRTOUPPER
<?php
string strtoupper('Convertendo para maiúsculo');
?>
70
PROGRAMAÇÃO EM PHP
Substr
<?php
$rest = substr("América", 1);
echo $rest . "\n"; // mostra mérica
$rest = substr("América", 1, 3);
echo $rest . "\n"; // mostra mér
$rest = substr("América", 0, -1);
echo $rest . "\n";// mostra Améric
$rest = substr("América", -2);
echo $rest . "\n";// mostra ca
?>
STRING
STRPAD
Exemplo:
<?php
$texto = "The beatles";
print str_pad($texto, 20) . "\n";
print str_pad($texto, 20, "*",
STR_PAD_LEFT) . "\n"; print str_pad($texto,
20, "*", STR_PAD_BOTH) . "\n"; print
str_pad($texto, 20, "*) . "\n"; ?>
STR_REPEAT
<?php
$txt = ".o000o.";
print str_string($txt, 5) . "\n";
?>
71
PROGRAMAÇÃO EM PHP
STRLEN
STR_REPLACE
<?php
$txt = "o rato oreu a roupa do rei de roma";
print str_replace('Rato', 'leão', $txt;
?>
STRPOS
<?php
$minha_string = "o rato roeu a roupa do rei
de roma"; $encontrar = 'roupa';
$posicao = strpos($minha_string, $encontrar);
if ($posicao)
72
PROGRAMAÇÃO EM PHP
{
echo "String encontrada na posição $posicao";
}
else
{
echo "String não encontrada";
}
?>
Uma das tarefas mais complicada ao se programar, é lidar com dados e
a linguagem utilizada não possuir meios adequados para fazê-lo.
O OPERADOR PONTO
A primeira coisa que você precisa saber sobre strings no contexto PHP é
a existência do operador ponto.
<?php
$variavelTexto = "Este é um exemplo de ";
echo($variavelTexto."concatenação de strings");
?>
Use e abuse do operador ponto, é para isto que ele foi bolado.
73
PROGRAMAÇÃO EM PHP
OBTENDO SUBSTRINGS
<?php
$stringLonga = "Esta é uma string da qual
queremos tirar um pedaço.";
echo(substr($stringLonga, 0, 4));
?>
Pois bem, vamos analisar o que a função substr() faz no nosso código:
Bem, imagine que você tenha uma string delimitada por um determinado
caractere.
"http://www.nomeDoHost.com.br/dir/dir/nomeDoArquivo.ext".
<?php
$Url="http://www.NomeDoHost.com.br/dir/NomeDoArq
uivo.ext"; $cacosDaUrl = explode("/", $Url);
$arrayReverso = array_reverse($cacosDaUrl);
echo($arrayReverso[0]);
74
PROGRAMAÇÃO EM PHP
?>
É fácil perceber que estes elementos estão sendo separados por uma
barra (/) portanto, basta utilizar este 'separador' para dividir a string nos seus
componentes. É aí que entra a função explode().
$cacosDaUrl[0] = "http:"
$cacosDaUrl[1] = www.NomeDoHost.com.br
$cacosDaUrl[2] = "dir‟"
$cacosDaUrl[3] = "NomeDoArquivo.ext"
"http://www.NomeDoHost.com.br/dir1/dir2/NomeDoArquivo.ext"?
Então, vamos dar uma olhada na segunda alternativa, a que foi utilizada no
exemplo.
EXERCÍCIOS
_
_
_
_
_
_
_
_
_
_
_
_
_
_
76
PROGRAMAÇÃO EM PHP
5- Qual a diferença de uma string com aspas duplas e com aspas normais?
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
77
PROGRAMAÇÃO EM PHP
EXERCÍCIO DE FIXAÇÃO
78
PROGRAMAÇÃO EM PHP
AULA 5
MANIPULAÇÃO DE TIPOS
Isto significa que, se você assimila um valor string para a variável $var,
$var se torna uma string. Se você então assimilar um valor inteiro para $var,
ela se torna um inteiro.
Note que isso NÃO muda os tipos dos operadores: apenas muda em
como esses operadores são avaliados.
<?php
$foo =
"0"; // $foo eh string (ASCII 48)
$foo += 2; // $foo eh agora um interio (2)
$foo = $foo + 1.3; // $foo eh agora um float (3.3)
$foo = 5 + "10 pequenos porcos"; // $foo eh inteiro (15)
$foo = 5 + "10 minúsculos porcos"; // $foo eh inteiro (15)
?>
<?php
$a =
"1"; // $a é uma string
$a[0] = "f"; //
E com relação aos índices da string? O que acontece?
?>
79
PROGRAMAÇÃO EM PHP
80
PROGRAMAÇÃO EM PHP
Nota: Em vez de moldar uma variável para string, você também pode
englobar a variável entre aspas duplas
81
PROGRAMAÇÃO EM PHP
82
PROGRAMAÇÃO EM PHP
83
PROGRAMAÇÃO EM PHP
<?php
$bool = (int) TRUE;
var_dump( $bool );
echo '<br />' . PHP_EOL;
$bool2 = (int) FALSE;
var_dump( $bool2 );
?>
Para converter um dado para string você já deve estar imaginando que
basta utilizar o conversor (string) e é exatamente isto.
<?php
$bool = (string) TRUE;
var_dump( $bool ); // string(1) "1"
echo '<br />' . PHP_EOL;
$bool2 = (string) FALSE;
var_dump( $bool2 ); // string(0) ""
?>
84
PROGRAMAÇÃO EM PHP
Conversão de inteiro e float em string
Na conversão de inteiro e float o número será convertido para string
mantendo a sua representação. Observe:
<?php
$inteiro = (string) 150;
var_dump( $inteiro ); // string(3) "150"
echo '<br />' . PHP_EOL;
$float = (string) 1.77;
var_dump( $float ); // string(4) "1.77"
?>
<?php
$bool = (bool) FALSE;
var_dump( $bool ); // bool(false)
echo '<br />' . PHP_EOL;
$inteiro = (bool) 0;
var_dump( $inteiro ); // bool(false)
echo '<br />' . PHP_EOL;
$float = (bool) 0.0;
var_dump( $float ); // bool(false)
echo '<br />' . PHP_EOL;
$string = (bool) '';
var_dump( $string ); // bool(false)
echo '<br />' . PHP_EOL;
$inteiro = (bool) 10;
var_dump( $inteiro ); // bool(true)
echo '<br />' . PHP_EOL;
$float = (bool) 1.0;
var_dump( $float ); // bool(true)
echo '<br />' . PHP_EOL;
$string = (bool) 'Uma string';
var_dump( $string ); // bool(true)
?>
85
PROGRAMAÇÃO EM PHP
Não utilizamos os conversores para array e nem para objeto como você
pode observar, mais não se preocupe assim que estes dados forem estudados
mostraremos a conversão dos mesmos.
Estruturas de Controle:
Qualquer script PHP é construído por uma série de instruções.
Uma instrução pode ser uma atribuição, uma chamada de função, um
'loop', uma instrução condicional, ou mesmo uma instrução que não faz nada
(um comando vazio).
Instruções geralmente terminam com um ponto e vírgula.
Além disso, as instruções podem ser agrupadas em um grupo de
comandos através do encapsulamento de um grupo de comandos com chaves.
86
PROGRAMAÇÃO EM PHP
Um grupo de comandos é uma instrução também. Os vários tipos de
instruções são descritos neste capítulo.
If
A construção if é uma das mais importantes implementações de muitas
linguagens, incluindo o PHP.
Ela permite a execução condicional de fragmentos de código.
O PHP implementa uma estrutura if que é similar aquela do C:
if (expressao)
instrucoes
Else
Normalmente você vai querer executar uma instrução se certa condição
for encontrada, e uma instrução diferente se a condição não for encontrada.
Isto é o que o else faz. else estende um comando if para executar uma
instrução caso a expressão no comando if seja avaliada como FALSE.
87
PROGRAMAÇÃO EM PHP
Elseif/else if
elseif, como seu nome sugere, é uma combinação de if e else. Da
mesma forma que o else, ele estende um comando if para executar uma
instrução diferente no caso de a expressão if original ser avaliada como
FALSE.
Porém, ao contrário de else, ele executará aquela expressão alternativa
somente se a expressão condicional do elseif for avaliada como TRUE.
Por exemplo, o código a seguir mostraria a é maior que b, a é igual a b ou
a é menor que b:
<?php
if ($a > $b) {
echo "a é maior que b";
} elseif ($a == $b)
{ echo "a é igual
a b";
} else {
echo "a é menor que b b";
}
?>
Pode haver vários elseifs dentro da mesma instrução if. A primeira
expressão elseif (se houver) que for avaliada como TRUE será executada.
No PHP, você também pode escrever 'else if' (em duas palavras) e o
comportamento será idêntico a um 'elseif' (em uma só palavra).
O significado sintático é ligeiramente diferente (se você está
familiarizado com C, ele tem o mesmo comportamento), mas no final das
contas ambos teriam exatamente o mesmo comportamento.
88
PROGRAMAÇÃO EM PHP
O comando elseif só é executado se a expressão if precedente e
quaisquer expressões elseif anteriores forem avaliadas como FALSE, e a
expressão elseif atual for avaliada como TRUE.
Nota: Note que elseif e else if somente será considerado exatamente o
mesmo quando usando chaves.
Quando usando dois pontos para definir sua condição if/elseif, você não
deve separar else if em duas palavras, ou o PHP falhará com um parse error.
<?php
/* Método incorreto: */
if($a > $b):
echo $a." is greater than ".$b;
else if($a == $b): // Não compilará.
echo "The above line causes a parse error.";
endif;
/* Método correto: */
if($a > $b):
echo $a." is greater than ".$b;
elseif($a == $b): // Note a combinação das palavras.
echo $a." equals ".$b;
else:
echo $a." is neither greater than or equal to ".$b;
endif;
?>
While
Loops while são o tipo mais simples de criar um 'loop' em PHP. Eles se
comportam como seus compatíveis em C.
O formato básico de um comando while é:
while (expressao)
instrucoes
O significado de um comando while é simples.
Ele pede que o PHP execute os comandos aninhados repetidamente,
enquanto a expressão do while é avaliada como TRUE.
O valor da expressão é verificado cada vez que se passa no começo do
'loop', desta forma, mesmo que este valor mude durante a execução do(s)
comando(s) aninhado(s), a execução não parará até que o fim da iteração
(cada vez que o PHP executa os comandos dentro do 'loop' é uma iteração).
Às vezes, se a expressão while é avaliada como FALSE logo no início,
o(s) comando(s) aninhado(s) não será(ão) rodado(s) nem uma vez sequer.
Como no comando if, você pode agrupar múltiplos comandos dentro do
mesmo laço while englobando um grupo de instruções com chaves, ou usando
a sintaxe alternativa:
while (expressao):
instrucoes
...
endwhile;
Os exemplos a seguir são idênticos, e ambos imprimem números de 1 até
10:
<?php
/* exemplo 1 */
$i = 1;
while ($i <= 10) {
echo $i++; /* o valor impresso será
$i depois do acréscimo
(post-increment) */
}
/* exemplo 2 */
$i = 1;
while ($i <= 10):
echo $i;
90
PROGRAMAÇÃO EM PHP
$i++;
endwhile;
?>
Do-while
Loops do-while são bem similares aos loops while, exceto pelo fato de
que a condição é verificada no fim de cada iteração em vez de no começo.
A diferença principal dos loops while regulares é que a primeira iteração
de um loop do-while é certamente executada (a condição só é verificada no fim
da iteração) enquanto que ele pode não rodar necessariamente em um loop
while normal.
A condição é verificada no começo de cada iteração, se ela é avaliada
como FALSE logo no começo, a execução do loop terminaria imediatamente.
Há apenas uma sintaxe para loops do-while:
<?php
$i = 0;
do {
echo $i;
} while ($i >
0); ?>
O loop acima rodaria exatamente uma vez, desde que depois da
primeira iteração, quando a condição é verificada, ela é avaliada como FALSE
($i não é maior que zero 0) e a execução do loop termina.
Usuários avançados de C podem estar familiarizados com o uso
diferenciado do loop do-while, para permitir o fim da execução no meio dos
blocos de código, englobando-os com do-while (0), e usando a instrução break.
O fragmento de código a seguir demonstra isso:
<?php
do {
if ($i < 5) {
echo "i não é grande o suficiente";
break;
}
$i *= $factor;
if ($i < $minimum_limit) {
break;
}
echo "i está Ok";
/* process i */
} while
(0); ?>
Não se preocupe se você não entendeu isto da forma certa ou de jeito
nenhum. Você pode codificar scripts simples ou mesmo poderosos sem usar
esse 'recurso'.
91
PROGRAMAÇÃO EM PHP
For
Loops do tipo for são os laços mais complexos em PHP.
Eles se comportam como os seus compatíveis em C. A sintaxe de um loop
for é:
for (expr1; expr2; expr3)
instrucoes
Isto pode não ser tão inútil quanto você pode pensar, pois
frequentemente você pode querer terminar o 'loop' usando uma instrução break
condicional em vez de usar a expressão-verdade do for.
Considere os seguintes exemplos. Todos eles mostram números de 1 até
10:
<?php
/* exemplo 1 */
/* exemplo 2 */
/* exemplo 3 */
$i = 1;
for (; ; ) {
if ($i > 10) {
break;
}
echo $i;
92
PROGRAMAÇÃO EM PHP
$i++;
}
/* exemplo 4 */
93
PROGRAMAÇÃO EM PHP
EXERCÍCIO
94
PROGRAMAÇÃO EM PHP
95
PROGRAMAÇÃO EM PHP
EXERCÍCIO DE FIXAÇÃO
96
PROGRAMAÇÃO EM PHP
AULA 06
Foreach
O PHP4 inclui um construtor foreach, muito parecido com o Perl e outras
linguagens.
Isto oferece uma maneira fácil de iterar sobre matrizes. foreach funciona
somente com arrays, e lançará um erro se tentar utilizá-lo em uma variável de
qualquer tipo diferente ou em variáveis não inicializadas.
Há duas sintaxes; a segunda é uma abreviatura, mas bem útil do que
primeira:
foreach (expressao_array as $valor)
instruções
foreach (expressao_array as $chave => $valor)
instruções
A primeira forma varre uma dada matriz dada por expressao_array.
Em cada 'loop', o valor do elemento corrente é atribuído a $valor e o
ponteiro interno da matriz é avançado em uma posição (assim, na próxima
iteração você estará olhando para o próximo elemento).
A segunda forma faz a mesma coisa, exceto pelo fato de que a
chave do elemento atual será atribuída à variável $chave em cada
iteração.
A partir do PHP5, é possível iterar objetos também.
Nota: Quando o foreach inicia sua primeira execução, o ponteiro
interno da matriz é zerado automaticamente para o primeiro elemento do
array.
Isto significa que você não precisa chamar reset() antes de um loop
foreach.
Nota: Note também que foreach opera sobre uma cópia do array
especificado, não o próprio array. foreach é semelhante um array de
ponteiros.
Não confie no ponteiro do array durante ou após o foreach sem resetá-lo.
A partir do PHP5, você pode modificar facilmente os
elementos da matriz precedendo $value com &.
Isto irá definir uma referência ao invés de copiar o valor.
<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
$value = $value * 2;
}
97
PROGRAMAÇÃO EM PHP
// $arr is now array(2, 4, 6, 8)
Você pode ter notado que os seguintes itens são funcionalmente idênticos:
<?php
$arr = array("um", "dois", "três");
reset ($arr);
while (list(, $value) = each ($arr)) {
echo "Valor: $value<br />\n";
}
<?php
/* exemplo foreach 1: somente valores */
98
PROGRAMAÇÃO EM PHP
$a = array(1, 2, 3, 17);
$a = array (
"um" => 1,
"dois" => 2,
"três" => 3,
"dezessete" => 17
);
$a = array();
$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";
99
PROGRAMAÇÃO EM PHP
Break
break cancela a execução do comando for, foreach, while, do-while ou
switch atual.
break aceita um argumento numérico opcional que diz a ele quantas
estruturas aninhadas englobadas devem ser quebradas.
<?php
$arr = array('um', 'dois', 'três', 'quatro',
'PARE', 'cinco'); while (list (, $val) = each
($arr)) {
if ($val == 'PARE') {
break; /* Você poderia colocar 'break 1;' aqui. */
}
echo "$val<br />\n";
}
$i = 0;
while (++$i) {
switch ($i) {
case 5:
echo "No 5<br />\n";
break 1; /* Sai somente do switch. */
case 10:
echo "No 10; saindo<br />\n";
break 2; /* Sai do switch e while. */
default:
break;
}
}
?>
100
PROGRAMAÇÃO EM PHP
Continue
continue é usado dentro de estruturas de loops para saltar o resto da
iteração do loop atual e continuar a execução na avaliação e no início da
próxima iteração.
Nota: Note que no PHP a instrução switch é considerada uma
estrutura de loop quando relacionada ao comando continue.
continue aceita um argumento numérico opcional que diz a ele de
quantos níveis de loops aninhados ele deve saltar até o fim.
<?php
while (list ($key, $value) = each ($arr)) {
if (!($key % 2)) { // pula itens pares
continue;
}
do_something_odd ($value);
}
$i = 0;
while ($i++ < 5) {
echo "Fora<br />\n";
while (1) {
echo " Meio<br />\n";
while (1) {
echo " Dentro<br />\n";
continue 3;
}
echo "Isto nunca será exibido.<br />\n";
}
echo "Nem isso.<br />\n";
}
?>
Omitindo o ponto e vírgula depois do continue pode resultar em
confusão. Este é um exemplo do que você não deve fazer.
<?php
for ($i = 0; $i < 5; ++$i) {
if ($i == 2)
continue
print "$i\n";
}
?>
0
1
3
4
101
PROGRAMAÇÃO EM PHP
Switch
A instrução switch é similar a uma série de instruções IFs seguidas.
Em muitas ocasiões, você poderá ter que comparar a mesma variável
(ou expressão) com muitos valores diferentes, executando códigos diferentes
dependendo com qual valor ele se encaixar.
É exatamente para isso que a instrução switch faz.
Nota: Note que diferentemente de outras linguagens, a instrução
continue se aplica a switch e age similarmente a um break.
Se você tem um switch dentro de um loop e deseja continuar para a
próxima iteração do loop, use continue 2.
Nota: Note que switch/case fazem comparações soltas.
Os exemplos seguintes mostram duas maneiras diferentes de escrever a
mesma coisa, uma utilizando uma série de ifs e elseifs e a outra utilizando a
instrução switch:
Exemplo #1: Estrutura switch
<?php
if ($i == 0) {
echo "i igual a 0";
} elseif ($i == 1)
{ echo "i igual
a 1";
} elseif ($i == 2)
{ echo "i igual
a 2";
}
switch ($i) {
case 0:
echo "i igual a 0";
break;
case 1:
echo "i igual a 1";
break;
case 2:
echo "i igual a 2";
break;
}
?>
Exemplo #2: A estrutura switch permite uso de strings
<?php
switch ($i) {
case "apple":
echo "i is apple";
break;
102
PROGRAMAÇÃO EM PHP
case "bar":
echo "i is bar";
break;
case "cake":
echo "i is cake";
break;
}
?>
É importante entender como a instrução switch funciona para evitar
enganos.
A instrução switch executa linha a linha (atualmente, instrução a
instrução). No início, nenhum código é executado.
Somente quando uma instrução case é encontrada com um valor que
combina com a expressão do switch faz com que o PHP execute as instruções
a partir daí.
O PHP continua executando as instruções até o fim do bloco switch ou
na primeira vez que encontrar uma instrução break.
Se você não escrever uma instrução break no fim das instruções case, o
PHP continuará executando os cases seguintes.
Exemplo:
<?php
switch ($i) {
case 0:
echo "i igual a 0";
case 1:
echo "i igual a 1";
case 2:
echo "i igual a 2";
}
?>
Aqui, se $i é igual à zero, o PHP executará todas as instruções echo!
Se $i é igual a 1, o PHP executará os últimas duas instruções echo, e
somente se $i for igual a 2, você terá o comportamento 'esperado' apenas onde
'i igual a 2' será mostrado.
103
PROGRAMAÇÃO EM PHP
Em uma instrução elseif, a condição é avaliada novamente. Se sua
condição é mais complicada que uma simples comparação e/ou é dentro de um
loop, um switch é mais rápido.
Um case pode não ter nenhuma instrução dentro, o que simplesmente
passa o controle para o próximo case.
<?php
switch ($i) {
case 0:
case 1:
case 2:
echo "i é menor que 3 mas não negativo";
break;
case 3:
echo "i é 3";
}
?>
Um case especial é o default. Esse case é executado quando nenhum
outro case combina. Por exemplo:
<?php
switch ($i) {
case 0:
echo "i igual a 0";
break;
case 1:
echo "i igual a 1";
break;
case 2:
echo "i igual a 2";
break;
default:
echo "i não é igual a 0, 1 ou 2";
}
?>
A expressão avaliada pelo case precisa ser um tipo simples, ou seja,
inteiros, números de ponto flutuante e strings.
Arrays ou objetos não podem ser utilizados a não ser que eles
impliquem num tipo simples.
A sintaxe alternativa para estruturas de controle é suportada para os
switches. Para maiores informações, veja Sintaxe alternativa para estruturas de
controle.
<?php
switch ($i):
case 0:
echo "i igual a 0";
break;
case 1:
echo "i igual a 1";
break;
104
PROGRAMAÇÃO EM PHP
case 2:
echo "i igual a 2";
break;
default:
echo "i não é igual a 0, 1 ou 2";
endswitch;
?>
Declare
O construtor declare é utilizado para configurar diretivas de execução para
blocos de
código.
A sintaxe do declare é similar à sintaxe de outros construtores de controle.
declare (diretiva)
instrucao
A seção diretiva permite o comportamento do bloco declare a ser
configurado.
Atualmente somente uma diretiva é reconhecida: a diretiva ticks.
A parte instrução do bloco declare será executada.
Como ela é executada e que efeitos colaterais que podem ocorrem
durante a execução dependem da configuração diretiva.
O construtor declare também pode ser utilizado no escopo global,
afetando todo o código que se seguir.
Ticks
Um tick é um evento que ocorre para cada N níveis de instruções
executadas pelo interpretador com o bloco declare.
O valor para N é especificado utilizando ticks=N nos blocos declare
das
seções diretiva.
<?php
// Uma função que grava o tempo entre as chamadas
function profile ($dump = FALSE)
{
static $profile;
105
PROGRAMAÇÃO EM PHP
$temp = $profile;
unset ($profile);
return $temp;
}
Return
Se chamada em uma função, a instrução return() termina imediatamente
a execução da função atual e retorna seu argumento como o valor da função.
return() também termina a execução de uma instrução eval() ou de um script.
Se chamada no escopo global, a execução do script atual será
terminada. Se o arquivo do script atual foi incluído com include() ou require(),
então a execução é devolvida para o arquivo chamador.
Especificamente para arquivos de script incluídos com include(), o valor
fornecido para return() será devolvido como o valor da chamada include().
106
PROGRAMAÇÃO EM PHP
Se return() for chamado do arquivo de script principal, então o programa
pára. Se o arquivo de script atual é o configurado em auto_prepend_file ou
auto_append_file do php.ini, então a execução desses scripts é finalizada.
Nota: Note que return() é um construtor de linguagem e não uma função,
e parênteses em volta do argumento não é requerido. É comum deixa-los, e
você atualmente deve fazê-lo, já que o PHP tem menos trabalho para fazer
neste caso.
Nota: Você jamais deve usar parênteses em torno da sua variável
retornada ao retornar por referência, já que isto não irá funcionar.
Você pode retornar apenas variáveis por referência, não o resultado de um
comando.
Se você usar return ($a); então você não esta retornando uma variável,
mas o resultado da expressão ($a) (o qual é, claro, o valor de $a).
Require( )
A instrução require() inclui e avalia um arquivo específico.
require() e include() são idênticos em todas as formas exceto pela
manipulação de erros. Ambas produzem um Warning, mas require() resultará
em um Fatal Error.
Em outras palavras, não hesite em utilizar require() se na falta de um
arquivo quiser parar o processamento da página. include() não se comporta da
mesma maneira, e o script poderá continuar nessa situação.
Em todo caso, vale a pena confirmar a configuração da diretiva
include_path.
Exemplo #1 Exemplos simples de require()s
<?php
require 'prepend.php';
require $somefile;
require ('somefile.txt');
?>
Nota: Até o PHP 4.0.2, havia o seguinte comportamento: require()
sempre tentará ler o arquivo informado, mesmo que a linha do require nunca
seja executada.
É por isso que instruções condicionais não afetam require(). Entretanto,
se a linha onde ocorre o require() não for executada, nada do código incluído
do arquivo também será.
Similarmente, estruturas de loop não afetam o funcionamento do require().
107
PROGRAMAÇÃO EM PHP
Mas o código incluído pela função será submetida ao loop. A instrução
require() apenas ocorre uma vez.
Nota: Este é um construtor de linguagem e não uma função, por isso não
é possível chamá-lo através de funções variáveis.
Aviso
Include( )
A instrução include () inclui e avalia o arquivo informado.
Esses dois construtores são idênticos à exceção de como eles
manipulam erros. Ambas produzem um Warning, mas require() resultará em
um Fatal Error.
Em outras palavras, utilize require() se você deseja que um arquivo
faltando interrompa o processamento da página. include() não se comporta da
mesma maneira, permitindo que o script continue nessas situações.
Em todo caso, vale a pena confirmar a configuração da diretiva
include_path.
Esteja avisado que um erro de interpretação no arquivo incluído não
causa a parada do processamento em versões do PHP anteriores a PHP 4.3.5.
A partir desta versão, causa.
Arquivos a incluir são procurados primeiramente no include_path relativo
ao diretório atual de trabalho, e então no diretório atual do script. Por exemplo,
se seu include_path é libraries, o diretório atual é /www/, se você incluiu
include/a.php e há um b.php nesse arquivo, b.php será procurado primeiro em
/www/libraries/ e somente depois em /www/include/.
Se o nome do arquivo começa com ./ ou ../, ele é procurado apenas no
diretório atual.
Quando um arquivo é incluído, seu código entra no escopo de variável
da linha onde a inclusão ocorre.
Qualquer variável disponível da linha onde a chamada da inclusão
ocorre estará disponível para o arquivo incluído, daquele ponto em diante.
Entretanto, todas as funções e classes definidas no arquivo incluído tem um
escopo global.
Exemplo #1 Exemplos de include()s simples
108
PROGRAMAÇÃO EM PHP
variaveis.php
<?php
$cor = 'verde';
$fruta = 'maçã';
?>
teste.php
<?php
include 'vars.php';
?>
Se o include ocorre dentro de uma função do arquivo principal, então
todo o código incluído será executado como se ele tivesse sido definido dentro
daquela função.
Da mesma forma, ele seguirá o escopo de variáveis da função. Uma
exceção para esta regra são as constantes mágicas que são avaliadas pelo
parser antes dos includes ocorrerem.
Exemplo #2 Incluindo dentro de funções
<?php
function foo()
{
global $cor;
include 'variaveis.php';
?>
Quando um arquivo é incluído, o interpretador sai do modo PHP e entra
no modo HTML (no começo do arquivo incluído), e alterna novamente no seu
fim.
109
PROGRAMAÇÃO EM PHP
Por isso, qualquer código dentro do arquivo incluído que precisa ser
executado como código PHP tem de ser delimitado por tags válidas de abertura
e fechamento.
Se "URL fopen wrappers" estão ativas no PHP (normalmente na
configuração default), você pode especificar um arquivo utilizando uma URL
(via HTTP ou qualquer outro wrapper suportado) em vez de uma caminho local.
Se o servidor apontado interpreta o arquivo informado como código
PHP, variáveis podem ser passadas ao arquivo incluído na URL de requisição
como num HTTP GET.
Isto não é necessariamente a mesma coisa que incluir o arquivo e
compartilhar o escopo de variável do arquivo principal: o script será executado
no servidor remoto e apenas seu resultado será incluído no script local.
Aviso
As versões Windows do PHP anteriores ao PHP 4.3.0 não suportam
acesso a arquivos remotos através desta função, mesmo se allow_url_fopen
estiver ativado.
Exemplo #3 include() através de HTTP
<?php
?>
Aviso
Security Warning
O arquivo remoto pode ser processado pelo servidor remoto
(dependendo da extensão do arquivo e do fato de o servidor remoto executar o
PHP ou não), mas ainda tem de produzir um script PHP válido porque ele será
processado pelo servidor local.
110
PROGRAMAÇÃO EM PHP
Se o arquivo do servidor remoto deve ser processado lá e apenas
exibido, a função, readfile () é muito melhor para ser usada.
Entretanto, um cuidado especial deve ser tomado para se assegurar que
o script remoto irá produzir um código válido e desejado.
Manipulando retornos: é possível executar um comando return() dentro
de um arquivo incluído para terminar o processamento naquele arquivo e
retornar para o script que o chamou.
Também é possível retornar valores dos arquivos incluídos. Você pode
usar o valor de um chamado include como você faria com uma função normal.
Isto não é, entretanto, possível ao incluir arquivos remotos a menos que a
saída do arquivo remoto tenha tags de início e final do PHP válidas (como
qualquer arquivo local).
Você pode declarar as variáveis necessárias dentro destas tags e elas
serão introduzidas em qualquer ponto que o arquivo seja incluído.
Devido a include() ser um construtor especial da linguagem, parêntesis
não são necessários ao redor do seu argumento. Tenha cuidado ao comparar o
valor de retorno.
Exemplo #4 Comparando o valor de retorno de include
<?php
}
// funciona
if ((include 'vars.php') == 'OK') {
echo 'OK';
}
?>
Exemplo #5 Instruções include() e return()
return.php
<?php
$var = 'PHP';
return $var;
?>
noreturn.php
<?php
$var = 'PHP';
?>
testreturns.php
<?php
111
PROGRAMAÇÃO EM PHP
<?php
$string = get_include_contents('somefile.php');
function get_include_contents($filename) { if
(is_file($filename)) {
ob_start();
include $filename;
$contents = ob_get_contents();
ob_end_clean();
return $contents;
}
return false;
}
?>
112
PROGRAMAÇÃO EM PHP
Require_once()
A instrução require_once () incluí e avalia o arquivo especificado durante
a execução do script. Seu comportamento é similar ao da instrução require (), a
não ser que o arquivo informado já tenha sido incluído, não refazendo a
operação novamente.
require_once() pode ser utilizado nos casos em que o mesmo arquivo
pode acabar sendo incluído mais de uma vez durante a execução de um script
em particular, quando na verdade ele só pode ser incluído apenas uma, para
evitar problemas com redefinições de funções, alterações nos valores de
variáveis, etc.
Os valores de retorno são os mesmos que include (). Se o arquivo já
tiver sido incluído, esta função retorna TRUE
Nota: require_once() foi acrescentado a partir PHP 4.0.1
Nota: Esteja avisado que o comportamento de require_once () e
include_once () pode não ser o que você espera em um sistema operacional
insensitivo ao caso (como o Windows).
Este funcionamento mudou no PHP5 - o caminho é normalizado
primeiro, assim C:\PROGRA~1\A.php é realizado como o mesmo que
C:\Program Files\a.php assim o arquivo é requerido apenas uma vez.
Aviso
As versões Windows do PHP anteriores ao PHP 4.3.0 não suportam
acesso a arquivos remotos através desta função, mesmo se allow_url_fopen
estiver ativado.
Include_once()
A instrução include_once() inclui e avalia o arquivo especificado durante
a execução de um script. Seu comportamento é similar a instrução include(), a
não ser que o arquivo informado já tenha sido incluído, não refazendo a
operação novamente.
Como o nome sugere, ele será incluído apenas uma vez.
include_once() pode ser utilizado nos casos em que o mesmo arquivo
pode acabar sendo incluído mais de uma vez durante a execução de um script
em particular, quando na verdade ele só pode ser incluído apenas uma para
evitar problemas com redefinições de funções, alterações nos valores de
variáveis, etc.
Nota: include_once() foi acrescentado a partir PHP 4.0.1.
Nota: Esteja avisado que o comportamento de require_once() e
include_once() pode não ser o que você espera em um sistema operacional
insensitivo ao caso (como o Windows).
Exemplo #1 include_once() não diferencia maiúsculas e
minúsculas no Windows <?php
include_once "a.php"; // isto irá incluir a.php
include_once "A.php"; // isto irá incluir a.php novamente no Windows!
(Apenas PHP 4)
?>
113
PROGRAMAÇÃO EM PHP
Este funcionamento mudou no PHP5 - o caminho é normalizado
primeiro, assim C:\PROGRA~1\A.php é realizado como o mesmo que
C:\Program Files\a.php pois o arquivo é incluído apenas uma vez.
Aviso
114
PROGRAMAÇÃO EM PHP
115
PROGRAMAÇÃO EM PHP
EXERCÍCIO DE FIXAÇÃO
5- O que é um tick?
116
PROGRAMAÇÃO EM PHP
117
PROGRAMAÇÃO EM PHP
AULA 7
Matrizes, por outro lado, são vetores formados por vetores, ou seja, é
um vetor, onde cada elemento é um novo vetor.
Uma documentação mais apurada pode ser obtida no manual do PHP em:
http://www.php.net.
118
PROGRAMAÇÃO EM PHP
As saídas nas telas, mostradas neste artigo foram obtidas através das
funções show_vars() e print_a() da biblioteca debuglib, constituindo importante
recurso, tanto para programadores recém-iniciados, quanto para aqueles com
muitos anos de experiência.
http://www.atomar.de.
Entendendo um Vetor:
É
119
PROGRAMAÇÃO EM PHP
É possível notar também que os índices não necessitam estar em
ordem, podendo ser passados em qualquer ordem ou até mesmo serem
índices textuais, além dos tradicionais índices numéricos.
Por este mesmo motivo, "valor 02" recebe o próximo índice automático,
1. No entanto, quando dentro dos colchetes especifica-se um índice, ele é
utilizado.
120
PROGRAMAÇÃO EM PHP
O $vetor03, no entanto, foi criado passando se os pares valor/índice
desejados. Isso foi feito através do operador seta dupla (=>) o qual se lê "índice
com valor".
Desta forma, um vetor foi iniciado com o índice textual "apaga buffer".
A criação de uma matriz pode ser realizada da mesma forma, como por
exemplo, no script abaixo.
121
PROGRAMAÇÃO EM PHP
No script acima, as mesmas técnicas demonstradas anteriormente foram
utilizadas para a criação de uma matriz bidimensional.
A metodologia FIFO (do inglês First In, First Out) é também conhecida
como uma fila.
A LIFO (do inglês Last In First Out) é também conhecida como uma
pilha. Na pilha, assim como em uma pilha de papéis, o último dado a ser
colocado na fila deverá ser o primeiro dado a ser solicitado.
122
PROGRAMAÇÃO EM PHP
123
PROGRAMAÇÃO EM PHP
124
PROGRAMAÇÃO EM PHP
125
PROGRAMAÇÃO EM PHP
1) O laço não age sobre o vetor, mas sobre uma cópia do vetor,
portanto, a cada iteração, o ponteiro interno do vetor original não é modificado;
127
PROGRAMAÇÃO EM PHP
EXERCÍCIOS
128
PROGRAMAÇÃO EM PHP
EXERCÍCIO DE FIXAÇÃO
129
PROGRAMAÇÃO EM PHP
AULA 8
Um array é uma variável, mas diferente das demais, ele armazena uma
coleção de valores e não somente um. E ainda por cima podem conter outras
variáveis e de tipos diferentes.
Detalhe importante: Quando em uma função precisarmos retornar mais
de um valor, array é a saída, basta retornar todos os valores em forma de
array.
Além disso, é semelhante ao que estudamos na matemática: linhas e
colunas. Matriz 3x4 (3 linhas e 4 colunas).
Um array no PHP é um mapa ordenado, que relaciona valores com
chaves (em linhas e colunas).
Especificando um array()
<?php
$a = array_fill(5, 6, 'banana');
print_r($a);
?>
130
PROGRAMAÇÃO EM PHP
<?php
$array1 = array();
$array2 = array(1 => "data");
Array
(
[0] => data
)
<?php
$array1 = array();
$array2 = array(1 => "data");
$result = $array1 + $array2;
?>
131
PROGRAMAÇÃO EM PHP
<?php
$input = array(12, 10, 9);
<?php
$cesta = array("laranja", "banana", "melancia",
"morango"); $fruta = array_pop($cesta);
print_r($cesta);
?>
<?php
$cesta = array("laranja", "morango");
array_push($cesta, "melancia", "batata");
print_r($cesta);
?>
132
PROGRAMAÇÃO EM PHP
<?php
$input = array("php", 4.0, array ("verde",
"vermelho")); $result = array_reverse($input);
$result_keyed = array_reverse($input, TRUE);
print_r($result_keyed);
?>
<?php
$a=array("a","b",0,"c","d");
echo "a: ".array_search("a",$a)."<br>";
echo "b: ".array_search("b",$a)."<br>";
echo "c: ".array_search("c",$a)."<br>";
echo "d: ".array_search("d",$a)."<brn>";
echo "0: ".array_search("0",$a)."<br>";
echo "x: ".array_search("x",$a)."<br>";
echo "1: ".array_search("1",$a);
?>
<?php
if (array_search($needle, $array)!== FALSE) {
//code goes here (
133
PROGRAMAÇÃO EM PHP
}
?>
<?php
<?
$Projects[0] = array(123, "Text 1");
$Projects[1] = array(456, "Text 2");
$Projects[2] = array(789, "Text 3");
<?php
$cesta = array("laranja", "banana", "melancia", "morango");
$fruta = array_shift($cesta);
print_r($cesta);
?>
134
PROGRAMAÇÃO EM PHP
<?php
$a = array(2, 4, 6, 8);
echo "soma(a) = ".array_sum($a)."<br>";
<?php
$input = array("a" => "verde", "vermelho", "b" => "verde", "azul",
"vermelho");
$result = array_unique($input);
print_r($result);
?>
<?php
$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
?>
<pre>
135
PROGRAMAÇÃO EM PHP
<?php
$frutas = array (
"frutas" => array("a"=>"laranja", "b"=>"banana",
"c"=>"maçã"), "numeros" => array(1, 2, 3, 4, 5, 6),
<?php
$array = array(1, 1, 1, 1, 1, 8 => 1, 4 => 1, 19, 3 => 13);
print_r($array);
?>
<?php
$frutas = array("d" => "limao", "a" => "laranja", "b" => "banana", "c" =>
"melancia"); arsort($frutas);
foreach ($frutas as $chave => $valor) {
echo "$chave = $valor\n";
}
?>
136
PROGRAMAÇÃO EM PHP
<?php
$frutas = array("d" => "limao", "a" => "laranja", "b" => "banana", "c" =>
"melancia"); asort($frutas);
foreach ($frutas as $chave => $valor) {
echo "$chave = $valor\n";
}
?>
<?php
$a[0] = 1;
137
PROGRAMAÇÃO EM PHP
$a[1] = 3;
$a[2] = 5;
$a[3] = 6;
$result = count($a);
// $result == 4
print $result."<br>";
$b[0] = 7;
$b[5] = 9;
$b[10] = 11;
$result = count($b);
// $result ==
3; print
$result; ?>
<?php
$food = array( 'fruits' => array('orange',
'banana', 'apple'), 'veggie' => array('carrot',
'collard','pea')); // recursive count
echo count($food,COUNT_RECURSIVE); //
mostra 8 // normal count
// mostra2
echo count($food); 2
?
>
<?php
$food = array( 'fruits' => array('orange',
'banana', 'apple'), 'veggie' => array('carrot',
'collard','pea')); // recursive count
echo count($food,COUNT_RECURSIVE)."<br>"; //
mostra 8 // normal count
// mostra2
echo count($food); 2
?
>
138
PROGRAMAÇÃO EM PHP
<?php
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
echo "Atual $mode<br>";
$mode = next($transport); // $mode = 'bike';
echo "Atual $mode<br>";
$mode = current($transport); // $mode = 'bike';
echo "Atual
$mode<br>";
$mode = // $mode =
prev($transport); 'foot';
echo "Atual
$mode<br>";
$mode = // $mode =
end($transport); 'plane';
echo "Atual
$mode<br>";
$mode = current($transport); // $mode = 'plane';
echo "Atual $mode<br>";
?>
139
PROGRAMAÇÃO EM PHP
<?php
$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each($foo);
print_r($bar);
?>
<?php
$foo = array("Robert" => "Bob", "Seppo" => "Sepi");
$bar = each($foo);
print_r($bar);
?>
<?php
$fruit = array('a' => 'apple', 'b' => 'banana', 'c' =>
'cranberry'); reset($fruit);
while (list($key, $val) = each($fruit)) {
echo "$key => $val\n";
}
/* Saída:
a => apple
b => banana
c => cranberry
*/
?>
140
PROGRAMAÇÃO EM PHP
<?php
$frutas = array('melancia', 'banana', 'morango');
print end($frutas); // morango
?>
<?php
$array = array(
'fruit1' => 'apple',
'fruit2' => 'orange',
'fruit3' => 'grape',
'fruit4' => 'apple',
'fruit5' => 'apple');
<?php
$array = array(
'fruit1' => 'apple',
'fruit2' => 'orange',
'fruit3' => 'grape',
'fruit4' => 'apple',
'fruit5' => 'apple');
<?php
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
print"$mode<br
>";
$mode = // $mode =
next($transport); 'bike';
print"$mode<br
>";
$mode = // $mode =
next($transport); 'car';
print"$mode<br
>";
$mode = // $mode =
prev($transport); 'bike';
print"$mode<br
>";
$mode = // $mode =
end($transport); 'plane';
print"$mode<br
>";
?
>
142
PROGRAMAÇÃO EM PHP
<?php
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
print"$mode<br
>";
$mode = // $mode =
next($transport); 'bike';
print"$mode<br
>";
$mode = // $mode =
next($transport); 'car';
print"$mode<br
>";
$mode = // $mode =
prev($transport); 'bike';
print"$mode<br
>";
$mode = // $mode =
end($transport); 'plane';
print"$mode<br
>";
?
>
<pre
>
143
PROGRAMAÇÃO EM PHP
<?php
<?php
$arr = array("one", "two", "three");
reset($arr);
while (list($key, $value) = each ($arr)) {
echo "Chave: $key; Valor: $value<br />\n";
}
144
PROGRAMAÇÃO EM PHP
<?php
/* exemplo foreach 1: somente valores */
$a = array(1, 2, 3, 17);
$a = array(1, 2, 3, 17);
$a = array (
"um" => 1,
"dois" => 2,
"três" => 3,
"dezessete" => 17
);
$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";
$produto[1][codigo] = "1";
$produto[1][nome] = "João Pereira Brito";
$produto[1][email] = "joao@joao.org";
$produto[1][rua] = "Vasco da Gama";
$produto[1][numero] = "1345";
$produto[2][codigo] = "2";
$produto[2][nome] = "Antônio queiroz";
Exemplo de Array
$i=0;
while($i < $numregs){
$codigo=pg_result($consulta,$i,codigo);
$nome=pg_result($consulta,$i,nome);
$venc=pg_result($consulta,$i,vencimento);
$apartamento=pg_result($consulta,$i,apartamento);
$pessoas=pg_result($consulta,$i,pessoas);
$cota_agua=pg_result($consulta,$i,cota_agua);
$cota_condominio=pg_result($consulta,$i,cota_co
ndominio);
$cota_reserva=pg_result($consulta,$i,cota_reserv
a);
146
PROGRAMAÇÃO EM PHP
Também podemos ter um array formado por outros arrays (neste caso,
cada sub array é uma linha do principal).
$arrayvarios = array(
array(1, 3, 5, 7),
array(2, 4, 6, 8),
array(1, 1, 1, 1)
);
Neste caso temos um array 2x4 (2 linhas por 4 colunas, que iniciam
sempre com índice
zero).
print $arrayvarios[1][3];
147
PROGRAMAÇÃO EM PHP
148
PROGRAMAÇÃO EM PHP
EXERCÍCIOS
1- O que é um array?
149
PROGRAMAÇÃO EM PHP
EXERCÍCIO DE FIXAÇÃO
150
PROGRAMAÇÃO EM PHP
AULA 09
1ª URL ou Links
2ª Forms
3ª Cookies
Podemos efetuar uma operação GET quando nos referirmos a uma URL
ou Link.
Cada linguagem web possui uma maneira diferente de interagir com estas
3 técnicas.
Manipulação de Links:
Ambos estão
armazenados em nossa
pasta testephp dentro de
nosso servidor.
Em ambos nós
possuímos uma
estrutura de HTML
básica em cada uma das
páginas, como você
151
PROGRAMAÇÃO EM PHP
pode visualizar no
documento
primeirapagina.html,
Links em PHP serão
simplesmente links em
HTML, se quisermos
chegar a segunda
página,
152
PROGRAMAÇÃO EM PHP
.
Clique na barra de navegação:
Como você pode notar, foi criado um link, você pode ver que é um link
em HTML normal referente à segunda página.
153
PROGRAMAÇÃO EM PHP
Você pode verificar que o link nos direcionou para a segunda página.
Simples não acha?
Mas isso não é realmente PHP, isto é apenas HTML, de fato nem
criamos ainda uma tag em PHP dentro da estrutura de nossas páginas.
Em HTML você pode enviar valores juntamente com o link que você
criou. Para fazer isso, note no exemplo abaixo o valor que especificamos foi de
id=1.
154
PROGRAMAÇÃO EM PHP
Após salva-lo, você ainda pode perceber que tudo ainda se refere a
HTML, mas e se na segunda página nós desejarmos pegar este valor de id e
trabalharmos com ele?
Dentro da tag <body>, vamos iniciar nosso código em PHP. Faça como o
exemplo
abaixo.
156
PROGRAMAÇÃO EM PHP
Você pode visualizar que a página em si não nos deu dado nenhum,
pois não determinamos nenhum dado específico para ela.
Para determinarmos isso, clique no final do endereço de sua segunda
página.
157
PROGRAMAÇÃO EM PHP
Você pode ver que nos retornou o nome sendo igual a ivo.
158
PROGRAMAÇÃO EM PHP
Agora vamos voltar a determinar o array como id=1, para isso, clique em
Voltar.
Agora para termos uma noção melhor do que fizemos, vamos ressaltar
esse echo com uma fonte diferente.
159
PROGRAMAÇÃO EM PHP
160
PROGRAMAÇÃO EM PHP
Pelo que você pode analisar anteriormente, este link irá nos direcionar
para a segunda página e irá determinar seu id como 12.
161
PROGRAMAÇÃO EM PHP
162
PROGRAMAÇÃO EM PHP
Você pode ver que dentro de form.php possuímos uma estrutura básica em
HTML.
163
PROGRAMAÇÃO EM PHP
Uma vez que desenvolvermos um site onde será utilizado login e senha
para limitar o acesso de determinados usuários, iremos utilizar formulários
similares a este.
165
PROGRAMAÇÃO EM PHP
O que teremos de fazer agora é preparar a página processo.php para
receber os dados, não acha?
Como você pode ver, temos uma estrutura em HTML básico, o que
iremos fazer é inserir um pouco de PHP dentro da tag <body>.
Clique no local indicado.
166
PROGRAMAÇÃO EM PHP
167
PROGRAMAÇÃO EM PHP
Clique em Salvar.
Vamos determinar agora uma senha para ele, digite 123 como na imagem abaixo.
170
PROGRAMAÇÃO EM PHP
171
PROGRAMAÇÃO EM PHP
Você pode criar validações via forms onde você poderá validar um login
para um site, enviar um comentário de um determinado site via e-mail, entre
outras diversas funcionalidades.
172
PROGRAMAÇÃO EM PHP
EXERCÍCIOS
173
PROGRAMAÇÃO EM PHP
174
PROGRAMAÇÃO EM PHP
EXERCÍCIO DE FIXAÇÃO
175
PROGRAMAÇÃO EM PHP
176
PROGRAMAÇÃO EM PHP
Aula 10
Nas ultimas aulas vimos como podemos utilizar URL‟s, Links e Forms
com requisições GET‟s e POST‟s, aprendemos também a trabalhar com estes
valores em PHP.
Cookies:
Estas são as partes essenciais dos cookies, tais partes que são
importantíssimas de você ter em mente.
177
PROGRAMAÇÃO EM PHP
Como você pode notar, nós
já aceleramos o processo e
inserimos as tags iniciais do PHP
para você.
Como você pode notar, nós setamos o nome do cookie como “teste”.
178
PROGRAMAÇÃO EM PHP
179
PROGRAMAÇÃO EM PHP
180
PROGRAMAÇÃO EM PHP
181
PROGRAMAÇÃO EM PHP
182
PROGRAMAÇÃO EM PHP
Clique em Ferramentas
183
Clique em Segurança.
Como você pode ver, nosso Cookie está listado, assim como seus dados
logo abaixo.
184
PROGRAMAÇÃO EM PHP
185
PROGRAMAÇÃO EM PHP
186
PROGRAMAÇÃO EM PHP
187
PROGRAMAÇÃO EM PHP
188
PROGRAMAÇÃO EM PHP
Como pode perceber, ele nos retornou o valor do cookie “teste” que seria
igual a 45.
Podemos fazer isso por setar o seu valor igual a nada ou setar sua data
de expiração para um momento do passado.
189
PROGRAMAÇÃO EM PHP
Como pode ver, setamos um cookie com valor igual a 0, ou nenhum, e
colocamos sua data de expiração para uma semana atrás, como você pode
perceber pelo sinal negativo.
Isto fará com que nosso cookie seja setado como algo sem significado
assim como dirá que o mesmo já expirou.
Clique em Atualizar.
190
PROGRAMAÇÃO EM PHP
Agora ele nos retornou uma mensagem de erro, como que dizendo
“Não, eu não encontrei um cookie com este nome.” Porque nós o expiramos.
191
PROGRAMAÇÃO EM PHP
192
PROGRAMAÇÃO EM PHP
193
PROGRAMAÇÃO EM PHP
194
PROGRAMAÇÃO EM PHP
O que podemos aprender com cookies é que eles são de vital
importância para colocar dados no browser de nosso usuário para que
possamos ter acesso aos mesmos em outro momento, podemos retorna-los
daqui a um mês, um ano, de acordo com nossa necessidade, se o cookie
estiver lá, poderemos puxar de volta esta informação e saber algo referente a
este usuário.
Mas também não podemos confiar que os cookies estarão lá, portanto é
interessante que chequemos se realmente o cookie está lá e só depois utiliza-
lo.
Session
session é um arquivo armazenado no servidor web. Dentro deste
arquivo, você pode armazenar qualquer informação que você desejar.
Você pode colocar muito mais informação lá do que você pode colocar
em um cookie, e esta é uma das vantagens da utilização de sessions.
195
PROGRAMAÇÃO EM PHP
Antes que você acrescente qualquer HTML ou qualquer espaço em
branco, você precisará colocar sua session_start.
196
PROGRAMAÇÃO EM PHP
Esse único comando irá dizer: “OK, PHP, vá até o navegador, pegue o
ID desse session cookie, volte, encontre o arquivo e o abra para que possamos
utiliza-lo. Caso você volte e não encontre arquivo algum, crie um novo.”
Isso na verdade não nos retornará nada, mas poderemos ter uma noção
do que aconteceu.
Clique no
ícone do Firefox.
Para que
possamos acelerar
o processo, deixe
que nós
executemos o
arquivo
sessions.php no
navegador para
você.
Como pode
ver, não obtivemos
retorno algum,
porém, poderemos
notar que a
session foi criada.
197
PROGRAMAÇÃO EM PHP
Clique em Ferramentas.
198
PROGRAMAÇÃO EM PHP
199
PROGRAMAÇÃO EM PHP
Agora você pode visualizar que criamos um novo cookie com nossa
session, e este cookie possui um conteúdo muito extenso, esse seria o ID que
o cookie irá utilizar para encontrar o arquivo dentro de nosso servidor.
Por questões de segurança, esta é uma boa técnica a ser utilizada, pois
seria difícil encontrar um arquivo ou até mesmo de descobrir a que arquivo
esse ID está se referindo.
200
PROGRAMAÇÃO EM PHP
201
PROGRAMAÇÃO EM PHP
Vamos criar agora um novo bloco de PHP logo abaixo, mas deixe que
nós criemos as tags iniciais para você.
202
PROGRAMAÇÃO EM PHP
Clique no Firefox.
Agora você pode visualizar o poder das sessions, podemos estocar uma
determinada informação em nosso servidor e não na máquina do usuário.
Mas com o tempo, esse arquivo pode vir a se tornar maior, poderemos
acrescentar dados muito maiores dentro do mesmo, e podemos acabar com
centenas ou milhares de arquivos.
Então devemos sempre ter em mente que seria uma boa prática limpar
estes arquivos de tempo em tempo.
204
PROGRAMAÇÃO EM PHP
EXERCÍCIOS
3- Podemos contar que o cookie foi carregado mesmo não tendo sido exibida
mensagem alguma no navegador?
205
PROGRAMAÇÃO EM PHP
11- Qual é a primeira coisa que deve ser colocada em nosso arquivo PHP
quando estivermos trabalhando com sessions?
206
PROGRAMAÇÃO EM PHP
EXERCÍCIO DE FIXAÇÃO
207
PROGRAMAÇÃO EM PHP
208
PROGRAMAÇÃO EM PHP
AULA 11
Pode não ser imediatamente óbvio o porquê de isto ser algo bom, mas
isso irá nos ajudar a não nos repetirmos, o que é sempre uma boa prática ao
desenvolver código.
209
PROGRAMAÇÃO EM PHP
A forma mais simples de demonstrarmos a você como utilizar includes e
quão útil eles serão, será por utilizarmos primeiramente nosso segundo
arquivo.
Clique em included_func.php.
Por agora, vamos fazer algo muito simples, portanto apenas digite Teste
assim como na imagem abaixo.
210
PROGRAMAÇÃO EM PHP
Clique em include.php
211
PROGRAMAÇÃO EM PHP
Abra o Firefox.
212
PROGRAMAÇÃO EM PHP
Agora deixe que nós executemos a página include.php para você.
Você pode perceber que ele realmente inclui a palavra “Teste” a nossa
página include.php.
Clique em Notepad++.
213
PROGRAMAÇÃO EM PHP
Agora clique em included_func.php.
Você pode perceber que estamos lidando com um arquivo em PHP que
possui apenas texto dentro si e não há problema algum nisso, poderia ser
da mesma forma HTML, poderíamos estar carregando a informação
referente ao cabeçalho, por exemplo, ou poderíamos estar carregando
uma porção de
código em
PHP.
Algo
importante a
ser
lembrado,
você deverá
utilizar as tags
principais do
PHP sempre
que trabalhar
com código em
PHP, mesmo
se em nosso
arquivo
includes.php
nós já tivermos
iniciado as tags
iniciais.
214
PROGRAMAÇÃO EM PHP
O arquivo não irá deduzir que o código será PHP, assim como qualquer
outro arquivo em PHP, você deverá sempre especificar as tags iniciais para
que ele seja reconhecido como código em PHP.
Vamos então definir uma função dentro de nosso included_func.php
iremos inserir as tags iniciais do PHP para você.
Salve o documento
Clique em include.ph
215
PROGRAMAÇÃO EM PHP
Vamos inserir um novo bloco de PHP, mas deixe que nós façamos isso
para você.
Salve o documento.
Agora como você pode imaginar, nossa função foi incluída e podemos
chama-la.
Vamos ver o nosso resultado no navegador.
Clique no Firefox.
216
PROGRAMAÇÃO EM PHP
Como você pode ver, o resultado foi o esperado. Ele nos retornou a
frase “Hello Everyone!”.
217
PROGRAMAÇÃO EM PHP
218
PROGRAMAÇÃO EM PHP
Include irá tentar carregar o arquivo, mas não irá gerar um erro.
Existe ainda uma última variação referente a include e require, está seria
require_once.
Páginas Dinâmicas:
Esta interação realiza-se, por um lado, a partir das funções que o PHP
nos oferece para cada tipo de base de dados e, por outro estabelecendo um
diálogo a partir de um idioma universal: SQL (Structured Query Language) o
qual é comum a todas as bases de dados.
Nas aulas anteriores você viu como deixar páginas WEB mais interativas
e dinâmicas utilizando PHP.
Nosso foco na aula de hoje será a criação de uma conexão MySQL via
PHP.
Você deve ter isso sempre em mente, você deverá ter conhecimento do
endereço do servidor MySQL, seu nome de usuário no banco e a senha deste
usuário no banco.
219
PROGRAMAÇÃO EM PHP
220
PROGRAMAÇÃO EM PHP
Agora o que devemos fazer é criar uma variável dentro das tags, mas
antes disso, tempos de aprender algo muito importante.
221
PROGRAMAÇÃO EM PHP
Como você pode ver, ela abre uma conexão com o servidor MySQL.
222
PROGRAMAÇÃO EM PHP
Clique em Notepad++.
223
PROGRAMAÇÃO EM PHP
Já que estamos
utilizando o servidor
web em nossa máquina
local, seu endereço
será “localhost”.
Por padrão o
MySQL cria um usuário
chamado root, portanto
determinamos seu
nome como root.
Logo em seguida
deixamos um campo
em branco, pois não há
senha para o usuário
root.
Salve seu arquivo.
224
PROGRAMAÇÃO EM PHP
A princípio, esta simples linha de código, fará com que nos conectemos
com o servidor MySQL.
Clique em Firefox.
225
PROGRAMAÇÃO EM PHP
Como você pode notar, ele não nos retornou nada. Isso porque não
determinamos nenhum echo em nosso PHP para que ele nos exiba alguma
mensagem.
226
PROGRAMAÇÃO EM PHP
227
PROGRAMAÇÃO EM PHP
Como você pode ver, nossa conexão foi bem sucedida, pois todos os
nossos parâmetros estão de acordo.
Clique em Notepad++.
Vamos verificar se nosso navegador irá nos indicar o erro da forma como
esperamos.
230
PROGRAMAÇÃO EM PHP
Clique em Firefox.
Como você pode ver o resultado não só foi um erro, como nos exibiu o
que definimos em nosso código PHP “Falha ao conectar.”.
231
PROGRAMAÇÃO EM PHP
EXERCÍCIOS
232
PROGRAMAÇÃO EM PHP
8- Que três informações são necessárias para criarmos uma conexão com o
banco de dados?
10- Se nosso servidor estiver em nossa máquina local, qual será seu endereço?
233
PROGRAMAÇÃO EM PHP
EXERCÍCIO DE FIXAÇÃO
234
PROGRAMAÇÃO EM PHP
AULA 12
235
PROGRAMAÇÃO EM PHP
236
PROGRAMAÇÃO EM PHP
Como você pode ver, foi criada nossa base de dados “teste”, ela não
possui nenhuma tabela ou informação, iremos acrescentar algumas delas
agora.
238
PROGRAMAÇÃO EM PHP
239
PROGRAMAÇÃO EM PHP
Digite 4
240
PROGRAMAÇÃO EM PHP
Digite ID
Como seu tipo já está definido como INT, vamos deixa-lo como está.
241
PROGRAMAÇÃO EM PHP
Clique em Índice.
242
PROGRAMAÇÃO EM PHP
243
PROGRAMAÇÃO EM PHP
Essa caixa referente à ação de Auto Increment, isso fara com que nosso
próximo cadastro sempre tenha seu ID automático.
244
PROGRAMAÇÃO EM PHP
Clique em Nome.
245
PROGRAMAÇÃO EM PHP
Digite 50
Clique em Nome.
246
PROGRAMAÇÃO EM PHP
Digite login
247
PROGRAMAÇÃO EM PHP
Digite 20
248
PROGRAMAÇÃO EM PHP
Clique agora em Nome.
Digite senha
249
PROGRAMAÇÃO EM PHP
Digite 12
250
PROGRAMAÇÃO EM PHP
Pronto, acrescentamos todas as informações necessárias referentes à
nossa tabela usuários.
Clique em Guarda.
251
PROGRAMAÇÃO EM PHP
Digite agora insert into usuarios (ID, nome, login, senha) e pressione a
tecla Enter.
252
PROGRAMAÇÃO EM PHP
Você pode verificar que nossa linha foi inserida, agora vamos visualiza-la.
Clique em Usuários.
253
PROGRAMAÇÃO EM PHP
Você pode ver que em nossa cadastro.php temos uma estrutura básica em
HTML.
254
PROGRAMAÇÃO EM PHP
255
PROGRAMAÇÃO EM PHP
Pare um minuto e analise o código com calma, caso você não se lembre
muito bem de como funciona sua estrutura.
Salve seu arquivo.
O que precisaremos fazer agora e editar nossa process_cadastro.php
Para isso, clique no local indicado abaixo.
256
PROGRAMAÇÃO EM PHP
Como você pode ver, dentro de nossa process_cadastro.php temos uma
estrutura básica em HTML e logo dentro da tag <body> temos as tag inicias do
PHP.
Criaremos
agora uma
porção de
código referente
à conexão de
banco de dados,
seleção
de banco e
acrescento de
informações.
Primeiro
criaremos a
conexão com o
banco de dados,
criaremos
também um or
die para caso o
banco não seja
encontrado.
Digite:
E pressione Enter.
257
PROGRAMAÇÃO EM PHP
Pressione Enter mais uma vez para termos um código mais legível.
Vamos acrescentar agora as linhas de código responsáveis pela adição
destas informações no banco de dados.
258
PROGRAMAÇÃO EM PHP
259
PROGRAMAÇÃO EM PHP
260
PROGRAMAÇÃO EM PHP
261
PROGRAMAÇÃO EM PHP
Digite ivo
Escreve ivo123
Agora clique em Enviar.
262
PROGRAMAÇÃO EM PHP
Para isso deveremos clicar com o botão direito em EasyPHP, mas deixe
que nós façamos isso para você.
263
PROGRAMAÇÃO EM PHP
Selecione PhpMyAdmin.
264
PROGRAMAÇÃO EM PHP
Clique em Open.
Clique em teste.
265
PROGRAMAÇÃO EM PHP
Como você pode ver, o usuário Ivo da Silva foi cadastrado com sucesso.
266
PROGRAMAÇÃO EM PHP
EXERCÍCIOS
1- O que é phpMyAdmin?
267
PROGRAMAÇÃO EM PHP
11- Para que tenhamos certeza de que o cadastro foi efetuado com sucesso, o
que devemos fazer?
268
PROGRAMAÇÃO EM PHP
EXERCÍCIO DE FIXAÇÃO
269
PROGRAMAÇÃO EM PHP
AULA 13
Agora digite ?> e verifique se seu código está igual ao da imagem abaixo.
270
PROGRAMAÇÃO EM PHP
Pressione Enter mais uma vez para temos um código mais legível.
271
PROGRAMAÇÃO EM PHP
Pressione Enter mais uma vez para temos um código mais legível.
Agora vamos criar uma variável que será responsável por efetuar uma
consulta ao banco de dados.
272
PROGRAMAÇÃO EM PHP
Você pode notar que temos uma função no interior de nossa variável
chamada mysql_query.
273
PROGRAMAÇÃO EM PHP
274
PROGRAMAÇÃO EM PHP
Como você pode notar ela envia uma consulta para o banco de dados
atualmente ativo no servidor.
Agora que entendemos como essa função funciona, podemos voltar ao
nosso código.
Clique em Notepad++.
275
PROGRAMAÇÃO EM PHP
Agora vamos criar uma variável responsável por perguntar o número de
linhas que existem em nossa consulta anterior.
Digite: $nLinhas = mysql_num_rows($query);
Clique em Firefox.
276
PROGRAMAÇÃO EM PHP
Como você pode notar, essa função é responsável por obter o número
de linhas de um conjunto de resultados (Get number of rows in result).
277
PROGRAMAÇÃO EM PHP
Clique em Notepad++.
278
PROGRAMAÇÃO EM PHP
Pressione Enter mais uma vez para termos um código mais legível.
Digite agora:
echo "<b>" . mysql_result($query, $i, "nome"). "</b>" .":
</br>     " .
279
PROGRAMAÇÃO EM PHP
Você pode notar que temos uma função chamada mysql_result dentro
dessa linha de código.
Como você pode ver, essa função é responsável por retornar os dados de
seu resultado.
280
PROGRAMAÇÃO EM PHP
Clique em Notepad++.
281
PROGRAMAÇÃO EM PHP
282
PROGRAMAÇÃO EM PHP
Agora devemos pressionar a tecla TAB diversas vezes, mas deixe que
nós façamos isso para você.
Agora digite "\tId: " . mysql_result($query, $i, "ID") . e pressione a tecla Enter.
283
PROGRAMAÇÃO EM PHP
Digite agora: "\tLogin: " . mysql_result($query, $i, "login") . e pressione a
tecla Enter.
Digite agora:
284
PROGRAMAÇÃO EM PHP
E pressione Enter.
}
E pressione Enter.
Terminamos nosso
código referente a listagem
de usuários, o que faremos
agora é verificar se tudo
construído de um forma
correta e organizada por
meio de nosso navegador.
Clique no Firefox.
Digite:
http://localhost/phpteste/lista.php
Na Barra de Navegação e pressione Enter.
Como você pode ver, a listagem de usuários foi efetuada com sucesso.
285
PROGRAMAÇÃO EM PHP
Isso é muito útil caso seja necessário emitir um relatório de todos os
usuários, seus nomes, senhas, talvez endereços dependendo do que foi
determinado no banco e no código em PHP.
Chegamos ao fim da décima terceira aula. Não esqueça de fazer os
exercícios propostos em sua apostila.
286
PROGRAMAÇÃO EM PHP
EXERCÍCIOS
1- Devemos criar uma conexão em nossa página PHP para que possamos listar
os dados?
287
PROGRAMAÇÃO EM PHP
EXERCÍCIO DE FIXAÇÃO
288
PROGRAMAÇÃO EM PHP
289
PROGRAMAÇÃO EM PHP
AULA 14
Veremos agora diversos aspectos que nos darão certeza do porque não
só podemos mas devemos utilizar o PHP e seus recursos no Desenvolvimento
Web.
Identidade
Estatísticas de Uso
Esse objetivo foi alcançado, fazendo com que a maioria das empresas
de hospedagem ofereça PHP nos seus servidores.
Adaptabilidade
290
PROGRAMAÇÃO EM PHP
O PHP usa duas sintaxes. Uma é procedural e a outra é orientada a
objetos.
Muitos conectores
291
PROGRAMAÇÃO EM PHP
Cerca de 40% dos custos de desenvolvimento estão na integração de
aplicações ou fontes de dados. Para reduzir esses custos, o PHP pode
conectar diretamente com a maioria dos bancos de dados, sistemas de
pagamentos online e protocolos.
O Ecossistema PHP
Após 10 anos de vida, o PHP construiu um grande ecossistema.
Algumas ferramentas tornam o desenvolvimento mais fácil e rápido.
292
PROGRAMAÇÃO EM PHP
EXERCÍCIOS
293
PROGRAMAÇÃO EM PHP
EXERCÍCIO DE FIXAÇÃO
294
PROGRAMAÇÃO EM PHP
295
PROGRAMAÇÃO EM PHP
ANOTAÇÕES
296