Haveria uma forma de eu substituir completamente a classe CI_Controller criando ela por dentro da Application? Seria uma solucao viavel sem alterar o core, clonar o arquivo da classe e modificar ele pela Application.
* * *Pablo Augusto SEO | SEM | Marketing Digital * *Me siga no Twitter:* @pabloaugusto <http://twitter.com/pabloaugusto> *Artigos sobre Otimização de sites <http://webtags.com.br/seo>, Marteking Digital e Mídias Sociais:* WebTags <http://webtags.com.br> MSN: [email protected] SKYPE: [email protected] EMAIL: [email protected] [image: Linkedin] <http://linkedin.com/in/pabloaugusto> [image: Twitter]<http://twitter.com/pabloaugusto> [image: Facebook] <http://facebook.com/pabloaugusto> [image: Flickr]<http://flickr.com/photos/pabloaugusto> [image: Youtube] <http://youtube.com/pabloaugustoo> [image: FormSpring]<http://formspring.me/opabloaugusto> [image: LastFM] <http://lastfm.com.br/user/pabloaugustoo> [image: DeviantART]<http://deviantart.com/pabloaugustoo> [image: Tumblr] <http://pabloaugusto.tumblr.com/> [image: Vimeo]<http://vimeo.com/pabloaugusto> [image: del.icio.us] <http://del.icio.us/pabloaugusto> [image: Slideshare]<http://slideshare.net/pabloaugusto> [image: Friendfeed] <http://friendfeed.com/pabloaugusto> 2011/2/26 Pablo Augusto <[email protected]> > Como e? Hehe > > E desaconselhável NAO mexer no core? Hehe > > > > > * > * > *Pablo Augusto > SEO | SEM | Marketing Digital > > * > *Me siga no Twitter:* @pabloaugusto <http://twitter.com/pabloaugusto> > *Artigos sobre Otimização de sites <http://webtags.com.br/seo>, Marteking > Digital e Mídias Sociais:* WebTags <http://webtags.com.br> > MSN: [email protected] > SKYPE: [email protected] > EMAIL: [email protected] > > [image: Linkedin] <http://linkedin.com/in/pabloaugusto> [image: > Twitter]<http://twitter.com/pabloaugusto> > [image: Facebook] <http://facebook.com/pabloaugusto> [image: > Flickr]<http://flickr.com/photos/pabloaugusto> [image: > Youtube] <http://youtube.com/pabloaugustoo> [image: > FormSpring]<http://formspring.me/opabloaugusto> [image: > LastFM] <http://lastfm.com.br/user/pabloaugustoo> [image: > DeviantART]<http://deviantart.com/pabloaugustoo> [image: > Tumblr] <http://pabloaugusto.tumblr.com/> [image: > Vimeo]<http://vimeo.com/pabloaugusto> [image: > del.icio.us] <http://del.icio.us/pabloaugusto> [image: > Slideshare]<http://slideshare.net/pabloaugusto> [image: > Friendfeed] <http://friendfeed.com/pabloaugusto> > > > > 2011/2/26 Vinicius Cruz <[email protected]> > >> Bom, ai só Programação Orientado a Aspecto. Nunca programei AOP em php, >> mas é a unica forma que conheço de "incluir" código num método sem mexer >> necessariamente na classe. Mas o paradigma é esse! >> >> Reforçando que é totalmente desaconselhável não mexer no arquivo do core >> do framework. >> >> Att, >> Vinicius Cruz >> 71 8821-8799 >> http://www.zime.com.br/ >> >> >> >> Em 26 de fevereiro de 2011 03:44, Pablo Augusto >> <[email protected]>escreveu: >> >> Desculpe, me enganei. >>> >>> Nao li direito seu email. >>> Nao e isso nao, extendendo o MY_Controller sim, funciona, mas ai estou >>> nao extendendo classe padrao. >>> Queria uma forma de fazer isso mas sem ter de extender a classe >>> MY_Controller e sim a classe CI_Controller >>> entendeu? >>> >>> Ou seja, adicionar de alguma forma pela Application essa funcao no >>> __Construct do CI_Controller original. >>> >>> Acho que agora deu pra entender ne? =) >>> >>> >>> >>> >>> * >>> * >>> *Pablo Augusto >>> SEO | SEM | Marketing Digital >>> >>> * >>> *Me siga no Twitter:* @pabloaugusto <http://twitter.com/pabloaugusto> >>> *Artigos sobre Otimização de sites <http://webtags.com.br/seo>, >>> Marteking Digital e Mídias Sociais:* WebTags <http://webtags.com.br> >>> MSN: [email protected] >>> SKYPE: [email protected] >>> EMAIL: [email protected] >>> >>> [image: Linkedin] <http://linkedin.com/in/pabloaugusto> [image: >>> Twitter] <http://twitter.com/pabloaugusto> [image: >>> Facebook]<http://facebook.com/pabloaugusto> [image: >>> Flickr] <http://flickr.com/photos/pabloaugusto> [image: >>> Youtube]<http://youtube.com/pabloaugustoo> [image: >>> FormSpring] <http://formspring.me/opabloaugusto> [image: >>> LastFM]<http://lastfm.com.br/user/pabloaugustoo> [image: >>> DeviantART] <http://deviantart.com/pabloaugustoo> [image: >>> Tumblr]<http://pabloaugusto.tumblr.com/> [image: >>> Vimeo] <http://vimeo.com/pabloaugusto> [image: >>> del.icio.us]<http://del.icio.us/pabloaugusto> [image: >>> Slideshare] <http://slideshare.net/pabloaugusto> [image: >>> Friendfeed]<http://friendfeed.com/pabloaugusto> >>> >>> >>> >>> 2011/2/26 Pablo Augusto <[email protected]> >>> >>> Entendeu perfeitamente, >>>> Ja tentei dessa forma e de diversas outras, colocando em outras pastas e >>>> pesquisando na net, o problema e que nao funciona =/ >>>> >>>> >>>> >>>> >>>> * >>>> * >>>> *Pablo Augusto >>>> SEO | SEM | Marketing Digital >>>> >>>> * >>>> *Me siga no Twitter:* @pabloaugusto <http://twitter.com/pabloaugusto> >>>> *Artigos sobre Otimização de sites <http://webtags.com.br/seo>, >>>> Marteking Digital e Mídias Sociais:* WebTags <http://webtags.com.br> >>>> MSN: [email protected] >>>> SKYPE: [email protected] >>>> EMAIL: [email protected] >>>> >>>> [image: Linkedin] <http://linkedin.com/in/pabloaugusto> [image: >>>> Twitter] <http://twitter.com/pabloaugusto> [image: >>>> Facebook]<http://facebook.com/pabloaugusto> [image: >>>> Flickr] <http://flickr.com/photos/pabloaugusto> [image: >>>> Youtube]<http://youtube.com/pabloaugustoo> [image: >>>> FormSpring] <http://formspring.me/opabloaugusto> [image: >>>> LastFM]<http://lastfm.com.br/user/pabloaugustoo> [image: >>>> DeviantART] <http://deviantart.com/pabloaugustoo> [image: >>>> Tumblr]<http://pabloaugusto.tumblr.com/> [image: >>>> Vimeo] <http://vimeo.com/pabloaugusto> [image: >>>> del.icio.us]<http://del.icio.us/pabloaugusto> [image: >>>> Slideshare] <http://slideshare.net/pabloaugusto> [image: >>>> Friendfeed]<http://friendfeed.com/pabloaugusto> >>>> >>>> >>>> >>>> 2011/2/26 Vinicius Cruz <[email protected]> >>>> >>>> Cara, desculpe se eu não entendi direito seu email, mas é devido ao >>>>> horário :p >>>>> >>>>> Bem, o principio é o mesmo usado na library lang. Você cria um arquivo >>>>> MY_Controller e extender o CI_Controller. Nos controllers de seu sistema, >>>>> você extende o MY_Controller. Ficaria algo assim: >>>>> >>>>> class Produtos extends *MY_Controller* { >>>>> function __construct() >>>>> { >>>>> parent::__construct(); >>>>> //a linha abaixo considera o lang e session carregando >>>>> automaticamente >>>>> $this->lang->change($this->session->userdata('language')); >>>>> } >>>>> } >>>>> >>>>> Veja o item *Extending Native Libraries* >>>>> http://codeigniter.com/user_guide/general/creating_libraries.html >>>>> >>>>> Entendi corretamente? >>>>> >>>>> Att, >>>>> Vinicius Cruz >>>>> 71 8821-8799 >>>>> http://www.zime.com.br/ >>>>> >>>>> >>>>> >>>>> Em 26 de fevereiro de 2011 03:25, Pablo Augusto < >>>>> [email protected]> escreveu: >>>>> >>>>>> >>>>>> Bom dia pessoal. >>>>>> >>>>>> Estou com a seguinte dificuldade. >>>>>> Quero executar uma funcao em qualquer controller do sistema, essa >>>>>> funcao deve ser repassada para todas >>>>>> as classe filhas que estenderem a classe CI_Controller >>>>>> >>>>>> ex: >>>>>> >>>>>> class Produtos extends CI_Controller { >>>>>> function __construct() >>>>>> { >>>>>> parent::__construct(); >>>>>> } >>>>>> } >>>>>> >>>>>> Ou seja, essa classe devera herdar um elemento adicional na funcao >>>>>> __construct vindo da modificacao >>>>>> que pretendo fazer na classe CI_Controller original. Que pode ser por >>>>>> exemplo uma verificacao se o usuario >>>>>> esta logado via sessions. >>>>>> >>>>>> Pois bem, a classe CI_Lang de manipulacao de idiomas eu consegui >>>>>> extender tranquilamente inserindo uma >>>>>> funcao extra na funcao principal quando criei o arquivo MY_Lang na >>>>>> pasta application/core. >>>>>> A nova funcao que inseri no arquivo MY_Lang.php e carregada >>>>>> automaticamente quando chamo $this->lang->nova_funcao(); >>>>>> >>>>>> Preciso fazer com que toda nova classe que extenda a classe >>>>>> CI_Controller herde a funcao abaixo no __construct por >>>>>> padrao alguem sabe como posso fazer isso? >>>>>> >>>>>> parent::__construct(); >>>>>> *$this->lang->change($this->session->userdata('language'));* >>>>>> * >>>>>> * >>>>>> * >>>>>> --------------------------------------------------------------------------------------------------------------------- >>>>>> * >>>>>> >>>>>> Tentei de todas as maneiras e nao consegui (sem alterar o arquivo >>>>>> CI_Controler.php e adicionar a funcao no __Construct) >>>>>> fazer mesmo processo que fiz com a classe CI_Lang na classe >>>>>> CI_Controller. >>>>>> >>>>>> A funcao nao carrega de forma alguma. Ja se eu altero diretamente o >>>>>> arquivo CI_Controller.php (pasta system/core) >>>>>> funciona perfeitamente. >>>>>> >>>>>> veja como fica o arquivo da pasta system modificado que funciona 100%: >>>>>> * >>>>>> >>>>>> class CI_Controller { >>>>>> >>>>>> private static $instance; >>>>>> >>>>>> /** >>>>>> * Constructor >>>>>> */ >>>>>> public function __construct() >>>>>> { >>>>>> self::$instance =& $this; >>>>>> >>>>>> // Assign all the class objects that were instantiated by the >>>>>> // bootstrap file (CodeIgniter.php) to local class variables >>>>>> // so that CI can run as one big super object. >>>>>> foreach (is_loaded() as $var => $class) >>>>>> { >>>>>> $this->$var =& load_class($class); >>>>>> } >>>>>> >>>>>> $this->load =& load_class('Loader', 'core'); >>>>>> >>>>>> $this->load->_base_classes =& is_loaded(); >>>>>> >>>>>> $this->load->_ci_autoloader(); >>>>>> >>>>>> log_message('debug', "Controller Class Initialized"); >>>>>> >>>>>> // FIXME: arrumar maneira de extender o construct de todos os >>>>>> controles na application de forma nativa para nao precisar alterar o >>>>>> system/core >>>>>> $this->lang->change($this->session->userdata('language')); >>>>>> >>>>>> } >>>>>> * >>>>>> >>>>>> * >>>>>> * >>>>>> *Pablo Augusto >>>>>> SEO | SEM | Marketing Digital >>>>>> >>>>>> * >>>>>> *Me siga no Twitter:* @pabloaugusto <http://twitter.com/pabloaugusto> >>>>>> *Artigos sobre Otimização de sites <http://webtags.com.br/seo>, >>>>>> Marteking Digital e Mídias Sociais:* WebTags <http://webtags.com.br> >>>>>> MSN: [email protected] >>>>>> SKYPE: [email protected] >>>>>> EMAIL: [email protected] >>>>>> >>>>>> [image: Linkedin] <http://linkedin.com/in/pabloaugusto> [image: >>>>>> Twitter] <http://twitter.com/pabloaugusto> [image: >>>>>> Facebook]<http://facebook.com/pabloaugusto> [image: >>>>>> Flickr] <http://flickr.com/photos/pabloaugusto> [image: >>>>>> Youtube]<http://youtube.com/pabloaugustoo> [image: >>>>>> FormSpring] <http://formspring.me/opabloaugusto> [image: >>>>>> LastFM]<http://lastfm.com.br/user/pabloaugustoo> [image: >>>>>> DeviantART] <http://deviantart.com/pabloaugustoo> [image: >>>>>> Tumblr]<http://pabloaugusto.tumblr.com/> [image: >>>>>> Vimeo] <http://vimeo.com/pabloaugusto> [image: >>>>>> del.icio.us]<http://del.icio.us/pabloaugusto> [image: >>>>>> Slideshare] <http://slideshare.net/pabloaugusto> [image: >>>>>> Friendfeed]<http://friendfeed.com/pabloaugusto> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> [email protected] >>>>>> http://www.codeigniter.com.br >>>>>> http://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://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://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://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://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br --------------------------- Oportunidade de negócio http://www.franquiasargohost.net ---------------------------

