Quando vi o autoload pensei que ele fazia justamente o contrário kkk. Eu
estou acostumado a desenvolver em C#, java, mas não muito a parte web então
fico meio perdido nesse mundo. Valeu pela explicação. =)

Eu iria abrir outro post para perguntar isso, mas já que surgiu o assunto
qual IDE vcs utilizam, pois não consigo debugar. Então tudo fica meio na
base da "mãe dina" kkkk.

Eu utilizo o netbeans para desenvolver o codigo, mas o "executar" dele abre
um localhost que não tem nada. Então como não sei onde altero as
configurações do servidor do "dito cujo" eu optei por salvar o projeto no
www do Wamp.

grup_helper é um help que eu criei para fazer os CRUDs automaticamente. Não
peguei muito bem a diferença entre o help e o library ainda.

Att,

*Álvaro Vilobaldo Rios da Silva*

mail to: [email protected] <[email protected]>
*Analyst Programmer*

*São Paulo and Region, Brazil*




Em 1 de março de 2012 11:10, Nando Araujo <[email protected]>escreveu:

> Olhando pro meu caso eu posso dizer que não tem diretamente a ver com o
> nome, pois eu tenho na minha core o seguinte:
>
> MY_Controller.php (class MY_Controller extends CI_Controller{})
> Site.php (class Site extends MY_Controller{})
> Sistema.php (class Sistema extends MY_Controller{})
>
> Pelo que entendi desse __autoload ele adiciona tudo que não tenha o prefixo
> CI_, só não depurei pra ter certeza do contexto em que ele se aplica então
> não sei dizer ao certo se ele faz isso somente pra pasta core ou para todas
> pastas do CI (por ex.: pra helpers ou libraries).
>
> E falando nisso uma coisa me intrigou no teu código, o que seria o
> grud_helper?
> Pergunto isso pq se for uma classe poderia ser usada como library e
> carregada usando $this->load->library() e vc colocou "helper" no nome então
> pode ter confundido os conceitos.
>
> Em 1 de março de 2012 10:57, Nino Baldo <[email protected]> escreveu:
>
> > Muito obrigado pessoal, funcionou muito bem!
> >
> > Só tive que colocar o meu MY_Controller no application/core e adicionar
> > essa função no config.php:
> >
> > *function __autoload($class) {
> >    if (strpos($class, 'CI_') !== 0) {
> >        @include_once( APPPATH . 'core/' . $class . EXT );
> >    }
> > }
> > *
> > Exatamente como explica o site passado:
> >
> >
> http://philsturgeon.co.uk/blog/2010/02/CodeIgniter-base-Classes-Keeping-it-DRY
> >
> > Tudo funcionou, mas surgiu uma duvida. Se minha classe tem o nome
> > MY_Controller, pq o autoload funciona com CI_? Sou novo em php então isso
> > me soou meio estranho.
> >
> > Att,
> >
> > *Álvaro Vilobaldo Rios da Silva*
> >
> > mail to: [email protected] <[email protected]>
> > *Analyst Programmer*
> >
> > *São Paulo and Region, Brazil*
> >
> >
> >
> >
> > Em 1 de março de 2012 10:09, Jairo <[email protected]> escreveu:
> >
> > > 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
> > > ---------------------------
> > >
> > _______________________________________________
> > [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