我需要有关composer autoloader的帮助。在我看来,我已经正确设置了所有内容,但我仍然遇到错误“找不到课程”。
所以也许这里有人能够帮助我。 查看下面的屏幕截图,了解我构建项目的方式以及我为Test类自动加载命名空间的方式。
问题是为什么我有错误,找不到课程?
答案 0 :(得分:2)
您的 composer.json 文件中的autoload
数组错误。如果您的根命名空间是app
,那么它应该如下所示:
{
"autoload": {
"psr-0": {
"app": "/"
}
}
}
然后,您可以在app
命名空间中使用您的类,如下所示:
<?php
require('../vendor/autoload.php');
$test = new \app\controller\Test();
但是,我会像你的PSR方式那样使用你的命名空间。所以在我的例子中,我有一个像这样的目录结构:
我的 composer.json 文件如下所示:
{
"autoload": {
"psr-0": {
"MCB": "src/"
}
}
}
然后我可以像这样使用我的课程:
<?php
require('../vendor/autoload.php');
$controller = new \MCB\Controller\PagesController();