【发布时间】:2021-06-17 03:52:22
【问题描述】:
在 Laravel 网络路由中,我使用控制器的完整路径,如下所示:
'App\Http\Controllers\frontend\EmailController@index'
这有点冗长和多余。我怎样才能使用这样的路径:
'EmailController@index'
【问题讨论】:
标签: php laravel laravel-routing
在 Laravel 网络路由中,我使用控制器的完整路径,如下所示:
'App\Http\Controllers\frontend\EmailController@index'
这有点冗长和多余。我怎样才能使用这样的路径:
'EmailController@index'
【问题讨论】:
标签: php laravel laravel-routing
这不再是 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");
});
【讨论】: