如何在 Laravel 路由中不使用完整的控制器路径
How to NOT use full controller path in Laravel routes
在 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");
});
在 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");
});