Aula4
-
Upload
softeam -
Category
Technology
-
view
1.136 -
download
3
description
Transcript of Aula4
![Page 1: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/1.jpg)
PHPAula 4 – 09/02/2009Instrutor: Nelson Luis Rodrigues Pereira
![Page 2: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/2.jpg)
Agenda
Bloco de comandos Estruturas de Controle Estruturas de Repetição Funções Funções de Manipulação de Arquivos Funções Matemáticas Funções de String
![Page 3: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/3.jpg)
Bloco de comandos
Bloco de comandos em PHP são delimitados por chaves simples (‘{‘ e ‘}’).
São usados dentro de estruturas de controle, repetição e funções, quando estes apresentarem mais de um comando.
![Page 4: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/4.jpg)
Estruturas de controle - IF Semelhante ao Java, você analisa o
caso de uma condição for verdadeira e executa um conjunto de ações aplicadas a ela.
Sintaxe:If (condição)
{Conjunto de comandos;}
![Page 5: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/5.jpg)
Estruturas de Controle – If e Else Semelhante ao Java, você analisa o
caso de uma condição for falsa e executa um conjunto de ações.
Sintaxe:If (condição){
Conjunto de comandos; }Else{
conjunto de comandos;}
![Page 6: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/6.jpg)
Estrutura de controle - ELSEIF Caso a condição analisada seja falsa,
ele analisa uma nova condição e executa um conjunto de ações, caso essa seja verdadeira.
Sintaxe:If (condição){ Conjunto de comandos; } Elseif {
Conjunto de comandos;}Else{
conjunto de comandos;}
![Page 7: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/7.jpg)
Estruturas de controle - SWITCH A condição analisada trata mais de
um valor e executa um conjunto de ações, caso um desses valores seja verdadeiro.
Sintaxe:switch (variável analisada){ Case ‘valor’: Conjunto de comandos;Case ‘valor’: Conjunto de comandos;default: Conjunto de comandos;}
![Page 8: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/8.jpg)
Estruturas interativas - WHILE Enquanto uma condição não for
atingida, repete um conjunto de ações.
Sintaxe:while(condição){
Conjunto de comandos; }
![Page 9: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/9.jpg)
Estruturas Interativas - FOR Incrementa um valor até que o
número de interações desejado seja atingido. A cada interação executa o bloco de comandos.
Sintaxe:for(valor_inicial; condição; expressão
de variação){
Conjunto de comandos; }
![Page 10: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/10.jpg)
Estruturas Interativas – DO...WHILE Funciona como o enquanto, mas
analizando o bloco de comandos antes de analizar a condição.
Sintaxe:do{
Conjunto de comandos; } While (condição);
![Page 11: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/11.jpg)
Funções no PHP
• As funções no PHP são bem parecidas com outras linguagens, ficando a diferença de que aqui não se possui um tipo de retorno explícito como em outras linguagens.
• Para efetuar uma chamada a uma função do PHP basta chamar o nome dela com os parâmetros, caso existam.Nome_da_funcao ();
![Page 12: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/12.jpg)
Funções no PHP
• A declaração de uma função começa com a palavra-chave function, fornece o nome da função, os parâmetros necessários e contém o código que será executado toda vez que essa função for chamada.function my_funcao (){comandos;
}
![Page 13: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/13.jpg)
Funções no PHP
• Para retornar valores de uma função, usa-se a palavra-chave return seguida do valor que será retornado.
• Se o return vier sem um valor, a execução da função será parada e nenhum valor será retornado.
• O PHP também aceita o conceito de recursão.
![Page 14: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/14.jpg)
EXEMPLO 1
Refaça o exemplo da aula 3: Usando estruturas de controle para
validar as validar divisão por zero. Usando SWITCH para efetuar as
operações Usando funções para cada operação.
![Page 15: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/15.jpg)
EXEMPLO 2
Em um novo arquivo crie, utilizando estruturas de repetição: Uma sequência de números pares de 1 a
100. Uma sequência de múltiplos de 5 de 1 a 100. Uma sequência de números primos de 1 a
50. Uma Progressão Aritmética de razão 7,
termo inicial 10, n=15. Uma Progressão Geométrica de razão 0,5,
termo inicial 32, n=5.
![Page 16: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/16.jpg)
Funções de arquivo
• Existem inúmeras funções para lhe dar com arquivos no PHP.
• Para abrir um arquivo, é necessário saber primeiro qual a localização desse arquivo no servidor. Deve-se declarar então uma variável chamada DOCUMENT_ROOT que determina o diretório raiz do site.$DOCUMENT_ROOT=
$HTTP_SERVER_VARS['DOCUMENT_ROOT']
![Page 17: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/17.jpg)
Funções de arquivos
• Para abrir um arquivo utiliza-se a função fopen(). Que tem como parâmetros o arquivo que será aberto e o modo do arquivo (Leitura, Escrita). Ao criar um arquivo, o mesmo retorna um ponteiro que o identifica.– r -> Modo de leitura a partir início do arquivo– r+ -> Modo de leitura e gravação do arquivo– w -> Modo de gravação do arquivo– w+ -> Modo de gravação e leitura do arquivo– a -> Modo para acrescentar a partir do final do arquivo– a+ -> Modo para acrescentar e ler a partir do final do arquivo
$fp = fopen(“$DOCUMENT_ROOT/.../orders.txt”,”w”);
![Page 18: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/18.jpg)
Funções de arquivo
• Para escrever em um arquivo utiliza-se a função fwrite(). Que tem como parâmetros um inteiro que diz o ponteiro do arquivo que foi criado e a string (formatada ou não) que será escrita no arquivo.
fwrite($fp, $outputstring);
fwrite($fp,”Curso de desenvolvimento Web”);
![Page 19: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/19.jpg)
Funções de arquivo
• Para fechar um arquivo utiliza-se a função fclose(). Que tem como parâmetro um inteiro que diz o ponteiro do arquivo que foi criado.
fclose($fp);
• Para ler um arquivo você precisa primeiro abrí-lo em um modo que permita a leitura.
• Utiliza-se a função feof() para retornar verdadeiro quando for o final do arquivo.
While (!feof($fp))
![Page 20: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/20.jpg)
Funções de arquivo
• A função fgets() permite que vocês leia uma linha por vez até que ele encontre o comprimento de linha x, o “/n” no arquivo, ou o fim do arquivo.
$order = fgets($fp, 999);
• Para ler um arquivo inteiro utilizam-se duas funções:– readfile(nome do arquivo) -> ler o arquivo e o repete na saída padrão (no caso o navegador).
– file(ponteiro do arquivo) -> lê o arquivo como um array, onde cada elemento do array é um linha do arquivo.
![Page 21: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/21.jpg)
Exemplo
• Gravem o cada compra efetuada na loja de peças do BOB num arquivo texto, onde cada linha desse arquivo represente uma compra efetuada (dia, horário, valor da compra).
• Na calculadora, faça uma função que armazene sempre o log da operação que foi efetuada junto com o horário e a data.
![Page 22: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/22.jpg)
Exercícios
Elaborar uma calculadora que realize as quatro operações básicas. Vocês irão obter as informações do usuário através de três campos usando e escrever no html o resultado da seguinte forma: “O resultado de “+Operando1+” “+Operador+” “+Operando2+” é “+TOTAL.
Agora vocês irão fazer com que o usuário escolha quando quer parar de usar a calcular, ou seja, de realizar as operações. Para tanto deverão usar a criatividade perguntando se deseja continuar. Em caso afirmativo retorna ao início para realizar uma nova operação (sem o acúmulo de resultados antigos). Em caso negativo retorne mensagem dizendo que ele saiu do sistema.
O próximo passo é acrescentar a calculadora as operações de Cosseno, seno, tangente, logaritmo, raiz quadrada e potência.
![Page 23: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/23.jpg)
Arrays Indexados
São arrays com numeração definida. Sua numeração começa com zero.
Para inicializar um array, basta usar a palavra array conforme abaixo.$nome_array = array(Valor 1, ..., Valor N);
Para acessar o valor de uma posição x do array, utilize o nome do array precedido da posição x entre conchetes. $nome_array = array(Valor 1, ..., Valor N);
![Page 24: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/24.jpg)
Arrays Associativos
Neste tipo de array, podem ser associados quaisquer chaves ou indicies que quisermos com cada valor.
EXEMPLO:$prices = array( ‘pneus’=>100, ‘oil’=>10);
$prices[Oil], $prices[pneus]
![Page 25: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/25.jpg)
Arrays Multidimensionais
Este tipo de array conhecido como matriz, armazena os dados em largura e profundidade que dependem de como for implementada.
$nome_variavel(ARRAY DA LINHA 1, ... )
![Page 26: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/26.jpg)
Funções de Arrays
Sort: ordena uma lista ou uma tabela contendo o que o programador.
Shuffle: Serve para reordenar aleatoriamente o array.
Array_reverse: Cria um outro array, baseado nos valores de outro, só com a ordem inversa.
![Page 27: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/27.jpg)
Exercícios
Trabalhando Arrays em uma tabela:
$jantar = array('Prego no prato', 'Frango grelhado', 'Peixe frito');
echo "Eu quero $jantar[0] e $jantar[1].<br />";
$jantar[] = 'Picanha grelhada'; //inserir um elemento
echo "Agora, eu quero $jantar[3].<br />";
$tamanho = count($jantar); //calcular o tamanho do array
echo"Temos $tamanho pratos para jantar";
//Percorrer com foreach e imprimir o array dentro de uma tabela:
echo '<table border="1">';
foreach ($jantar as $chave => $valor) {
echo "<tr><td>$chave</td><td>$valor</td></tr><br/>";
}
echo'</table><br/>';
![Page 28: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/28.jpg)
Exercícios
Imprimir valores de Array em caixa de seleção
echo '<select name="jantar">'; //Imprimir o
array numa select box
foreach ($jantar as $chave => $valor) {
echo "<option>Chave é: $chave e o seu valor é: $valor</option>";
}
echo '</select>';
![Page 29: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/29.jpg)
Exercícios
• Imprimir um array usando a função print_r e um for:
$jantar = array('Prego no prato', 'Frango grelhado', 'Peixe frito', 'Picanha Grelhada'); echo"<pre>"; //imprimir o array $jantar com print_r() print_r($jantar); echo"</pre>"; //imprimir o array $jantar com o ciclo for for ( $i = 0; $i<4; $i++ ) echo "Prato $i: $jantar[$i] <br />";
![Page 30: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/30.jpg)
Exercícios
Usando a função range para preencher um array
$meuarray=range(1,5);
echo"<pre>";
print_r($meuarray);
echo"</pre>";
![Page 31: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/31.jpg)
• Imprimir um array em uma tabela junto com cores
<?php $cor_linha = array('yellow','blue'); $index_cor = 0; $comida = array('Lanche' => 'Ovos mexidos', 'Jantar' => 'Semilhas com couves',
'Ceia' => 'Gelado com baunilha', 'sobremesa' => 'Morangos com chantilly');
echo "<table>"; //podiamos usar CSS aqui foreach ($comida as $chave => $valor) { echo '<tr bgcolor="' . $cor_linha[$index_cor] . '">';
echo "<td>$chave</td><td>$valor</td></tr><br />"
// colocar o index_cor a 0 $index_cor = 1 - $index_cor; } echo '</table>'; ?>
![Page 32: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/32.jpg)
• Pesquisar uma chave em um array<?php $alunos = array('Ana','Cintia','Duarte','Fabio','Celso');
$livros = array('PHP é Cool'=>35, 'PHP é Fixe'=>42.5); if (array_key_exists('PHP é Cool',$livros)) { // Se a chave existe
echo "Sim, temos o livro PHP is Cool"; echo"<br/>"; } if (array_key_exists('1',$livros)) { // Aqui é falso echo "Temos um livro de PHP com a chave 1"; } if (array_key_exists(1, $alunos)) { // Aqui é verdadeiro echo "O elemento 1 é a Cintia"; } ?>
![Page 33: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/33.jpg)
• Pesquisar em array por um valor:$alunos = array('Ana','Cintia','Duarte','Fabio','Celso');
$livros = array('PHP é Cool'=>35, 'PHP é Fixe'=>42.5); if (in_array(3, $alunos)) { echo " Temos um elemento $3. "; echo"<br/>"; } if (array_key_exists('1',$livros)) { // Aqui é falso
echo "Temos um livro de PHP com a chave 1"; } if (array_key_exists(1, $alunos)) { // Aqui é verdadeiro
echo "O elemento 1 é a Cintia"; }
![Page 34: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/34.jpg)
FUNÇÃO INCLUDE
Esta função tem como objetivo incluir linhas de código de um outro arquivo dentro do arquivo atual.
SINTAXE: include (‘URL do arquivo’);
![Page 35: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/35.jpg)
DIVISÃO DE LAYERS
Conforme visto na primeira aula, layers são camadas de um site que servem para facilitar a formatação, atualização e funcionamento deste.
O processo de construção de uma página com layers é simples, mas faz-se necessário a sequência de alguns passos.
![Page 36: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/36.jpg)
CICLO DE CONSTRUÇÃO DE LAYERS
Desenvolva um arquivo index.php que contenha a página principal do site com os layers necessários.
Dentro deste index haverão divs. Cada DIV terá um include do arquivo que representará a camada da página.
Caso um das camadas criadas necessite ser alterada, haverá um case para verificar qual página será essa.1
![Page 37: Aula4](https://reader033.fdocumentos.tips/reader033/viewer/2022061209/548e249ab4795917128b45f6/html5/thumbnails/37.jpg)
EXEMPLO
Neste exemplo, será simulado a estrutura de frames abaixo, só que usando layers. Ver códigos no BLOG.