php 5.3 - funções

19
Bacharel em Ciência da Computação (UFG) Especializando em Engenharia de Software Analista de Sistemas – SIGMA / MDIC Professor Formador EAD – NEAD/ETEB [email protected] http://www.georgemendonca.com.br Funções

Upload: george-mendonca

Post on 06-Jun-2015

3.435 views

Category:

Education


3 download

DESCRIPTION

Funções em PHP

TRANSCRIPT

Page 1: PHP 5.3 - Funções

Bacharel em Ciência da Computação (UFG) Especializando em Engenharia de Software

Analista de Sistemas – SIGMA / MDIC

Professor Formador EAD – NEAD/ETEB [email protected]

http://www.georgemendonca.com.br

Funções

Page 2: PHP 5.3 - 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

Page 3: PHP 5.3 - Funções

• 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

Page 4: PHP 5.3 - Funções

• 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

Page 5: PHP 5.3 - Funções

• 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

Page 6: PHP 5.3 - Funções

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

Page 7: PHP 5.3 - Funções

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

Page 8: PHP 5.3 - Funções

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

Page 9: PHP 5.3 - Funções

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

}

Page 10: PHP 5.3 - Funções

• 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

Page 11: PHP 5.3 - Funções

• 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

Page 12: PHP 5.3 - Funções

• 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

Page 13: PHP 5.3 - Funções

• 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

Page 14: PHP 5.3 - Funções

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

Page 15: PHP 5.3 - Funções

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

Page 16: PHP 5.3 - Funções

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

Page 17: PHP 5.3 - Funções

• 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

Page 18: PHP 5.3 - Funções

• 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

Page 19: PHP 5.3 - Funções

• 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