प्रतिष्ठित संसाधन नियंत्रक
एक 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|PATCH /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']
]);
प्रतिष्ठित संसाधन नियंत्रक प्रलेखन
इम्प्लिमेंट कंट्रोलर
एक इम्प्लिमेंट कंट्रोलर अधिक लचीला होता है। आप HTTP अनुरोध प्रकार और नाम के आधार पर अपने कंट्रोलर तरीकों से रूबरू होते हैं। हालाँकि, आपके पास आपके लिए निर्धारित मार्ग नाम नहीं हैं और यह एक ही मार्ग के लिए सभी सबफ़ोल्डर्स को पकड़ लेगा।
Route::controller('users', 'UserController');
एक प्रकार का नामकरण योजना के साथ आपको नियंत्रक स्थापित करने के लिए प्रेरित करेगा:
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'
}
}
कार्यान्वयन नियंत्रक प्रलेखन
अपनी पसंद के अनुसार आपको जो चाहिए, उसका उपयोग करना अच्छा है। मैं व्यक्तिगत रूप से इंप्लिमेंट कंट्रोलर्स को पसंद नहीं करता , क्योंकि वे गड़बड़ हो सकते हैं, नाम प्रदान नहीं करते हैं और उपयोग करते समय भ्रमित हो सकते हैं php artisan routes
। मैं आमतौर पर स्पष्ट मार्गों के साथ संयोजन में RESTful संसाधन नियंत्रकों का उपयोग करता हूं ।