Valeu Álvaro,

Seguinte, coloquei a minha em /application/core/MY_Controller.php .

class MY_Controller extends CI_Controller {
}

Atente para o nome MY_Controller ( o case, o underscore ) no arquivo e
no nome da classe, parece que tem que seguir o padrão. Acho que faltou
um "underscore" aí.

-- 
Abs,

Jairo
Sao Paulo / SP - Brasil


On Thu, 2012-03-01 at 09:45 -0300, Nino Baldo wrote:
> Muito obrigados amigos, esse foi o meu primeiro post e não esperava ter
> recebido uma tão calorosa recepção.
> 
> Já tinha analisado essa solução do My_controller nos post antigos do grupo
> e se não me engano foi o próprio Nando que postou.
> 
> Achei que seria melhor fazer tudo pelo hook, pois programava em java e nele
> tem os Filter que funcionam mais ou menos como um hook, mas de forma
> melhorada. Contudo vocês me convenceram! Vou usar um Controller próprio.
> 
> Fiz dessa forma:
> 
> // CONTROLE PROPRIO
> *class MyController extends CI_Controller {
> 
>      function __construct() {
>         parent::__construct();
> 
>         validador();
>     }
> 
>     function validador(){
> 
>     }
> }    *
> 
> // IMPLEMENTAÇÃO
> 
> *class Usuario extends MyController {
> 
>     function __construct() {
>         parent::__construct();
>         $this->grud_helper = new Grud_helper("usuario");
>     }
> }*
> 
> Mas ele não carrega automaticamente esse controller e retorna esse erro:
> Fatal error: Class 'MyController' not found in
> C:\wamp\www\CodeIgniter\application\controllers\usuario.php on line 3
> 
> Para carregar automaticamente o meu controller como faço? Coloco ele no
> autoload.php como library?
> 
> Att,
> 
> *Álvaro Vilobaldo Rios da Silva*
> 
> mail to: [email protected] <[email protected]>
> *Analyst Programmer*
> 
> *São Paulo and Region, Brazil*
> 
> 
> 
> 
> Em 28 de fevereiro de 2012 17:06, Rafael V. de Oliveira <
> [email protected]> escreveu:
> 
> > Muito boa a tua solução (Y).
> >
> > A respeito do $this->uri->uri_string(), bem lembrado Nando, porém depende
> > do caso. Até onde eu me lembro, a função não retorna o base_url.
> > Mas não estou falando com certeza, minha cabeça dói e vou vazar daqui.
> >
> > Abraços ;)
> >
> > Em 28/02/2012, às 19:35, Nando Araujo escreveu:
> >
> > > Opa, muito bem explicado Rafael, é exatamente assim que eu fiz também. :)
> > >
> > > Só uma dica: a "$pagina_atual   = base_url() . $this->uri->uri_string();"
> > > pode usar diretamente a função "uri_string()"!
> > >
> > > Gostei do jeito que vc verifica o loop infinito; eu fiz assim:
> > > http://pastebin.com/nxziwS0u
> > >
> > > Em 28 de fevereiro de 2012 16:15, Rafael V. de Oliveira <
> > > [email protected]> escreveu:
> > >
> > >> Existem diversas formas, como hooks (o teu problema é quase certo a
> > falta
> > >> de carregar o helper), pelo construtor da classe, etc…
> > >>
> > >> A solução mais elegante que encontrei foi essa:
> > >>
> > http://philsturgeon.co.uk/blog/2010/02/CodeIgniter-base-Classes-Keeping-it-DRY
> > >>
> > >> Resumindo em miúdos, ao invés de todos os controllers herdarem o
> > >> MY_Controller, eles podem ou herdar o Admin_controller ou
> > Public_controller
> > >> (ambos os nomes podem ser alterados). E estas duas classes (podem ser
> > mais)
> > >> herdam o MY_Controller.
> > >>
> > >> No Admin_controller eu coloquei assim (no constructor):
> > >>
> > >> //Páginas que não necessitam estar logado
> > >> $paginas_login  = array('admin/login', 'admin/logout');
> > >> //Dê uma olhada no user_guide
> > >> $pagina_atual   = base_url() . $this->uri->uri_string();
> > >>
> > >> //Evita o loop eterno
> > >> if ( ! in_array($pagina_atual, $paginas_login) )
> > >> {
> > >>       if ( ! $this->session->userdata('login_id') )
> > >>       {
> > >>               //Atenção ao $paginas_login
> > >>               redirect('admin/login');
> > >>       }
> > >> }
> > >>
> > >> É por isso que quando vejo o pessoal reclamando que o CI não tem
> > controle
> > >> de acesso, eu dou risada. É tão simples implementar que a melhor opção é
> > >> deixar a critério do desenvolvedor.
> > >>
> > >> É só prestar atenção a nome de sessions e o que está no autoload ou não.
> > >> Como o helper url eu utilizo quase sempre, ele está no autoload.
> > >>
> > >> Em 28/02/2012, às 16:51, Nino Baldo escreveu:
> > >>
> > >>> Ola pessoal,
> > >>>
> > >>> Gostaria de saber como validar se o usuário está logado ou não em todas
> > >> as
> > >>> telas e caso não esteja direcionar para o controller de login?
> > >>>
> > >>> Até agora já fiz um hook de "pre_controller", mas não consigo
> > >> redirecionar,
> > >>> pois quando uso o "redirect('pagina')" ele me exibe esse erro: Fatal
> > >> error:
> > >>> Call to undefined function redirect()
> > >>>
> > >>>
> > >>> Att,
> > >>>
> > >>> *Álvaro Vilobaldo Rios da Silva*
> > >>>
> > >>> mail to: [email protected] <[email protected]>
> > >>> *Analyst Programmer*
> > >>>
> > >>> *São Paulo and Region, Brazil*
> > >>> _______________________________________________
> > >>> [email protected]
> > >>> http://www.codeigniter.com.br
> > >>>
> > http://mail.codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> > >>>
> > >>> ---------------------------
> > >>> Oportunidade de negócio
> > >>> http://www.franquiasargohost.net
> > >>> ---------------------------
> > >>
> > >> _______________________________________________
> > >> [email protected]
> > >> http://www.codeigniter.com.br
> > >>
> > http://mail.codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> > >>
> > >> ---------------------------
> > >> Oportunidade de negócio
> > >> http://www.franquiasargohost.net
> > >> ---------------------------
> > >>
> > > _______________________________________________
> > > [email protected]
> > > http://www.codeigniter.com.br
> > > http://mail.codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> > >
> > > ---------------------------
> > > Oportunidade de negócio
> > > http://www.franquiasargohost.net
> > > ---------------------------
> >
> >
> > _______________________________________________
> > [email protected]
> > http://www.codeigniter.com.br
> > http://mail.codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> >
> > ---------------------------
> > Oportunidade de negócio
> > http://www.franquiasargohost.net
> > ---------------------------
> >
> _______________________________________________
> [email protected]
> http://www.codeigniter.com.br
> http://mail.codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> 
> ---------------------------
> Oportunidade de negócio
> http://www.franquiasargohost.net
> ---------------------------


_______________________________________________
[email protected]
http://www.codeigniter.com.br
http://mail.codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

---------------------------
Oportunidade de negócio
http://www.franquiasargohost.net
---------------------------

Responder a