2010-01-04 8 views
11

मैं अपनी PHP वेबसाइट के लिए प्रमाणीकरण बनाने की कोशिश कर रहा हूं। मैं कोडनिर्देशक ढांचे का उपयोग कर रहा हूँ। मुझे अपनी वेबसाइट के सभी पृष्ठों में सत्र को प्रमाणित करना होगा। तो कोड पुनरावृत्ति से बचने के लिए, मैं इसे एक सहायक समारोह में करने की योजना बना रहा हूं। अब मेरे उपयोगकर्ता प्रमाण पत्र मेरे डेटाबेस में हैं, मैं सहायक फ़ंक्शन से डेटाबेस से क्वेरी करने के लिए मॉडल तक पहुंच बनाना चाहता हूं। एक नियंत्रक वर्ग में मैंएक सहायक फ़ंक्शन से डेटाबेस से क्वेरी करने के लिए मॉडल का उपयोग कैसे करें?

$this->load->model('user_model'); 

का उपयोग करके ऐसा किया होगा कृपया मुझे एक सहायक फ़ाइल में इसके बराबर जानकारी दें। दृष्टिकोण में किसी भी तरह का सुझाव भी सराहना की है। अग्रिम में धन्यवाद।

उत्तर

20

आप एक सहायक में अपने सीआई उदाहरण पहुँचने के लिए इस $ का उपयोग करने में सक्षम नहीं होगा, लेकिन सीआई यह करने के लिए एक तरीका है -

पहले, आप अपने सीआई उदाहरण के लिए एक संदर्भ की जरूरत है:

$CI =& get_instance(); 

उसके बाद, आप यह बहुत पसंद है अगर आप मॉडल लोड करने की आवश्यकता कर सकते हैं:

$CI->load->model('model_name'); 

और अंत में इस तरह अपने मॉडल में कोई फ़ंक्शन को कॉल करें:

$CI->model_name->function_name(); 

असल में, $ $ के बजाय $ CI का उपयोग करें। उम्मीद है की वो मदद करदे।

1

यह इतना कोड पुनरावृत्ति नहीं है। मैं इस दृष्टिकोण का सुझाव दूंगा:

function __construct() 
{ 
    parent::Controller(); 

    if ($this->auth->is_logged_in() !== TRUE) // "auth" is the authentication library 
    { 
     redirect('login'); 
    } 
} 
संबंधित मुद्दे