Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou desenvolvendo um "framework caseiro" e o maior problema são instâncias, como possuo muitos componentes e componentes são usados dentro de componentes (ex: validador de formulário utiliza o validador de CPF, de email, etc) e o código fica uma "beleza", com toda hora $abcd = new BlaBlaBla();
Vi um pouco sobre o singleton, porém dando uma pequena pesquisa vi que não serve para todos os casos e também muitas críticas. Qual seria uma boa forma de solucionar isto?
Ninguém??
Sim, isto eu utilizo, digo por exemplo: na Model se eu quero usar banco de dados ou eu estendo a classe de db ou eu instancio, por exemplo, em alguns FW percebo que existe uma classe de Model e ela consegue utilizar todos os componentes (db, formulário, etc). Este é meu maior problema, eu pensei em usar o __get retornando a instância da classe pai (Model do FW).
Exemplo:
class Abcd extends Model
{
public function banco()
{
$this->ClasseDeBanco->metodo(args);
}
}(ex: validador de formulário utiliza o validador de CPF, de email, etc) e o código fica uma "beleza", com toda hora $abcd = new BlaBlaBla();
hum.. já ouviu falar de métodos státicos ?
eu não vejo muito sentido em uma classe "ValidarEmail". Eu simplesmente teria uma function que me retornasse um booleano.
Assim como as funções nativas do php(inclusive existe uma para isso).
Sim, foi apenas um exemplo, na verdade seria na real: ValidadorBR (classe) CPF, CNPJ, RG, etc (métodos) e sim, uso métodos estáticos para coisas mais simples, porém eu estava lendo há um tempo que eles possuem inúmeros problemas, principalmente quando se fala de teste unitário (não manjo disso :blush: ) por isso acabei não usando por enquanto. E de qualquer forma nem tudo vai ser estático, concorda? Esse meu pensamento do post #3 é valido ou gambiarra?
porém eu estava lendo há um tempo que eles possuem inúmeros problemas, principalmente quando se fala de teste unitário (não manjo disso :blush: )
isso não faz sentido. Cuidado com oque e onde você lê
E de qualquer forma nem tudo vai ser estático, concorda?
sim, mas tb não vejo nenhum problema em se ter muitas instâncias.
Esse meu pensamento do post #3 é valido ou gambiarra?
normal.. nada de errado.
Encadeamento de métodos pode ser útil a você. Uso bastante no meu mini-fw: http://gustavopaes.net/blog/2010/metodos-encadeados-em-php.html