Laravel8的路由为什么跟以前不一样了,这样做有啥好处吗?
use App\Http\Controllers\UserController; Route::get('/user', [UserController::class, 'index']);
这种写法是官方推荐的,但是路由文件会引入许多的类,看上去没有之前简洁了。既然之前的写法简单,为什么在laravel8版本中反而复杂了
关于 LearnKu
这样就可以了。
主要是
ide会自动补全类+命名空间自动补全: 少打代码 + 不会出现类名写错
更重要的,IDE 可以智能跟踪,也就是按住 Ctrl 点击类名能跳转过去。
其实之前也可以这么写 只不过你要拼装字符串 现在还少了一次 @ 转数组呢
这样你就可以控制路由的命名空间了。
ied能找到8的工厂类啊?
文档说是更加灵活,规范,不在硬编码写在程序里面,你如果习惯原先的,可以在
RouteServiceProvider.php修改!个人感觉没啥好处呀,可有可无的改动
和beego得路由写法差不多了
更规范,方便 IDE 识别
之前的方式:$app->post('order/kaidian', 'OrderController@kaidian'); 得先去找OrderController在哪个目录下, 现在这种方式少了这一步解析,UserController::class 直接找到该类!所以速度提升一点点
用ide可以直接点,而且不用打哪些控制器名,而且命名空间+控制器类名更加直观你可以明确知道是那个空间下的,速度更快一点,虽然更长了,但是对于ide的便捷根本不上大雅,而且发现以前model默认是没有model文件夹的现在分类了文件夹,不用我手动创建了。最后我不推荐 一楼那个 把空间写上面的做法。直接写一行就行了
反正最后上线不都得来一遍 缓存操作么? cache:config 哪些玩意。所以,习惯就好吧,这个改动我觉得很好真的。