Routing In Laravel in Hindi
हेल्लो दोस्तों कैसे है आप सब, उम्मीद करता हु आप सब ठीक ही होंगे, तो अभी तक आप सब ने laravel की directory structure के बारे पढ़ा है. अगर अभी तक आपने नहीं पढ़ा है तो इन links पर जाकर आप सभी पिछले post को पढ़ सकते है. तो चलिए आज हम बात करते है Routing की|Basic Routing in Laravel -
Routing laravel का बहुत ही important concept है| हमारे laravel Application में routes का मुख्य कार्य application requests को proper controller या view के लिए route करना होता है| अभी शायद आपको कुछ समझ में नहीं आ रहा हो पर जैसे जैसे आप आगे बढ़ते जायेंगे और practical करेंगे तो आपकी सारी confusion दूर हो जाएगी|इसी post में हम routes और view को बनाना सीखेंगे| जैसा की हम सभी जानते है की laravel MVC architecture पर work करता है इसलिए हम view को create करेंगे और उसे route करेंगे|
Default routes file -
Laravel framework में सारी route files, routes directory के अन्दर होती है| जब हम laravel का प्रोजेक्ट तैयार करते है तो उसी समय प्रोजेक्ट के अन्दर routes directory भी create होती है|ये फाइल laravel framework द्वारा automatically load की जाती है|routes/web.php directory हमारे application के web interface के लिए route files के definition को contain रखती है web.php के अन्दर routes web middleware group के साथ assign रहती है जो कि session state और CSRF protection जैसी features पprovide करती है|
middleware और CSRF प्रोटेक्शन के बारे में हम आगे बात करेंगे. laravel framework में सारी route files, routes directory के अन्दर होती है| जब हम laravel का प्रोजेक्ट तैयार करते है तो उसी समय प्रोजेक्ट के अन्दर routes directory भी create होती है| ये फाइल laravel framework द्वारा automatically load की जाती है|
हम basic तौर पर routes directory के अन्दर web.php files के अन्दर Route बनाना सीखेंगे जो भी Routes हम web.php के अन्दर define करेंगे वो उस url का प्रयोग करके access किये जा सकेंगे| अभी तक जैसा की आप सबने core php में use किया होगा की हम किसी page को उस file के name से access कर लेते थे, पर laravel में ऐसा नही है|
हम किसी भी view को access करने के सबसे पहले route बनाना पड़ेगा तो चलिए इसे एक example से समझते है. इस tutorial में VS code एडिटर का प्रयोग करूंगा -
तो चलिए सबसे पहले चलते है, routes folder में. हम सबसे पहले चलते है, routes/web.php के अन्दर जो की हमे कुछ ऐसा दिखाई देगा -
तो अब हम इसे समझते है की routes कैसे बनाते है यहा पर / का मतलब है की जब root folder को access किया जायेगा तो कौन सी view या controller open होगा, और get यहा पर method है|
तो हम देखते है की / को access करने पर laravel हमे welcome view को return करेगा और welcome view आपको resources/views के अन्दर
हम cmd पर
php artisan serve command
run करायेंगे तो कुछ ऐसा देखने को मिलेगा, इस link को browser में paste करके open करने पर हमे कुछ इस तरह का output मिलेगा -
ऐसा नहीं है की हम केवल इसी page को ' / ' से access कर सकते है, हम अपनी आवश्यकतानुसार किसी दूसरे view को route कर सकते है इसके लिए हम views folder जो की resources directory के अन्दर है वह पर एक नई file बनाते है और इसका नाम हम इस प्रकार से रखेंगे -
file_name.blade.php
हम file के नाम के बाद blade.php लिखना नहीं भूलेंगे तो आपने अभी सीखा की view कैसे create करते है, तो अब हम आगे बढ़ते और जो view हमने create किया था उसमे कुछ लिखते है और उसे route करते है -
आपको समझाने के लिए मैंने एक home.blade.php नाम का एक view create किया है और उसमे एक heading लिखते है और उसे route करते है -
अब हम इस view को route करते है -
अब हम देखते है की हमे जो welcome page दिख रहा था उसकी जगह अब हमे home page दिखाई देगा|
तो अब हम देखते है की हमने कैसे home page को route किया.
Some Other Routing Methods -
Router हमे routes को register करने की सुविधा प्रदान करती है जो HTTP request पर respond करती है| Route::get($uri, $callback_function);
Route::post($uri, $callback_function);
Route::put($uri, $callback_function);
Route::patch($uri, $callback_function);
Route::delete($uri, $callback_function);
Route::option($uri, $callback_function);
कभी-कभी हमे एक route को एक से अधिक HTTP verbs के लिए register करने की आवश्यकता होती है जिसके लिए हम match method का प्रयोग करते है,या हम एक route को any method की सहायता से register कर सकते है जो सारे HTTP verbs के लिए respond करेगा |
Route::match(['get','post'],'/',function(){
//Code
});
Route::any('/',function(){
//Code
});
Redirect Routes
यदि हम एक ऐसा route define करना चाहते है जो किसी दूसरे URI पर redirect करना हो तो उसके लिए हमेRoute::redirect('/from','/to')का प्रयोग करना पड़ेगा.
View Routes -
यदि हम चाहते है की हमारा route केवल एक view return करे तो उसके लिए हमे इस method का प्रयोग करना पड़ेगा -
Route::view('/welcome','welcome');
अब हम पाते है की यदि हम url में welcome pass करते है तो वह हमे welcome view को return करेगा.
How to pass Parameters in Route -
हम laravel में route में दो तरह के Parameters को pass कर सकते है -- Required Parameters
- Optional Parameters
Required Parameters -
यदि हमे url में कुछ पैरामीटर्स को pass करना हो तो हमे route में पैरामीटर्स को pass करना पड़ता है, यदि हमे उस parameter की requirement है तो हम उसे { } से enclose कर इस तरह pass कर सकते है -
Route::get('user/'{id},function($id){
return 'id = '.$id;
});
return 'id = '.$id;
});
Optional Parameters -
यदि हमे कभी optional parameter करने की आवश्यकता होती है तो laravel हमे वह भी सुबिधा प्रदान करती है ऐसा हम parameter के बाद ? लगाकर कर सकते है -
Route::view('user/{name?}',function(){
//code;
});
//code;
});
- What is Laravel Framework
- How to set PHP Environment
- How to install Laravel on windows
- Directory Structure of Laravel in Hindi
Final Word
धन्यवाद दोस्तों उम्मीद है आप सबको ये पोस्ट पसंद आई है, अगर आपको कुछ doubts है तो उसे comments में पूछ सकते है. और आप इसके पहले के भी पोस्ट इन links पर जाकर पढ़ सकते है -धन्यवाद्.
Post a Comment
You are welcome to share your ideas with us in comments