Aula4

Preview:

DESCRIPTION

 

Citation preview

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

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

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.

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

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

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

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

Estruturas interativas - WHILE Enquanto uma condição não for

atingida, repete um conjunto de ações.

Sintaxe:while(condição){

Conjunto de comandos; }

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

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

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 ();

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;

}

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.

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.

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.

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']

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”);

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”);

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

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.

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.

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.

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

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]

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, ... )

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.

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

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

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

Exercícios

Usando a função range para preencher um array

$meuarray=range(1,5);

echo"<pre>";

print_r($meuarray);

echo"</pre>";

• 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>'; ?>

• 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"; } ?>

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

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’);

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.

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

EXEMPLO

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