2012-07-02 18 views
5

में फ़ंक्शन ओवरलोडिंग मैं सोच रहा था कि क्या आप PHP में फ़ंक्शन ओवरलोड कर सकते हैं, खासकर कोडइग्निटर में। उदाहरण के लिए यदि मैं एक दृश्य लोड करना चाहता हूं तो मेरे नियंत्रक में, लेकिन यह भिन्न होगा कि एक चर को पैरामीटर के रूप में आपूर्ति की गई थी या यदि यह खाली छोड़ दिया गया था।कोडइग्निटर

<?php 
    function load_view(){ 
    $this->load->view('view'); 
    } 

    function load_view($var){ 
    $this->load->model('data'); 
    $data = $this->data->getInfo($var); 
    $this->load->view('view', $data); 
    } 
?> 

लेकिन जब मैं इस की कोशिश की, मैं कोई त्रुटि मिलती है "गंभीर त्रुटि:: नियंत्रक :: load_view redeclare नहीं कर सकते"

... इस अवधारणा को मैंने कोशिश की, जिसके कारण मैं अन्य भाषाओं में सीखा है

किसी भी मदद की सराहना की जाएगी। अग्रिम धन्यवाद!

उत्तर

9

PHP में अधिभार कार्यों में वैकल्पिक पैरामीटर का उपयोग करें। एक उदाहरण हो सकता है:

function load_view($var = null) { 
    if (!empty($var)) { 
     $this->load->model('data'); 
     $data = $this->data->getInfo($var); 
     $this->load->view('view', $data); 
    } else { 
     $this->load->view('view'); 
    } 
} 
+0

यह एक आकर्षण की तरह काम करता था! धन्यवाद! – nickcorin