ตัวควบคุมทรัพยากรที่เหลือ
สงบควบคุมทรัพยากรชุดเส้นทางเริ่มต้นบางอย่างสำหรับคุณและแม้กระทั่งชื่อพวกเขา
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
และคุณจะตั้งค่าคอนโทรลเลอร์ของคุณแบบนี้ (actions = method)
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
ตัวควบคุมโดยปริยาย
ควบคุมโดยปริยายมีความยืดหยุ่นมากขึ้น คุณได้รับการกำหนดเส้นทางไปยังวิธีการควบคุมของคุณตามประเภทคำขอ HTTP และชื่อ อย่างไรก็ตามคุณไม่มีชื่อเส้นทางที่กำหนดไว้สำหรับคุณและจะจับโฟลเดอร์ย่อยทั้งหมดสำหรับเส้นทางเดียวกัน
Route::controller('users', 'UserController');
จะนำคุณไปสู่การตั้งค่าคอนโทรลเลอร์ด้วยรูปแบบการตั้งชื่อ RESTful:
class UserController extends BaseController {
public function getIndex()
{
}
public function getShow($id)
{
}
public function postStore()
{
}
}
เอกสาร Implicit Controller
เป็นแนวทางปฏิบัติที่ดีในการใช้สิ่งที่คุณต้องการตามความต้องการของคุณ ผมเองไม่เหมือนควบคุมโดยปริยายphp artisan routes
เพราะพวกเขาสามารถยุ่งไม่ได้ให้ชื่อและสามารถทำให้เกิดความสับสนเมื่อใช้ โดยทั่วไปฉันจะใช้ตัวควบคุมทรัพยากร RESTfulร่วมกับเส้นทางที่ชัดเจน