php 5.3 - funções
Post on 06-Jun-2015
3.435 Views
Preview:
DESCRIPTION
TRANSCRIPT
Bacharel em Ciência da Computação (UFG) Especializando em Engenharia de Software
Analista de Sistemas – SIGMA / MDIC
Professor Formador EAD – NEAD/ETEB george@georgemendonca.com.br
http://www.georgemendonca.com.br
Funções
• Introdução
– Utilizadas para modularizar e organizar o código dos
programas.
– Um bloco de código que pode ser reutilizado sempre que
precisarmos dele.
– Qualquer código PHP válido pode ser implementado
dentro de uma função.
Funções
13/02/2011 2
• Introdução
– Criando funções em PHP:
• Toda função em PHP começa com a palavra chave function.
• O nome deve começar por letras e nunca por número.
• Nome deve ser seguido de ( ), com ou sem argumentos.
• O bloco de comandos inicia-se com {.
• Após a abertura da chave insere-se o bloco de código da função.
• Finaliza-se com }.
• Os argumentos são separados por , dentro dos parêntesis.
Funções
13/02/2011 3
• Introdução
– Argumentos: por valor ou por referência (&).
– Execução:
• Quando uma função é chamada, o fluxo de execução de um
programa é interrompido e passado para tal função.
• Após o término da execução, a função devolve o fluxo para o
programa principal.
Funções
13/02/2011 4
• Introdução
– Declaração de Funções em PHP
Funções
13/02/2011 5
function nomeDaFuncao([$arg1], [$arg2], ..., [$argn])
{
bloco comandos;
[return $valor;] // retorna valor
}
Opcional
• Implementando funções com textos simples
Funções
13/02/2011 6
<?php
/**
* Função para imprimir um texto simples
*/
function imprimindoTexto() {
echo "Olá, eu sou uma função em PHP! <br /> ;-)";
}
imprimindoTexto();
Saída:
Olá, eu sou uma função em PHP! ;-)
• Implementando funções com textos simples
Funções
13/02/2011 7
<?php
/**
* Função para imprimir um texto simples com argumento
* @param string $str
*/
function imprimindoTextoArgumento($str) {
echo $str;
}
$texto = "<br />Função com argumento por valor! <br /> ;-)";
imprimindoTextoArgumento($texto);
Saída:
Função com argumento por valor! ;-)
• Implementando funções com textos simples
Funções
13/02/2011 8
<?php
/**
* Função para imprimir um texto simples com return
* @param string $str
*/
function imprimindoTextoReturn($str) {
return $str;
}
$texto = "<br />Função utilizando retorno! <br /> ;-)";
echo imprimindoTextoReturn($texto);
Saída:
Função utilizando retorno! ;-)
• Criando funções em arquivo externo
Funções
13/02/2011 9
<?php // areas-poligonos.func.php
function areaQuadrado( $lado ) {
return $lado * $lado;
}
function areaRetangulo( $base, $altura ) {
return ( $base * $altura );
}
function areaTriangulo( $base, $altura ) {
return ( $base * $altura ) / 2;
}
• Criando funções em arquivo externo
Funções
13/02/2011 10
<?php // areas-poligonos.php
require 'areas-poligonos.func.php';
$ladoQuadrado = 4;
$baseRet = 5;
$alturaRet = 8;
$baseTriang = 5;
$alturaTriang = 8;
echo 'Área do quadrado: ';
echo areaQuadrado($ladoQuadrado);
echo '<br /> Área do retângulo: ';
echo areaRetangulo($baseRet, $alturaRet);
echo '<br /> Área do triângulo: ';
echo areaTriangulo($baseTriang, $alturaTriang);
Saída:
Área do quadrado: 16 Área do retângulo: 40 Área do triângulo: 20
• Funcões variáveis
– O PHP suporta variável com parênteses.
– Sendo assim, ao encontrar uma variável desta natureza, o PHP tentará executar a função com o nome do conteúdo da variável.
Funções
13/02/2011 11
• Funcões variáveis
– Exemplo:
Funções
13/02/2011 12
<?php // areas-poligonos.php
require 'areas-poligonos.func.php';
$func1 = "areaQuadrado";
$func2 = "areaRetangulo";
$func3 = "areaTriangulo";
echo 'Área do quadrado: ';
echo $func1(5);
echo '<br /> Área do retângulo: ';
echo $func2(10, 12.5);
echo '<br /> Área do triângulo: ';
echo $func3(30, 40);
Saída:
Área do quadrado: 25 Área do retângulo: 125 Área do triângulo: 600
• Funções lambda (closures)
– Funções lambda, também conhecidas como funções anônimas ou closures permitem a defenição de uma função sem especificar o seu nome.
– Muito utilizadas como o valor de parâmetros callback e diversas outras utilizações.
– São utilizadas também como valor de retorno de variáveis.
Funções
13/02/2011 13
• Funções lambda (closures)
– Exemplo como parâmetro callback:
Funções
13/02/2011 14
<?php
$arrayMult =
array_map(
function($value) {
return $value * 7;
},
array(10, 35, 50, 80, 33)
);
echo '<pre>';
print_r($arrayMult);
Saída:
Array ( [0] => 70 [1] => 245 [2] => 350 [3] => 560 [4] => 231 )
• Funções lambda (closures)
– Valor de retorno de variável:
Funções
13/02/2011 15
<?php // Funções
$soma = function ($a, $b) {
return $a+$b;
};
$subtrai = function ($a, $b) {
return $a-$b;
};
$multiplica = function ($a, $b) {
return $a*$b;
};
$divide = function ($a, $b) {
if($b == 0) {
echo "<br />Divisão por zero!";
}
else {
return $a/$b;
}
};
Saída:
12 -6 27 Divisão por zero!
<?php
require 'lambda-calculadora.func.php';
echo $soma(3,9);
echo '<br />'.$subtrai(3,9);
echo '<br />'.$multiplica(3,9);
echo '<br />'.$divide(3,0);
• Funções lambda (closures)
– Utilizando a função create_function:
Funções
13/02/2011 16
<?php
$add = create_function('$i,$j', 'return $i+$j;');
// retorna 2
echo "O resultado da soma é: {$add(1, 1)}.";
• Exercitando:
Funções
13/02/2011 17
Execício
Vamos agora criar um novo projeto, chamado
projeto padrão (aulas-php5.3-oo-projeto-padrao).
Dentro deste projeto crie as pastas:
• class
• func
• inc
• public
Crie o arquivo /func/html.php e crie as 2
funções e utilíze-as com criatividade:
• header_site() – topo da página
• footer_site() – rodapé da página
• Definindo uma estrutura de aplicação
– Estrutura de pastas e arquivos: • Podemos criar agora um projeto para
cada módulo do curso.
• Dentro dos projetos teremos vários diretórios como mostra a imagem ao lado.
• A estrutura básica do projeto contém as pastas demonstradas, podendo ter mais pastas se for necessário.
• A arquitetura da aplicação é explicada no próximo slide.
Funções
13/02/2011 18
• Definindo uma estrutura de aplicação padrão
Funções
13/02/2011 19
Aplicação
app-nome.php
class
nome-classe.php ...
func
nome-funcao.php ...
public
js imagens
css ...
inc
nome-conteudo.php
top related