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

Responder a