我想吐槽一下laravel8的新路由

这是laravel 7 的路由
Route::get('/user', 'UserController@index');

下面这是laravle 8 的路由
Route::get('/user', [UserController::class, 'index']);

而且laravel 8 路由还要引入所在的控制器
use App\Http\Controllers\UserController;

有几个控制器就要引入几个控制器,实在想不通这是个什么操作,麻烦大神帮忙指点迷津
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 16
leo

对于我来说 IDE 引入+跳转方便多了,极大地节省了时间

4年前 评论
leo

对于我来说 IDE 引入+跳转方便多了,极大地节省了时间

4年前 评论

我还是喜欢这样写

Route::match(["get","post"],'test', TestController::class . '@testInfo');
4年前 评论

@leo IDE 中会有这样的提示怎么设置下呢

file

file

4年前 评论
<?php

namespace App\Http\Controllers;

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

这样就可以了,点击 index 还能跳到控制器里面的方法,非常好

4年前 评论

你可以在 app/Providers/RouteServiceProvieder.php 中把 protected $namespace = 'App\Http\Controllers'; 注释去掉就好了,文档都有的。

4年前 评论
Nymph (楼主) 4年前

这个感觉属于功能倒退 :joy:

4年前 评论

这个其实一直是官方开发人员建议的写法,8 中直接转正了。

我从 7 开始就这样写,IDE 有自动导入,不用单独写use,还是很实用的。

4年前 评论
Nymph (楼主) 4年前

用sublime-text 开发的就惨了

4年前 评论
Nymph (楼主) 4年前
wzg10086 4年前
Nymph (楼主) 4年前

等你几百个路由,又不是你自己写的时候,你就会发现直接跳转过去多么方便了

4年前 评论
Nymph (楼主) 4年前
muggle (作者) 4年前
JerryBool 4年前
muggle (作者) 4年前
JerryBool 4年前
aodaobi

用phpstrom 写的时候会自动帮你use ,点击index的时候能自动跳转到该控制器的方法

4年前 评论
Nymph (楼主) 4年前
aodaobi (作者) 4年前

自己改回去不就行了,,,一个命名空间的事,,,

4年前 评论
mouyong

file

这种写法能自动跳转?不用自己一个一个找文件,能迅速定位处理问题。

4年前 评论
Nymph (楼主) 4年前
自由与温暖是遥不可及的梦想

我觉得 现在路由这样子挺好的

4年前 评论
sanders

我感觉这样更好,自由度更高,可以 use 不同命名空间的控制器方法进来,而不用在声明路由的时候逐个写进来。

主要是我用 IDE 里面自动添加 use 的功能太爽了,换做普通编辑器可能会感觉不好。

4年前 评论

本质上,路由的第二个参数是一个 callable 函数,laravel8 之前的版本是对第二个参数做了一些特殊处理,判断参数类型,如果是字符串则尝试根据 @ 切割并解析,新的这个写法才是真正的函数调用

4年前 评论

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