我尝试使用composer自动加载我的自定义pdo类。运行以下命令以更新自动加载:
compser update
composer install
两者似乎都起作用,没有错误提示。 但是,
vendor/composer/autoload_namespaces.php
不列出添加到composer.js的自定义名称空间。
文件结构
-Root
->classes
->pdo
->class.php
->vendor
->various extensions loaded with composer
index.php
PHP类
namespace Classes\Pdo;
Class DB {
//Do some stuff...
}
Composer.js
"autoload": {
"psr-4": {
"Classes\\Pdo\\": "classes/pdo"
}
}
Index.php
$pdo = new \Classes\Pdo\DB(); //Fatal error: Class 'Classes\Pdo\DB' not found
老问题,但我自己遇到了这个问题。
对于将来的Google员工,在我看来,这个问题是该类文件的名称与该类名称不完全匹配。
查看此帖子:Why does 'composer dumpautoload -o' fix 'Class not found' PHP error?