2012-01-24 28 views
5

Tôi có một bộ điều khiển mã vạch nhỏ. Dưới đây là mãBiến số Igniter 2.0 trong hàm dựng

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); 
    } 

Những gì tôi muốn là để xác định một veriable $data['extraScripts'] trong Constructor của Controller và muốn điều đó veriable trong mọi phương pháp mà điều khiển theo mặc định. Tôi có nghĩa là trong chức năng f1 Tôi không tạo biến extraScripts nhưng quan điểm của nó nên có giá trị từ constructor (hoặc từ anyother phương pháp) và không nên cho tôi lỗi undefine biến. Trong hàm thứ hai f2 tôi đang overridding biến extraScript để khung nhìn của nó sẽ hiển thị văn bản ghi đè đó. Điều đó có thể không.

+1

Sử dụng này vào cuối contructor giải quyết vấn đề của tôi $ this-> tải-> vars ($ data); –

Trả lời

6

Đặt $ data thành thuộc tính (OOP cơ bản).

Ví dụ;

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

Vâng nhưng sử dụng chức năng CodeIgniter $ this-> load-> vars ($ data) trong __construct() cũng làm tương tự. Tôi đã bình luận ở trên khi tôi nhận được câu trả lời. Cảm ơn đã giúp đỡ :) –

Các vấn đề liên quan