2012-01-24 12 views
5

Tengo un pequeño controlador codeigniter. A continuación se muestra el códigoVariable Code Igniter 2.0 en el constructor

class Example extends CI_Controller { 
    /* 
    * Constructor function 
    */ 

    function __construct() { 
     parent::__construct(); 
     $data['extraScripts'] = 'test'; //Use to add extra scripts in head 


    } 

    function function1() { 
     $this->load->view('v1',$data); 

    } 

    function function2() { 
     $data['extraScripts'] = 'extraScript Veriable override here'; 
     $this->load->view('v2',$data); 
    } 

Lo que quiero es definir un veriable $data['extraScripts'] en el constructor del controlador y quiere que veriable en cada método de que el controlador por defecto. Quiero decir en la función f1 No estoy creando variable extraScripts pero su vista debe tomar valor del constructor (o de cualquier otro método) y no debería darme la definición de error variable. En la segunda función f2 anulo la variable extraScript para que su vista muestre ese texto anulado. Es eso posible.

+1

El uso de este al final del contructor resolver mi problema $ this-> load-> vars (datos $); –

Respuesta

6

Convierte $ data en un atributo (OOP básico).

Por ejemplo;

class Example extends CI_Controller { 
    /* 
    * Constructor function 
    */ 

    public $data = array(); 

    function __construct() { 
     parent::__construct(); 
     $this->data['extraScripts'] = 'test'; //Use to add extra scripts in head 


    } 

    function function1() { 
     $this->load->view('v1',$this->data); 

    } 

    function function2() { 
     $data['extraScripts'] = 'extraScript Veriable override here'; 
     $this->load->view('v2',$this->data); 
    } 
} 
+1

Sí, pero usando esta función CodeIgniter $ this-> load-> vars ($ data) en __construct() también hacen lo mismo. He comentado anteriormente cuando recibí la respuesta. Gracias por la ayuda :) –

Cuestiones relacionadas