php - 如何不在 Laravel 路由中使用完整的控制器路径
问题描述
在 Laravel 网络路由中,我使用控制器的完整路径,如下所示:
'App\Http\Controllers\frontend\EmailController@index'
这有点冗长和多余。我怎样才能使用这样的路径:
'EmailController@index'
解决方案
这不再是在 Laravel 中声明路由的方式。你应该在现代版本中做这样的事情:
<?php
use App\Http\Controllers\frontend\EmailController;
Route::get("/email", [EmailController::class, "index"]);
IIRC,对于旧版本,App\Http\Controllers
始终假定(或设置为路由服务提供者中的属性),您可以使用"frontend\EmailController@index"
,或将其包装在路由组中以删除“前端”前缀:
<?php
Route::namespace("frontend")->group(function () {
Route::get("/email", "EmailController@index");
});
推荐阅读
- android - 如何使用 RecyclerView 在 ListView 中更改播放/暂停音频图标?
- postgresql - 在 plpgsql 中包含 IF.. ELSE 条件并生成动态查询
- r - 计算分组百分比
- gmail - 是否可以在 gmail add on 应用程序中添加搜索功能?
- java - 为什么 `test2()` 方法编译成功,但 `test1()` 没有?
- automation - 从 uipath 中的 salesforce 查询
- r - 简化 for 循环
- spring-boot - Spring Cloud Stream - 集成测试,订阅者不监听事件
- git - 如何 git 撤消合并文件
- c# - 程序在没有任何东西的情况下关闭 C#