Não há necessidade de carregar no autoload classes do core do CI (toda classe 
que tiver CI_). Antigamente as classes core não tinham prefixo nenhum. Essa 
modificação é recente, da versão 2.0 para frente. Ainda temos aqui sistema no 
1.7.2 e 1.7.1

O MY_ pode ser modificado no config.php. Eu deixo como está pois não me faz 
confusão :)

Entre helpers e libraries, eu faço assim (não quer dizer que está certo ou 
errado)
Se estou na view, eu tento sempre utilizar um helper.
Se estou no controller, tanto faz.

Em relação a IDE, o Netbeans é uma das mais completas. Só acho muito pesado. 
Aqui eu trabalho com o Coda (Mac OSX). Se estiver no Windows, recomendo o 
Intype.
Mas não faço debug's pelo Netbeans. Prefiro fazer o debug a la 'old school'. 
Vou debugando linha a linha.

Para CRUD, tem o Grocery. Eu não uso, mesmo porque quase sempre temos que fazer 
o front-end e o back-end. Então um CRUD quase que não faz sentido. Mas isso é 
aqui.

Atenção para não desviarmos demais do título do e-mail.

Em 01/03/2012, às 14:34, Nino Baldo escreveu:

> 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
> ---------------------------


_______________________________________________
[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