37
PHP Aula 4 – 09/02/2009 Instrutor: Nelson Luis Rodrigues Pereira

Aula4

  • Upload
    softeam

  • View
    1.136

  • Download
    3

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Aula4

PHPAula 4 – 09/02/2009Instrutor: Nelson Luis Rodrigues Pereira

Page 2: Aula4

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

• 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

• 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

• 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

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

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

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

EXEMPLO

Neste exemplo, será simulado a estrutura de frames abaixo, só que usando layers. Ver códigos no BLOG.