Ser Programador

Afinal qual a diferença entre procedimento, função e método no PHP?

Uma abordagem rápida dos conceitos acerca desses três tipos de função. Entenda também onde rotina e sub-rotina se encaixam neste enredo.


Já ouviram falar em procedimentos, rotinas ou sub-rotinas?

Abordando a teoria, na programação, não há diferenças muito consideráveis entre eles. Há quem diga que são a mesma coisa, inclusive.



Um procedimento é diretamente uma função da qual não se retornam resultados.

Vejamos abaixo um caso de uso de um procedimento:

    	<?php
    	function enviarRelatorioDiario()
        {
            //scripts para envio
        }
        
    

Basicamente este procedimento efetuaria uma análise em base de dados e a enviaria por email para uma lista de destinatários pré estabelecida.



No caso de uma função propriamente dita, deve retornar um dado. Por exemplo:

    	<?php
    	function parOuImpar($valor)
        {
            return ($valor % 2) == 0;
        }
        
    

No que diz respeito a esta função, ela retorna um dado boolean (true / false) da verificação se um valor é par ou ímpar. O fato de ela retornar um dado, seja ele qual for, a denomina uma função.



No que diz respeito a um método, podemos considerar como tal, todo procedimento ou função que pertence a uma classe.

Vejamos agora a construção de um método utilizando nosso procedimento:

	    <?php
    	class RelatoriosAgendados
        {
        
            function enviarRelatorioDiario()
            {
                //scripts para envio
            }
        }
        
    


Da mesma forma podemos construir um método com nossa função. Veja:

    	<?php
        class Calculate
        {
        
            function parOuImpar($valor)
            {
                return ($valor % 2) == 0;
            }
        }
        
    


No fim das contas, para todos os casos utilizamos function para estabelecer nossos procedimentos, rotinas, funções ou métodos. A diferença entre eles está implícita à abordagem teórica que se dá na construção do seu código.

Para entender como criar um objeto e utiliza-lo, você pode dar uma lida rápida neste artigo.