Да, еще один вопрос об ошибке «класс не найден». Либо я что-то упустил, либо я неправильно понял логику PSR-4.
Структура директории библиотеки моего композитора:
"Scanner" => "src" => "Test.php"
test.php
namespace MyNS;
class Test
{
}
composer.json
"autoload": {
"psr-4": {
"MyNS\\": "src/"
},
}
Итак, теперь я загружаю библиотеку в своем проекте с помощью composer и пытаюсь использовать ее.
require_once("../vendor/autoload.php");
$test = new MyNS\Test();
Что всегда приводит к
«Неустранимая ошибка: необученная ошибка: класс« MyNS \ Test »не найден».
. Чего мне не хватает? Я смотрю на это уже несколько дней. Я изменил папки, я изменил имена папок, я изменил uppper на более низкий и наоборот. Кажется, ничего не работает.
Я использую PHP 7.2.2 и Composer версии 1.2.2
Даже пробовал это:
require_once("../vendor/autoload.php");
use MyNS\Test;
$scanner = new Test();
Обновление
Я отлаживаю метод файла 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/"
}
}
}