是的,另一个关于“找不到类”错误的问题。要么是我遗漏了什么,要么是我误解了 PSR-4 逻辑。
我的作曲家库目录结构:
“扫描仪”=>“src”=>“Test.php”
Test.php
namespace MyNS;
class Test
{
}
作曲家.json
"autoload": {
"psr-4": {
"MyNS\\": "src/"
},
}
因此,现在我使用 Composer 将库加载到我的项目中并尝试使用它。
require_once("../vendor/autoload.php");
$test = new MyNS\Test();
这总是导致
“致命错误:未捕获错误:未找到类‘MyNS\Test’。”
。我缺少什么?我已经盯着这个看了好几天了。我更改了文件夹,更改了文件夹名称,将上层更改为下层,反之亦然。似乎什么都不起作用。
我正在使用 PHP 7.2.2 和 Composer 版本 1.2.2
甚至尝试过这个:
require_once("../vendor/autoload.php");
use MyNS\Test;
$scanner = new Test();
Update
我调试了 Composer ClassLoader.php 文件 (findFileWithExtension($class, $ext)) 方法,显然我的文件从未加载,因为我得到了 echo“Done”和 die();在此方法的末尾,这意味着找不到该文件,因此未加载该文件。我的composer.json 有什么问题吗?
{
"name": "test/test",
"type": "library",
"description": "",
"keywords": ["php"],
"homepage": "",
"license": "MIT",
"authors": [
{
"name": "",
"email": "",
"homepage": "",
"role": ""
}
],
"require": {
"php": ">=7.2.2"
},
"autoload": {
"psr-4": {
"MyNS\\": "src/"
}
}
}