URL路由:Laravel

问题描述 投票:0回答:4

我一直在研究laravel并且一直在做一些路由。我只是想知道写这条路线的区别是:

route::get('roles/{id}/edit',rolesController@edit);

route::get('roles/edit/{id}',rolesController@edit);

一个区别是清晰可见的,即id变量的位置。无法弄清楚任何其他原因。请对此作出解释。

laravel routes
4个回答
2
投票

除了URL的实际外观之外,就框架而言,没有真正的区别。


0
投票

我想这是使用任何一个时的偏好问题。也许,例如,如果您提供编辑用户个人资料和帖子的选项,这可能会派上用场,因为两者都是不同的路线,从技术上讲


0
投票

没有不同。这取决于您如何构建路线。但请尝试使用laravel创建者推荐的最佳实践(https://laravel.com/docs/5.7/controllers#resource-controllers)。 而且我想要你注意你如何调用你的控制器。您应该使用CamelCase命名文件(https://github.com/alexeymezenin/laravel-best-practices/blob/master/README.md)。


0
投票

没有区别,但你可能想看看reosource路线和控制器。基本上,laravel框架会自动为项目中可能需要的控制器创建路径和方法。例如:如果您创建这样的控制器:

php artisan make:controller RolesController --resource

并创建一个这样的资源路由:

Route::resource('/roles', 'RolesController ');

框架会自动为您创建此路线:

Verb          Path                         Action  Route Name
GET           /roles                       index   roles.index
GET           /roles/create                create  roles.create
POST          /roles                       store   roles.store
GET           /roles/{roles}               show    roles.show
GET           /roles/{roles}/edit          edit    roles.edit
PUT|PATCH     /roles/{roles}               update  roles.update
DELETE        /roles/{roles}               destroy roles.destroy

因此,您不必自己制定路线并询问自己是否正确。查看laravel官方文档以获取有关此内容的更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.