Nossa, eu sou meio que viciado em helpers... crio helpers pra tudo! arrumar datas, mensagens, vl em R$...
Meu CI é todo "tunado" Em 1 de março de 2012 12:26, Rafael V. de Oliveira <[email protected]>escreveu: > 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 > --------------------------- > _______________________________________________ [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 ---------------------------

