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.