Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Classe homónima do método

Bom dia!

a minha dúvida é se vai contra as boas praticas ter um método que usa o mesmo nome da classe, por exemplo:

class BuscaTodasAsPessoas{

public function BuscaTodasAsPessoas(){

}
}
4 respostas

Bom dia, Marcos!

Geralmente a boa prática é colocar o nome da classe com o que ela representa (por exemplo, Pessoa, Produto, Pedido, etc) e as ações ficam representadas apenas no método. No seu exemplo, seria algo semelhante a:

class Pessoa {

public function busca(){

}
}```

obrigado pela ajuda, mas acabei esquecendo de acrescentar uma informação importante a classe já herda da classe pessoa

class BuscaTodasAsPessoas extends Pessoa{

public function BuscaTodasAsPessoas(){

}
}

Pelo que entendi, essa classe teriam apenas métodos, não havendo necessidade dela existir.

Eu aplicaria a herança, no caso da classe Pessoa, apenas se houvesse no sistema distinção entre PessoaFisica e PessoaJuridica, por exemplo, onde haveriam atributos e regras sobrescritos para cada um.

Nesse site tem um exemplo: http://www.macoratti.net/11/05/oop_lsp1.htm

solução!

então, esse exemplo que postei é uma hipótese, apenas para exemplificar a minha dúvida sem encher a postagem com os códigos que estou praticando.. Na vida real, após fazer o curso de MVC estou tentando separar a minha classe que era enorme..

mas entendi que posso se for buscar todas as pessoas e a classe já se chama BuscarTodasAsPessoas então a função pode se chamar só busca, que já fica subentendido que é para buscar todas as pessoas.

Vi em outro lugar que inclusive não é recomendado usar o mesmo nome pois o php pode/vai interpretar que essa função é um __construct e vai ignorar o construct da classe mãe se ele existir.