Dependendy Injection para fazer load
2008/8/18 Newton Wagner <[EMAIL PROTECTED]>
> Pois é Belmino, mas o Code Igniter tem essas limitações, até por que
> ele não foi feito pra trabalhar com Interfaces, devido à
> compatibilidade com PHP 4.
>
> Outra idéia que me ocorreu agora é extender o Loader e criar um método
> loader de interface que dá o require() mas não cria uma instância da
> mesma.
>
>
> 2008/8/18 Pedro Belmino <[EMAIL PROTECTED]>:
> > Estou querendo evitar um require, acho que ele foge da idéia de load do
> > codeigniter.
> >
> > Att,
> >
> > Newton Wagner escreveu:
> >
> > O que eu chamei de "Outra solução" ali, na verdade é uma solução pra
> > carregar a Model_Interface automaticamente. :).
> >
> > Dando uma olhada aqui, acho que a criação da library não é uma boa. Eu
> > tinha pensado nisso, pois assim vc poderia carregar ela usando o
> > Loader, mas uma interface não pode ser instanciada, se não causa um
> > Fatal Error no PHP.
> >
> > Criando uma library, vc pode usar o Loader pra fazer o trabalho sujo,
> > mas acredito que ele vai tentar instanciar essa interface, o que
> > causaria um Fatal Error no PHP. A solução é criar esse arquivo em
> > algum local e dar um require() nele em algum momento.
> >
> >
> > Uma solução elegante, PHP 5, é implementar o __autoload() e botar uma
> > lógica pra ele carregar isso automaticamente, algo do tipo:
> >
> > function __autoload($class_name)
> > {
> > if (preg_match("/Interface$/", $class_name)) {
> > require(APP_DIR."interfaces\".$class_name.".php"); }
> > }
> >
> > Isso ta básico, mas é o caminho.
> >
> >
> > 2008/8/18 Newton Wagner <[EMAIL PROTECTED]>:
> >
> >
> > Você pode usar a declaração de implements e extend ao mesmo tempo, tipo:
> >
> > class Usuario_Model extends Model implements Model_Interface {
> > }
> >
> > Você pode carregar a interface de diversas formas, mas acho que a
> > forma mais coerente, sem mexer no Core do CI, seria criar uma library
> > e carregar ela.
> >
> > Outra solução é criar o "MY_Model" e, no construtor dessa classe, ele
> > instanciar esse library da interface.
> >
> >
> > 2008/8/18 Pedro Belmino <[EMAIL PROTECTED]>:
> >
> >
> > A interface extends model?
> > As classes que vão implementar a interface vão dar o load da interface
> > aonde?
> >
> > Att,
> >
> > Newton Wagner escreveu:
> >
> > Acho que fica mais fácil você dizer logo qual a sua dúvida... a
> > resposta pra esse e-mail poderia ser só: "Sim".
> >
> > Mandae!!! Qual a dúvida? :).
> >
> >
> > 2008/8/18 Pedro Belmino <[EMAIL PROTECTED]>:
> >
> >
> > Olá,
> > Alguém já utilizou interface(Orientação a objetos) no codeigniter?
> >
> > Att,
> >
> > --
> > 'É um orgulho ter você como nosso cliente'
> > ____________________________
> > Pedro Belmino
> > Desenvolvedor
> >
> > ArgoHost.net
> > Hospedagem Web com Facilidade
> > http://www.argohost.net
> > Suporte Telefônico: (85) 3264 9944 / (11) 4063 4844
> > Contato direto: Ramal 107
> > E-mail: [EMAIL PROTECTED]
> >
> >
> > _______________________________________________
> > Lista mailing list
> > [email protected]
> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> >
> >
> >
> >
> >
> >
> > --
> > 'É um orgulho ter você como nosso cliente'
> > ____________________________
> > Pedro Belmino
> > Desenvolvedor
> >
> > ArgoHost.net
> > Hospedagem Web com Facilidade
> > http://www.argohost.net
> > Suporte Telefônico: (85) 3264 9944 / (11) 4063 4844
> > Contato direto: Ramal 107
> > E-mail: [EMAIL PROTECTED]
> >
> > _______________________________________________
> > Lista mailing list
> > [email protected]
> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> >
> >
> >
> >
> > --
> > Newton Wagner
> >
> > skype: newtonwagner
> > msn/gtalk: [EMAIL PROTECTED]
> >
> > http://www.newtonwagner.net/
> > - http://www.owshit.com.br/
> >
> >
> >
> >
> >
> > --
> > 'É um orgulho ter você como nosso cliente'
> > ____________________________
> > Pedro Belmino
> > Desenvolvedor
> >
> > ArgoHost.net
> > Hospedagem Web com Facilidade
> > http://www.argohost.net
> > Suporte Telefônico: (85) 3264 9944 / (11) 4063 4844
> > Contato direto: Ramal 107
> > E-mail: [EMAIL PROTECTED]
> >
> > _______________________________________________
> > Lista mailing list
> > [email protected]
> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> >
> >
>
>
>
> --
> Newton Wagner
>
> skype: newtonwagner
> msn/gtalk: [EMAIL PROTECTED]
>
> http://www.newtonwagner.net/
> - http://www.owshit.com.br/
>
> _______________________________________________
> Lista mailing list
> [email protected]
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br