2012-01-24 4 views
5

मेरे पास एक छोटा कोडिनेटर नियंत्रक है। नीचे दिए गए कोड हैकन्स्ट्रक्टर में कोड इग्निटर 2.0 चर

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

क्या मैं चाहता हूँ एक veriable $data['extraScripts'] नियंत्रक के निर्माता में परिभाषित करने और डिफ़ॉल्ट रूप से उस नियंत्रक की हर विधि में है कि veriable चाहते हैं। मेरा मतलब है कि f1 में मैं अतिरिक्त चर चर बना रहा हूं लेकिन इसके विचार को कन्स्ट्रक्टर (या किसी अन्य विधि से) से मूल्य लेना चाहिए और मुझे चरम त्रुटि को अपरिभाषित नहीं करना चाहिए। दूसरे फ़ंक्शन में f2 मैं अतिरिक्त स्क्रिप्ट चर को ओवरराइड कर रहा हूं, इसलिए इसका दृश्य उस ओवरराइड टेक्स्ट को प्रदर्शित करना चाहिए। क्या यह संभव है।

+1

$ this-> load-> ($ डेटा) वार्स मेरी समस्या contructor के अंत में इस का उपयोग करते हुए हल; –

उत्तर

6

$ डेटा एक विशेषता (मूल ओओपी) बनाएं।

उदाहरण के लिए;

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

हाँ, लेकिन इस कोड इग्निटर फ़ंक्शन का उपयोग करके यह-- load-> vars ($ डेटा) __construct() में भी वही काम करता है। मैंने उपरोक्त टिप्पणी की है क्योंकि मुझे जवाब मिल गया है। सहायता के लिए धन्यवाद :) –

संबंधित मुद्दे