Автозагрузка композитора не находит класс

H, мой композитор json файл автозагрузки с psr-4 классом, но когда вызывается этот класс, php возвращает ошибку: Error: Class 'ClassA\Tae' not found

Здесь автозагрузка json

"autoload": {
    "psr-4": {
        "ClassA\\": "includes/ClassA/",
        "": "includes/"
    }
}

и мой класс php, которому требуется ClassA, это

require_once __DIR__ .'/../vendor/autoload.php';
use ClassA\{ Rate, Tae, Taeg };

   class TestTaeg extends \PHPUnit\Framework\TestCase {

  public function test_tae() {
        $obj = Tae::init( 5, 12 );
}

Вы знаете, почему я не могу найти ClassA?

Я запускаю код с помощью phpunit на cli, с этим синтаксисом (это первый раз, когда я использую phpunit)

../vendor/phpunit/phpunit/phpunit ./test-general.php

Спасибо

Вы запускали composer dump-autoload?

axiac 23.04.2018 10:32

Да, пробовал composer dump-autoload, но ничего не изменилось

Daniele 23.04.2018 11:31
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
572
1

Ответы 1

Правильно ли вы размещаете классы в именах? Честно говоря, ваша автозагрузка psr-4 выглядит немного запутанной, я предполагаю, что вы автоматически загружаете все, даже если они вам не нужны.

Поэтому, если вы предоставите снимок экрана со структурой папок, я могу попытаться воссоздать вашу проблему и, возможно, предложить решение.

Спасибо, NH, вот мое дерево папок: | тесты - bootstrap.php - test.php | поставщик - autoload.php - bin - composer - doctrine - myclabs - phar-io - phpdocumentor - phpspec - phpunit - sebastian - theseer - webmozart

Daniele 23.04.2018 11:35

Я не вижу папки "includes" в вашем дереве, которую вы упомянули при автозагрузке композитора. Пожалуйста, проверьте это, а также было бы неплохо получить ФАКТИЧЕСКОЕ древовидное представление структуры ваших папок.

NH Evan 24.04.2018 10:41

Да, ты прав. Я добавил эту папку вчера, но ничего не изменилось. Итак, теперь у меня есть это дерево (корень) | тесты | продавец | включает - ClassA ---- Tae (это имя класса, который я вызываю в моем файле test.php use ClassA \ {Tae};)

Daniele 24.04.2018 11:05

Другие вопросы по теме