2011-11-17 9 views
10

में नियंत्रक का नाम मिलता है मेरे पास एक कस्टम सहायक है जिसे मैं लॉगिंग के लिए उपयोग करता हूं।कोडिग्निटर को हेलपर

सहायक के कार्यों में से एक के भीतर मुझे नियंत्रक का नाम प्राप्त करने की आवश्यकता है जिसे बुलाया गया था। क्या इसे करने का कोई तरीका है?

मैं यूरी सेगमेंट पर भरोसा नहीं कर सकता क्योंकि कुछ नियंत्रक सब-फ़ोल्डर्स में हैं और सहायक का उपयोग पूरे ओवर में किया जाता है।

उत्तर

22

आप आप सीआई का एक उदाहरण सुपर चर $ जो मामले में यह पहली प्राप्त करने के लिए आवश्यकता हो सकती है CI2.x

में
$this->router->fetch_class(); 

निम्न का उपयोग कर सकते हैं।

$ci =& get_instance(); 
$ci->router->fetch_class(); 

भी एक $ci->router->fetch_method(); विधि नहीं है यदि आप विधि किसी भी कारण से कहा जाता है के नाम की जरूरत है: निम्नलिखित का प्रयोग करें।

+0

यह काम करता है। धन्यवाद। – applechief

0

$this->>router->fetch_method();index वापस आ जाएगी अगर आप कुछ इस तरह करते हैं:

class Someclass extends CI_Controller {   
    function index(){   
     $this->edit();   
    }   
    function edit(){   
     $this->router->fetch_method(); //outputs index 
    } 
} 
0

इस काम करना चाहिए (इतना यकीन नहीं है अगर यह सहायक में काम करता है):

$ci =& get_instance(); 
$ci->router->class // gets class name (controller) 
$ci->router->method // gets function name (controller function) 
0

तुम भी यूआरआई उपयोग कर सकते हैं कक्षा

$ci = & get_instance(); 
$ci->uri->segment(1) // That stands for controller 
$ci->uri->segment(2) // That stands for method 
संबंधित मुद्दे