RESTful संसाधन नियंत्रक
एक RESTful संसाधन नियंत्रक आपके लिए कुछ डिफ़ॉल्ट मार्गों और यहां तक कि उन्हें नाम सेट करता है।
Route::resource('users', 'UsersController');
आप इन नामित रास्तों देता है:
Verb Path Action Route Name
GET /users index users.index
GET /users/create create users.create
POST /users store users.store
GET /users/{user} show users.show
GET /users/{user}/edit edit users.edit
PUT /users/{user} update users.update
DELETE /users/{user} destroy users.destroy
और तुम इस तरह अपने नियंत्रक कुछ (कार्रवाई = तरीकों)
class UsersController extends BaseController {
public function index() {}
public function show($id) {}
public function store() {}
}
तुम भी चुन सकते हैं क्या कार्रवाई शामिल किए गए हैं सेट अप करना होगा या इस तरह से बाहर रखा गया:
Route::resource('users', 'UsersController', [
'only' => ['index', 'show']
]);
Route::resource('monkeys', 'MonkeysController', [
'except' => ['edit', 'create']
]);
RESTful Resource Controller documentation
अंतर्निहित नियंत्रक
एक अंतर्निहित नियंत्रक अधिक लचीला है। HTTP अनुरोध प्रकार और नाम के आधार पर आप अपने नियंत्रक विधियों पर जाते हैं। हालांकि, आपके पास रूट नाम आपके लिए परिभाषित नहीं हैं और यह उसी रूट के लिए सभी उपफोल्डर्स को पकड़ लेगा।
Route::controller('users', 'UserController');
RESTful नामकरण योजना का एक तरह से नियंत्रक स्थापित करने के लिए आप का नेतृत्व करेंगे:
class UserController extends BaseController {
public function getIndex()
{
// GET request to index
}
public function getShow($id)
{
// get request to 'users/show/{id}'
}
public function postStore()
{
// POST request to 'users/store'
}
}
Implicit Controller documentation
यह उपयोग करने के लिए आपको क्या चाहिए अच्छा अभ्यास है, आपकी वरीयता के अनुसार। मुझे व्यक्तिगत रूप से लागू नियंत्रक पसंद नहीं है, क्योंकि वे गन्दा हो सकते हैं, नाम प्रदान नहीं करते हैं और php artisan routes
का उपयोग करते समय भ्रमित हो सकते हैं। मैं आमतौर पर स्पष्ट मार्गों के संयोजन में रीस्टफुल संसाधन नियंत्रक का उपयोग करता हूं।
लैरवेल 5.2 उपयोगकर्ताओं के लिए बस एक नोट, इस बीच निहित नियंत्रकों को बहिष्कृत कर दिया गया है। – Roy
मार्ग :: नियंत्रक एड-बैक कोड: https://github.com/shrimpwagon/laravel-route-controller – shrimpwagon