Upload
yuri-bispo
View
428
Download
1
Embed Size (px)
Citation preview
PHP
• Funções;
• Classes
Definição de Função
function nome_função (arg1, arg2, arg3 ..., argn)
{
comandos
[ return <expressão> ]
}
Como criar uma função
<?phpfunction soma_valores ($valor1, $valor2, $valor3){$soma = $valor1 + $valor2 + $valor3;echo “A soma dos valores $valor1, $valor2 e $valor3;”echo “é $soma”;
}$n1 = 10;$n2 = 20;$n3 = 50;soma_valores ($n1, $n2, $n3);?>
Utilizando o comando return em uma função<?phpfunction maiusculo($string) {
$string = strtoupper ($string);$string = str_replace(“á”, “Á”, String;);
...$string = str_replace (“ç”, “Ç”, $string);$string = str_replace (“à”, “À”, $string);
return $string;}$nome = “José Antônio”;$nome_m = maiusculo ($nome);echo “O nome do rapaz é $nome_m”;
?>
Função que retorna o triplo.
<?phpfunction triplo ($numero){
$x = $numero * 3;return $x;
}$valor = 5;echo “O triplo de $valor é” . triplo($valor);
?>
Função que retorna arrays
<?phpfunction clubes ( ){
$clube * + = “Grêmio”;$clube * + = “Palmeiras”;$clube * + = “Flamengo”;$clube * + = “Atlético Mineiro”;$clube * + = “Bahia”;return $clube;
}// inicio do programa principal$nomes = clubes( );for ( $i=0 ; $i < sizeof ( $nomes ) ; $i++ ){
echo “\$nomes[$i] vale $nomes[$i] <br>”}
?>
Exercício
Crie uma função que retorne a data atual no seguinte formato:Quarta-feira, 21 de Março de 2001.
Obs.: Utilize as funções time e getdate.
A função time retorna o tempo corrente em número de segundos desde 1º de janeiro de 1970, e a função getdate transforma esse tempo em um array com o dia, mês, ano, dia do mes.
*“wday”, “mon”, “year”,”mday”+.
Resposta:<?php
function retorna_data ( )
{
$agora = time( );
$data = getdate($agora);
//dias da semana
if($data["wday"] == 0){echo "Domingo";}
elseif($data["wday"] == 1){echo "Segunda-Feira";}
elseif($data["wday"] == 2){echo "Terça- Feira";}
elseif($data["wday"] == 3){echo "Quarta-Feira";}
elseif($data["wday"] == 4){echo "Quinta-Feira";}
elseif($data["wday"] == 5){echo "Sexta- Feira";}
elseif($data["wday"] == 6){echo "Sábado";}
// meses
if($data["mon"] == 1) {$mes = janeiro;}
elseif($data["mon"]==2) {$mes = fevereiro;}
elseif($data["mon"]==3) {$mes = março;}
elseif($data["mon"]==4) {$mes = abril;}
elseif($data["mon"]==5) {$mes = maio;}
elseif($data["mon"]==6) {$mes = junho;}
elseif($data["mon"]==7) {$mes = julho;}
elseif($data["mon"]==8) {$mes = agosto;}
elseif($data["mon"]==9) {$mes = setembro;}
elseif($data["mon"]==10) {$mes = outubro;}
elseif($data["mon"]==11) {$mes = novembro;}
elseif($data["mon"]==12) {$mes = dezembro;}
$data_atual = ", " . $data["mday"] . " de " . $mes . " de " . $data["year"];
return $data_atual;
}
$hoje = retorna_data ( );
echo $hoje;
?>
Passagem de parâmetros: valor e referência<?php
function dobro ($valor) // passagem por valor{
$valor = 2 * $valor;}function duplica(&$valor) // passagem por referência
{$valor = 2 * $valor;
}$valor = 5;dobro ($valor);echo $valor . “<br>”;duplica ($valor);echo $valor;
?>
Recursão
<?phpfunction Fatorial($numero){
if($numero == 1)return $numero;
elsereturn $numero * Fatorial($numero -1)
}echo Fatorial (5) . “\n”;echo Fatorial(7) . “\n”;?>
Definição de Classe• A classe é uma estrutura estática utilizada
para descrever objetos mediante atributos (propriedade) e métodos (funcionalidades).
Pessoa
+Codigo: integer+Nome: string+Altura: integer+Idade: integer+Nacimento+Escolaridade: string+Salario: float
+Crescer(centimetros:integer)+Formar(titulo:string)+Envelhecer(anos:integer)
Conta
+Agencia: integer+Codigo: string+DataDeCriacao: date+Titular: pessoa+Senha: string+Saldo: float+Cancelada: boolean
+Retirar(quantia:float)+Depositar(quantia:float)+ObterSaldo()
Como criar uma classe
class NomeClasse
{
var $Propriedades;
function Metodo( )
{
<procedimentos>
}
}
Pessoa.class.php
Conta.class.php
Objeto• Um objeto é uma estrutura dinâmica
originada com base em uma classe.
Pessoa
+Codigo: 10+Nome: Carlos da Silva+Altura: 1.85+Idade: 25+Nacimento: 10/04/1976+Escolaridade: Ensino Médio+Salario: R$ 650,00
+Crescer(centimetros:integer)+Formar(titulo:string)+Envelhecer(anos:integer)
Conta
+Agencia: 6677+Codigo: CC.1234-56+DataDeCriacao: 10/07/2002+Titular: Carlos da Silva+Senha: 9876+Saldo: R$ 567,00+Cancelada: false
+Retirar(quantia:float)+Depositar(quantia:float)+ObterSaldo()
Criando um objeto
Instanciando um objeto
Acessando um método
Acessando as Propriedades do Objeto Carlos
Observação: note que, para acessar propriedades e métodos de um objeto dentroDe uma string dupla (que é interpretada), é necessário utilizar-se de chaves ao redorda expressão.
Includes
• As includes nos permitem reaproveitar uma ou mais funções ou arquivos, utilizando-os em diversas páginas do site.
• É utilizada na importação das Classes.
Crie um programa com as classes Pessoa e Conta que utilizem os atributos e os métodos do diagrama abaixo.
Pessoa
+Codigo: 10+Nome: Carlos da Silva+Altura: 1.85+Idade: 25+Nacimento: 10/04/1976+Escolaridade: Ensino Médio+Salario: R$ 650,00
+Crescer(centimetros:integer)+Formar(titulo:string)+Envelhecer(anos:integer)
Conta
+Agencia: 6677+Codigo: CC.1234-56+DataDeCriacao: 10/07/2002+Titular: Carlos da Silva+Senha: 9876+Saldo: R$ 567,00+Cancelada: false
+Retirar(quantia:float)+Depositar(quantia:float)+ObterSaldo()
Salve as classes com os nomes: Pessoa.class.php e Conta.class.php no diretório classes
Faça um programa que instancie os objetos das Classes Pessoa e Conta, utilizando os seus respectivos métodos, conforme a figura abaixo.
Salve com o nome objeto.php, no mesmo diretório onde se encontra o diretório classes.
objeto.php
objeto.php
classes/Pessoa.class.php
classes/Conta.class.php