我有 Composer 工作,我想使用它的自动加载器来加载我的类,但它不工作。这是我的目录结构。我保持它非常简单开始。
index.php
composer.json
Vendor
controllers/webgl.php
在 webgl.php 里面我有:
namespace controllers;
class webgl {
public function lesson1() {
}
}
在 index.php 我有:
require('vendor/autoload.php');
//require_once('controllers/webgl.php');
$webglController = new \controllers\webgl;
我的 composer.json 为自动加载定义了这个:
"autoload": {
"psr-4": {
"controllers\\": "controllers/"
}
}
如果我取消注释第二个要求,则脚本可以工作,否则我会收到“致命错误:第 5 行的 /vagrant/index.php 中找不到类 'controllers\webgl'”。
我以为文件夹结构、类命名空间和类名都符合psr-4。但我一定是误会了什么。我已经阅读了大量类似的问题,但没有一个能够为我排序。
谁能告诉我为什么我的课程没有加载以及我应该做些什么来解决它?