有人可以解释一下Laravel中RESTful控制器和资源控制器之间的区别吗?我也有一些问题 -
什么时候我应该使用RESTful控制器和资源控制器?
RESTful控制器和资源控制器是否有任何Controller操作的命名约定?
如果我使用RESTful控制器,我如何为控制器定义路由?
对于构建控制器方法最好的API?
majidarif.. 15
Laravel资源控制器定义为Route::controller('users', 'UserController');
Restful Controllers定义为Route::resource('photo', 'PhotoController');
.
一个宁静的控制器遵循标准蓝图,以获得一个宁静的资源,主要包括:
GET /resource index resource.index GET /resource/create create resource.create POST /resource store resource.store GET /resource/{resource} show resource.show GET /resource/{resource}/edit edit resource.edit PUT/PATCH /resource/{resource} update resource.update DELETE /resource/{resource} destroy resource.destroy
虽然资源控制器不像宁静的控制器那样自以为是.它允许您直接从您的控制器创建方法,它们都会自动映射到您的路由:
public function getIndex() { // Route::get('/', 'Controller@getIndex'); } public function postProfile() { // Route::post('/profile', 'Controller@postProfile'); }
将自动拥有路由,Route::post('/profile', 'Controller@postProfile');
而不是在路由上明确定义它,更多的是帮助,如果你要避免很长的路由文件.
做php artisan routes
会告诉你所有的路线.您可以测试输出并使用该命令查看自动生成的路由.
Laravel资源控制器定义为Route::controller('users', 'UserController');
Restful Controllers定义为Route::resource('photo', 'PhotoController');
.
一个宁静的控制器遵循标准蓝图,以获得一个宁静的资源,主要包括:
GET /resource index resource.index GET /resource/create create resource.create POST /resource store resource.store GET /resource/{resource} show resource.show GET /resource/{resource}/edit edit resource.edit PUT/PATCH /resource/{resource} update resource.update DELETE /resource/{resource} destroy resource.destroy
虽然资源控制器不像宁静的控制器那样自以为是.它允许您直接从您的控制器创建方法,它们都会自动映射到您的路由:
public function getIndex() { // Route::get('/', 'Controller@getIndex'); } public function postProfile() { // Route::post('/profile', 'Controller@postProfile'); }
将自动拥有路由,Route::post('/profile', 'Controller@postProfile');
而不是在路由上明确定义它,更多的是帮助,如果你要避免很长的路由文件.
做php artisan routes
会告诉你所有的路线.您可以测试输出并使用该命令查看自动生成的路由.