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

Responder a