当前位置:  开发笔记 > 编程语言 > 正文

Laravel-4:Laravel中RESTful控制器和资源控制器之间的区别

如何解决《Laravel-4:Laravel中RESTful控制器和资源控制器之间的区别》经验,为你挑选了1个好方法。

有人可以解释一下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会告诉你所有的路线.您可以测试输出并使用该命令查看自动生成的路由.



1> majidarif..:

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会告诉你所有的路线.您可以测试输出并使用该命令查看自动生成的路由.

推荐阅读
夏晶阳--艺术
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有