A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Parte I Capítulo 5 Reutilizando código e escrevendo funções.

Apresentações semelhantes


Apresentação em tema: "Parte I Capítulo 5 Reutilizando código e escrevendo funções."— Transcrição da apresentação:

1 Parte I Capítulo 5 Reutilizando código e escrevendo funções

2 Breve Sumário Usando require() e include(). Usando require() e include(). Usando funções em PHP Usando funções em PHP Estrutura básica de função Estrutura básica de função Parâmetros Parâmetros Retornando valores de funções Retornando valores de funções Passando por referência x passando por valor Passando por referência x passando por valor Escopo Escopo Recursão Recursão

3 Usando require() e include() O conteúdo de um arquivo externo é referenciado e importado para o arquivo principal. O conteúdo de um arquivo externo é referenciado e importado para o arquivo principal. Quando utilizamos o include e o arquivo passado como parâmetro não for localizado, será gerado um erro do tipo Warning. Quando utilizamos o include e o arquivo passado como parâmetro não for localizado, será gerado um erro do tipo Warning. Com include, não necessariamente o arquivo vigente precisa do outro incluido. Com include, não necessariamente o arquivo vigente precisa do outro incluido. Com require,o arquive vigente precisa do outro incluido. Com require,o arquive vigente precisa do outro incluido. Se usar o require() e o arquivo que você está incluíndo não existe, o seu script vai parar e criar um erro. Se usar o require() e o arquivo que você está incluíndo não existe, o seu script vai parar e criar um erro. Se você quer que, na falta do arquivo incluído o script seja interrompido, use require(). Se você quer que, na falta do arquivo incluído o script seja interrompido, use require(). Pode ser utilizado em uma estrutura de condicionais que terá seu efeito perpetuado todas as vezes que for chamado. Pode ser utilizado em uma estrutura de condicionais que terá seu efeito perpetuado todas as vezes que for chamado.

4 Exemplo Arquivo teste.php <?php $var = "Olá moooooooodle"; $var = "Olá moooooooodle";?> Arquivo arquivo.php <?php include( "teste.php" ); include( "teste.php" ); echo $var; //mostra Olá moooooooodle echo $var; //mostra Olá moooooooodle $var = "Olá, Mundo!"; $var = "Olá, Mundo!"; echo $var; //mostra Olá, Mundo! echo $var; //mostra Olá, Mundo!?>

5 Variações Tanto include quanto require tem uma variação: once. Tanto include quanto require tem uma variação: once. Once é traduzido como uma vez.Once é traduzido como uma vez.Exemplos:require_once(arquivo);include_once(arquivo);

6 Usando funções em PHP As funções no PHP não diferem muito das outras linguagens. Algumas características das funções em PHP: Devem ser declaradas antes de serem usadas. Podem receber parâmetros por valor ou por referência. Podem ter quantidade variável de parâmetros (Apenas a partir da versão 4). Os parâmetros podem ser declarados com um valor default. Uma vez definida, uma função não poderá ser "redefinida". Não é case sensitive. Nome da função pode conter letas, dígitos e sublinhados. Nome da função não pode começar por dígitos.

7 Estrutura de funções A sintaxe básica para definir uma função é: function nome_da_função([arg1, arg2, arg3]) { Comandos;... ; [return ]; } Qualquer código PHP válido pode estar contido no interior de uma função. Qualquer código PHP válido pode estar contido no interior de uma função. O tipo devolvido não deve ser declarado. O tipo devolvido não deve ser declarado. É recomendável que esteja tudo bem documentado para facilitar a leitura e compreensão do código. É recomendável que esteja tudo bem documentado para facilitar a leitura e compreensão do código. Devemos estar atento aos tipos dos valores passados como parâmetros. Devemos estar atento aos tipos dos valores passados como parâmetros.

8 Estrutura de funções Exemplos de delaração de função: function my_function(){ // sem argumentos echo Bom dia moodle; } function my_function2($nome){ // com argumento echo $nome; } function my_function3($valor = 2){ //argumento com valor pré-definido - Default echo $valor; } My_function3(); // imprime 2 My_function3(25); // imprime 25

9 Chamando funções Sintaxe: function_name(); // esta função não requer parâmetros function_name(parametro); // requerem parâmetros function_name(2);function_name(7.993);function_name($variable); phpinfo(); // exibe informações sobre a configuração do php.

10 Retornando valores de funções Toda a função pode opcionalmente devolver um valor, ou Toda a função pode opcionalmente devolver um valor, ou simplesmente executar os comandos e não devolver nenhum valor. simplesmente executar os comandos e não devolver nenhum valor. Não é possível que uma função devolva mais do que um valor, mas é permitido fazer com que uma função devolva um valor composto, como listas ou arrays. Não é possível que uma função devolva mais do que um valor, mas é permitido fazer com que uma função devolva um valor composto, como listas ou arrays.Exemplo: function igual($a,$b){ if($a == $b) return 1; else return 0; }

11 Retornando de funções O comando return faz com que interrompa a execução da função.Exemplo: function test_return(){ echo Bom dia moodle; return; echo Bom dia moooooooodle; // não é executado } Test_return(); // retorna Bom dia moodle

12 Escopo O escopo de uma variável em PHP define a porção do programa onde ela pode ser utilizada. O escopo de uma variável em PHP define a porção do programa onde ela pode ser utilizada. Na maioria dos casos todas as variáveis têm escopo global. Na maioria dos casos todas as variáveis têm escopo global. Funções definidas pelo utilizador, um escopo local é criado. Funções definidas pelo utilizador, um escopo local é criado. Uma variável de escopo global não pode ser utilizada no interior de uma função sem que haja uma declaração. Uma variável de escopo global não pode ser utilizada no interior de uma função sem que haja uma declaração.Exemplo: $vivas = "Testando"; function Teste() { echo $vivas; }Teste(); O codigo acima não produzirá saída alguma, pois a variável $vivas é de escopo global, e não pode ser referida num escopo local,

13 Escopo Para que o script funcione da forma desejada, a variavel global a ser utilizada deve ser declarada. $vivas = "Testando"; function Teste() { global $vivas; * echo $vivas; }Teste(); Ou então, utilizar um array pré-definido pelo PHP cujo nome é $GLOBALS echo $GLOBALS["vivas"]; // imprime $vivas * echo $GLOBALS["vivas"]; // imprime $vivas *

14 Passando por referência X passando por valor Normalmente, a passagem de parâmetros em PHP é feita por valor, ou seja, se o conteúdo da variável for alterado, essa alteração não afeta a variável original. Exemplo: function incrementa($numero) { $numero += 5; function incrementa($numero) { $numero += 5; } $a = 3; $a = 3; incrementa($a); //$a continua a valer 3 incrementa($a); //$a continua a valer 3 após a execução sair da função, o valor anterior da variável é recuperado. após a execução sair da função, o valor anterior da variável é recuperado. Se a passagem fosse feita por referência, a variável $a teria 8 como valor. Se a passagem fosse feita por referência, a variável $a teria 8 como valor. o interpretador salva os conteúdos das variáveis. o interpretador salva os conteúdos das variáveis.

15 Passando por referência X passando por valor Há duas maneiras de fazer com que uma função tenha parâmetros passados por referência. Indicar na declaração da função. Indicar na declaração da função. Indicar na chamada da função. Indicar na chamada da função. Nos dois casos utiliza-se o modificador &. Nos dois casos utiliza-se o modificador &. function incremeta(&$num1, $num2) { $num1 += 5; $num2 += 5; } $a = $b = 1; incrementa($a, $b); // só $num1 terá seu valor alterado Ou incrementa($a, &$b); // Aqui as duas variáveis terão seus valores alterados.

16 Recursão Recursividade nada mais é do que a função chamar ela mesmo dentro do seu escopo. Recursividade nada mais é do que a função chamar ela mesmo dentro do seu escopo. Exemplo: cálculo do fatorial Exemplo: cálculo do fatorial<?phpfatorial($n){ if($n > 0) return $n*fatorial($n-1); else return 1; echo("O fatorial de".$n."é".fatorial($n)); echo("O fatorial de".$n."é".fatorial($n)); return 0; return 0;}?> Esta técnica deve ser utilizada com o maior cuidado possível, pois se aplicada erroneamente ocorre muito consumo de memória da máquina.


Carregar ppt "Parte I Capítulo 5 Reutilizando código e escrevendo funções."

Apresentações semelhantes


Anúncios Google