【发布时间】:2017-12-27 03:48:18
【问题描述】:
我有文件夹 app/Controllers/HomeController.php,在我的作曲家自动加载器中我这样写:
"autoload": {
"psr-4": {
"App\\": "app/",
}
},
但是当我尝试像这样从 public/index.php 访问我的文件时:
require __DIR__ . '/../vendor/autoload.php';
$home = new \App\Controllers\HomeController;
我遇到了这样的错误:
Fatal error: Uncaught Error: Class 'HomeController' not found in E:\laragon\www\slim\public\index.php:14 Stack trace: #0 {main} thrown in E:\laragon\www\slim\public\index.php on line 14
所以我在这里做错了吗?有关我的 HomeController 中的更多信息,我使用这样的命名空间:
namespace App\Controllers;
【问题讨论】:
-
你在实际控制器中有正确的命名空间和类名吗?另外,为什么
App在autoload-dev之下,而不仅仅是autoload? -
是的,在我的 HomeController 中,我将命名空间 App\Controllers;是的,我打算将其移至自动加载。它只是暂时的。
标签: php namespaces autoloader