【发布时间】:2022-01-21 12:57:17
【问题描述】:
所以我被要求在 Laravel (5.4) 中创建一个新项目。该项目需要加载一个“平台”,该平台也是在 Laravel 5.4 中构建的,并且包含已经编写好的控制器和模型。
我目前正在 composer 中自动加载平台:
"psr-4": {
"App\\": "app/",
"Frontend\\": "app/Modules/Frontend/",
"Admin\\": "app/Modules/Admin/",
"Platform\\": "../platform/Modules/"
}
我有一个路由文件,其中包含以下内容:
Route::get('/', 'HomeController@index')->name('home');
然后在我的 HomeController 中,我尝试加载平台的 HomeController。
use Platform\Modules\Frontend\Controllers\HomeController as HC;
然后我会看到错误
找不到类“Platform\Modules\Frontend\Controllers\HomeController”
这完全有可能吗,明智的做法吗?我愿意接受任何形式的建议。
【问题讨论】:
-
我猜应该是
Platform\Frontend\Controllers\HomeController,因为您已经提到它是“../platform/Modules/”,其中包含模块 -
平台项目的 HomeController 文件中的命名空间是什么?
-
@parse 该文件中的命名空间是:
App\Modules\Frontend\Controllers; -
关于它是否明智,这取决于,如果它是一个小项目,那没关系,但如果它是一个涉及更多开发人员的大型项目,那么我不会建议这种方法。
-
这是一个小项目,它主要是对现有平台所做的事情的重新设计。不想保持相同的路由以防止重复的 seo 内容问题。