【发布时间】:2019-07-24 08:44:32
【问题描述】:
我无法看到我在使用自动加载器时做错了什么。我的文件夹结构如下:
| - src/
| - Files/
| - Bla.php
| - Models/
| - ...
| - vendor/
| - ...
| composer.json
而composer.json 自动加载部分看起来像这样:
"autoload": {
"psr-4": {
"Migrations\\" : "src/"
}
}
现在Bla.php 看起来像这样:
<?php
namespace Migrations\Files;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
final class Bla extends AbstractMigration
{
...
}
我得到了错误:
Fatal error: Class 'Doctrine\Migrations\AbstractMigration' not found in /var/www/html/migrations/src/Files/Bla.php
当我查看vendor 文件夹时,包就在那里。在我的 IDE 中,索引也可以正常工作,因此我可以 CMD+单击AbstractMigration 文件而不会出现问题。
我已尝试删除 vendor 文件夹,清除 composer 缓存,执行转储自动加载并重新安装所有软件包,但似乎没有任何效果。
我在哪里犯错了?
【问题讨论】:
-
您是否在使用 Composer 并包含 Composer 自动加载文件?
-
我应该在哪里做呢?我不记得以前在项目中这样做过?不过,我正在使用一些作曲家存根代码......
标签: php composer-php autoload