Set the default controller in CodeIgniter 3 with Sub-folder. CodeIgniter 3 PHP का एक popular web framework है जिसका इस्तेमाल web-based project को develop करने के लिए किया जाता है|
आज के इस tutorial में हम सीखेंगे की CodeIgniter framework में default controller कैसे set करें? इससे पहले हम जानेंगे की default controller क्या होता है और इसे क्यों set किया जाता है?
Contents
Set the default controller in CodeIgniter 3 – Default controller क्या होता है?
Default controller वैसे controller को कहा जाता है जो की root URL open करने के साथ ही open होता है| जब भी आप किसी website को open करते होंगे तो उसमें एक page आपको सबसे पहले show होता है जिसे default webpage कहा जाता है|
इसी webpage को अगर CodeIgniter में default set करना हो तो हम default controller set करते हैं क्योंकि CodeIgniter 3 में किसी भी page को access करने के लिए हमे URL में controller और method का नाम लिखना पड़ता है जिससे की उस controller का particular method access हो सके|
आगे हमें route के बारे में जानना होगा इसलिए चलिए थोडा सा route के बारे में जानते हैं| जब भी browser के address बार में कोई URL लिखते हैं तो वह URL हमें किसी particular webpage का path बताता है| वह URL जब भी trigger या hit होता है तो server के पास request जाता है और server response करता है| इस process को routing कहा जाता है जिसके द्वारा data travel होता है|
MVC framework में route का कार्य controller और method के path को बताना होता है|
Steps to set default controller
CodeIgniter हमें हर प्रकार के configuration के लिए एक config folder provide करता है जिसके अन्दर अलग अलग प्रकार के configuration files होते हैं जिनका इस्तेमाल अलग अलग कार्यो के लिए किया जाता है|
इसी folder के अन्दर एक routes.php file होता है जिसमें हम route define करते हैं that means controller और method को define करते हैं| हालाँकि CodeIgniter 3 में हम बिना route define किये Controller और method के नाम के द्वारा किसी particular webpage को access कर सकते हैं, लेकिन जब हमें बिना controller और method के नाम type किये किसी webpage को access करना हो तो हम route define करते हैं|
Default controller set करने के लिए सबसे पहले अपने project के root folder में जाएँ उसके बाद application folder और फिर config folder में जाएँ| अब आपको एक routes.php file मिलेगा जिसे open करने के बाद सबसे निचे कुछ इस प्रकार का code होगा|
$route['default_controller'] = 'welcome';
CodeIgniter 3 में welcome controller by default set रहता है जिसे आप अपने अनुसार change कर सकते हैं| जैसे मान लीजिये हमारे पास Login_controller है और इसके अन्दर एक index() method है तो हम कुछ इस प्रकार से default controller set करेंगे|
$route['default_controller'] = 'Login_controller';
अब बहुत लोगो के मन में एक सवाल रहता है की आखिर इसमें by default कौन सा method access होगा तो मैं बता दूँ की यहाँ पर by default index method access होता है अगर आप ऊपर वाले code को इस प्रकार लिखे तो भी same work करेगा|
$route['default_controller'] = 'Login_controller/index';
जब आपका controller किसी sub-folder के अन्दर हो तो आपको default controller में sub-folder का नाम भी लिखना होगा| जैसे
$route['default_controller'] = 'subfolder/Login_controller/index';
Multiple default controller कैसे set करें?
आप multiple default controller set नहीं कर सकते हैं, लेकिन आप दूसरे index के साथ दूसरा route create कर सकते हैं| जैसे मान लीजिये आपके पास एक controller है जिसका नाम Test_controller और इसके अन्दर एक email_validation() method है अब अगर हम इसे controller और method नाम के साथ access करेंगे तो देखने में बहुत बड़ा URL लगेगा लेकिन इसे आप route create करके short कर सकते हैं|
बिना route का URL : http://localhost/test_controller/email_valdiation
$route['email_valid'] = 'Test_controller/email_validation';
Route के साथ URL: http://localhost/email_valid
Conclusion and Final Words
Default controller set कर देने से जब भी हमारे website के root URL को कोई open करेगा तो उसे default page या homepage show होगा| कोई भी person homepage open करने के लिए केवल root URL ही लिखना पसंद करता है उसके अलावा sub URL लिखना कोई पसंद नहीं करता क्योंकि इसे याद रखना मुश्किल होता है और type करना भी थोडा irritating task होता है|
इस tutorial में हमने सीखा की CodeIgniter 3 में default controller कैसे set करते हैं? ऐसे ही tutorial सीखने के लिए हमारे साथ जुड़े रहे|
Read tutorial in English: Click here
ये भी पढ़ें:
thanks bro