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]
begin:vcard
fn:Pedro Belmino
n:;Pedro Belmino
org:Argohost.net;TI
adr:;;;Fortaleza;CE;;Brasil
email;internet:[EMAIL PROTECTED]
title:Desenvolvedor
tel;home:(85)32575556
tel;cell:(85)99559295
url:www.argohost.net
version:2.1
end:vcard

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

Responder a