我刚刚开始使用composer进行依赖管理,我很难弄清楚我是如何不遵守psr-4进行自动加载的,所以我在这里寻求建议 . 我有一个类可以生成已经在包装上的随机值 . 项目结构如下(我标记了composer.json文件A和B):
项目目录
|classfile.php
A |composer.json
|vendor
|autoload.php
|ejfrancis
|php-random-value
B |composer.json
|RandomValue.php
composer.json A.
{
"require": {
"ejfrancis/php-random-value": "dev-master"
}
}
composer.json B.
{
"name": "ejfrancis/php-random-value",
"description": "Secure random value generator.",
"require": {
"php": ">=5.3.0"
},
"license": "MIT",
"autoload": {
"psr-4": {
"ejfrancis\\" : ""
}
}
}
最后是RandomValue.php文件,它声明了ejfrancis命名空间
namespace ejfrancis;
class RandomValue{
//foo
}
当我运行应用程序时出现错误'class RandomValue not found',所以's not autoloading correctly. Am I not complying to psr-4, or is there something else I'我做错了吗?我也尝试使用像 "classmap" : ["RandomValue.php"] 这样的作曲家类图进行自动加载,但没有成功 . 谢谢您的帮助
更新:我在composer.json B文件上运行'composer validate',它绝对有效