Como Trabalhar com Funções em PHP

Olá, nesse artigo vamos abordar o tema Funções definidas pelo programador em PHP.

O que são funções definidas pelo programador?

Em PHP, o programador pode criar funções para executar um bloco de código em qualquer parte do programa:

<?php
	function exemplo1($parametro1, $parametro2, ..., $parametroN){
		echo "Primeira  função em PHP.\n";
		return $valor_retornado;
	}
?>

No PHP, não é necessário pré-definir as funções antes de usar (Apenas no PHP 3).

Essa necessidade ocorre apenas em funções definidas condicionalmente, ou seja, elas devem ser “declaradas” antes de serem referenciadas, como mostra o exemplo abaixo.

<?php
	/* funcao_nao_declarada() não pode ser chamada aqui
    porque ela ainda não existe,
    mas nos podemos chamar funcao_declarada() */

	funcao_declarada();

    function funcao_nao_declarada(){
		echo "Eu não existo até que o programa passe por aqui.\n";
    }
    /* Agora nos podemos chamar função_nao_declarada()
   Porque ela foi criada */

	função_nao_declarada();
  function função_declarada(){
	  echo "Eu existo imediatamente  desde o programa começar.\n";
  }
?>

Em PHP, como em varias outras linguagens de programação, podemos criar funções dentro de outras. Vejamos um simples exemplo.

Exemplo:

<?php
	function funcao1(){

	  function funcao2(){
		echo "Eu não  existo até funcao1() ser chamada.\n";
      }
  }

  /* Nós não podemos chamar funcao2()
  porque ela ainda não foi definida. */

  funcao1(); 

 /* Agora nós podemos chamar funcao2(),
   porque o processamento de funcao1()
   tornou a funcao2() acessível */

  funcao2();
?>

Basicamente essa técnica muito utilizada por diversos programadores torna-se muito útil sendo bem implementada.

Seu funcionamento é muito simples, a funcao2() que está escrita dentro da funcao1() é conhecida pelo programa assim que a funcao1() é chamada, assim podendo ser chamada a qualquer momento pelo programador.

Breve Introdução a Recursividade.

Esse artigo não tem por foco principal ensinar técnicas de programação e sim a linguagem PHP em si e suas peculiaridades. Mas como estamos falando sobre funções achei interessante comentar sobre essa incrível técnica “Recursividade”, e dar um exemplo simples de sua implementação.

Recursividade nada mais é do que a função chamar ela mesmo dentro do seu escopo.

A primeira coisa a se pensar quando se está implementado uma função recursiva é pensar em um ponto de parada de acordo com sua funcionalidade. Por exemplo:

Calculo de fatorial, o ponto de parada seria o numero desejado para se efetuar o cálculo.

Exemplo:

<?php
	fatorial($n){
		if($n > 0)
			return $n*fatorial($n-1);
		else
		return 1;
	    echo("O fatorial de".$n."é".fatorial($n));
	    return 0;
	}
?>

Note que a função fatorial() chama ela mesma passando como parâmetro o valor de n-1 e tem como ponto de parada o valor de n = 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.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Home Programação PHP Como Trabalhar com Funções em PHP