fub*_*bbe 6 php namespaces autoload composer-php
我尝试使用 Composer 自动加载我的自定义 pdo 类。运行以下命令来更新自动加载:
compser update
composer install
Run Code Online (Sandbox Code Playgroud)
两者似乎都有效,没有提示错误。但是,
vendor/composer/autoload_namespaces.php
Run Code Online (Sandbox Code Playgroud)
不列出添加到 composer.js 的自定义命名空间。
文件结构
-Root
->classes
->pdo
->class.php
->vendor
->various extensions loaded with composer
index.php
Run Code Online (Sandbox Code Playgroud)
PHP类
namespace Classes\Pdo;
Class DB {
//Do some stuff...
}
Run Code Online (Sandbox Code Playgroud)
作曲家.js
"autoload": {
"psr-4": {
"Classes\\Pdo\\": "classes/pdo"
}
}
Run Code Online (Sandbox Code Playgroud)
索引.php
$pdo = new \Classes\Pdo\DB(); //Fatal error: Class 'Classes\Pdo\DB' not found
Run Code Online (Sandbox Code Playgroud)
老问题,但我自己也遇到过这个问题。
对于未来的 Google 员工,就我而言,问题是类文件的名称与类名称不完全匹配。
请参阅这篇文章:为什么“composer dumpautoload -o”修复“找不到类”PHP 错误?
| 归档时间: |
|
| 查看次数: |
2466 次 |
| 最近记录: |