Laravel8的路由为什么跟以前不一样了,这样做有啥好处吗?

use  App\Http\Controllers\UserController; Route::get('/user',  [UserController::class,  'index']);

这种写法是官方推荐的,但是路由文件会引入许多的类,看上去没有之前简洁了。既然之前的写法简单,为什么在laravel8版本中反而复杂了

Complicated
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 13
<?php

namespace App\Http\Controllers;

Route::get('/user',  [UserController::class,  'index']);

这样就可以了。

4年前 评论
北冥 4年前

主要是 ide 会自动补全 + 命名空间

自动补全: 少打代码 + 不会出现类名写错

4年前 评论

更重要的,IDE 可以智能跟踪,也就是按住 Ctrl 点击类名能跳转过去。

4年前 评论
JaguarJack

其实之前也可以这么写 只不过你要拼装字符串 现在还少了一次 @ 转数组呢

4年前 评论

这样你就可以控制路由的命名空间了。

4年前 评论

ied能找到8的工厂类啊?

4年前 评论

文档说是更加灵活,规范,不在硬编码写在程序里面,你如果习惯原先的,可以在RouteServiceProvider.php修改!

4年前 评论

个人感觉没啥好处呀,可有可无的改动

4年前 评论
WangYuanDa 4年前

和beego得路由写法差不多了

4年前 评论

之前的方式:$app->post('order/kaidian', 'OrderController@kaidian'); 得先去找OrderController在哪个目录下, 现在这种方式少了这一步解析,UserController::class 直接找到该类!所以速度提升一点点

4年前 评论
欲饮琵琶码上催

用ide可以直接点,而且不用打哪些控制器名,而且命名空间+控制器类名更加直观你可以明确知道是那个空间下的,速度更快一点,虽然更长了,但是对于ide的便捷根本不上大雅,而且发现以前model默认是没有model文件夹的现在分类了文件夹,不用我手动创建了。最后我不推荐 一楼那个 把空间写上面的做法。直接写一行就行了

4年前 评论
欲饮琵琶码上催

反正最后上线不都得来一遍 缓存操作么? cache:config 哪些玩意。所以,习惯就好吧,这个改动我觉得很好真的。

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!