滑稽 的博客

Laravel显式和隐式路由(不推荐隐式)

显式路由:正常的Route::get/post/put/delelte这样的,

隐式路由:Route::resource和低版本(lar5.3以下)支持的Route::controller

example:

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



以laravel5.3为例,隐式路由的典型:Route::controller() 在5.2不推荐使用,5.3版本中直接移除


Implicit controller routes using Route::controller have been deprecated. Please use explicit route registration in your routes file. This will likely be extracted into a package.


1. 代码可读性降低,如果整个团队最开始的风格就是这样的,最大便利性为主,那就算了,

2. 项目做完不知道暴露了多少接口给外部,这样的情况很尴尬

3. 后期维护很差,实际业务中,对于用户或者其他对象的操作多是基础增删改查之外也有小功能,或者查找多余方法的时候,不如显式路由好用

4. 路由改名,给路由起别名的情况下,显式比隐式更好用


评论
< >
更多文章来:https://alpha2016.github.io
< >
© 滑稽 的博客 | Powered by LOFTER