Pergunta

Estou tentando implementar Extensões modulares em uma configuração CodeIgniter 2, mas estou tendo alguns problemas. Eu segui as instruções de instalação no wiki e tudo estava funcionando bem. Então comecei a brincar um pouco e tentar usá -lo. Tudo o que fiz foi criar um novo módulo chamado usuários com as pastas necessárias e adicionou uma classe modelo chamada Usuários_m. Tentei então carregar isso no meu controlador de boas -vindas. De acordo com o wiki, isso deve ser muito direto. Eu simplesmente adicionei esta linha

$this->load->model('users/users_m');

ao construtor do meu controlador de boas -vindas.

Infelizmente, neste momento, recebo a tela branca da morte.

Então eu tentei outra coisa. Desta vez, removi a linha do modelo de carga e adicionei

$this->output->enable_profiler(TRUE);

Desta vez, recebi a página de boas -vindas e recebi o Profiler, mas no topo da página recebi este erro:

A PHP Error was encountered

Severity: Notice

Message: Undefined property: CI::$profiler

Filename: MX/Loader.php

Line Number: 145

Não sei se essas duas tentativas estão relacionadas ou não, mas obviamente há algo que não está certo na minha configuração. Alguém poderia me apontar na direção certa?

Foi útil?

Solução

Se você acessar o modelo do controlador no mesmo módulo, poderá carregá -lo usando apenas:

$this->load->model(‘user_m’);

Você só tem que fazer $this->load->model(‘module/model_name’); Quando seu carregamento cruzado entre os módulos.

Só para ter certeza, seu modelo está localizado aqui, certo?

application/modules/users/models/users_m.php

Quanto ao erro do Profiler:
1) Você fez a instalação Etapa 5 e coloque os principais arquivos de núcleo de extensões modulares no aplicativo/núcleo?
2) Você tem a versão mais recente do HMVC? Houve atualizações para mx/carregador.php no Últimos dois dias.

Ps. Ótimo tutorial sobre HMVC: http://net.tutsplus.com/tutorials/php/hvmc-an-introduction-and-application/

Outras dicas

Se você tem estrutura de pastas como:

application/
           modules/
                  users/
                       models/
                             users_m.php

Em seguida, use isso para chamar modelos em controlador

$this->load->model('users/users_m','',TRUE);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top