Ошибка Cannot declare class в Symfony 4 при создании своей bundle

227
20 июля 2021, 08:20

Пытаюсь создать свой bundle для многократного использования. Совершенно непредсказуемым образом вылетает ошибка:

Compile Error: Cannot declare class App\ICatcher\Builder\ControlPanel, because the name is already in use (1/1) FatalErrorException Compile Error: Cannot declare class App\ICatcher\Builder\ControlPanel, because the name is already in use in ControlPanel.php line 23

Причем если закомментить весь класс, обновить страницу, потом снова его раскомментить - ошибка пропадает и класс начинает работать, но ошибка появляется снова при запуске Сomposer update.

Файлы

ControlPanel.php:

namespace App\ICatcher\Builder;
use Symfony\Component\HttpFoundation\Response;
class ControlPanel extends Response {    
    public function index(){
        return new Response(
            '<html><body>TEST! BUNDLE!!</body></html>'
        );
    }    
}

Основной файл bundle:

namespace App\ICatcher\Builder;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class Builder extends Bundle
{
}

Composer:

"autoload": {
        "psr-4": {
            "App\\": "src/",
            "App\\ICatcher\\Builder\\":"src/ICatcher/Builder/"
        }
    },

bundles.php:

return [
    [...]  
    App\ICatcher\Builder\Builder::class => ['dev' => true,'test' => true],
];
Answer 1

Кажется у вас лишняя запись в autoload "App\\ICatcher\\Builder\\":"src/ICatcher/Builder/" по идее по правилам наименования ваш класс и так будет доступен, а при composer update происходит дамп autoload.php в папке vendor где, скорее всего , и происходит попытка два раза объявить один и тот же класс.

READ ALSO
Подгрузка товаров при клике, woocommerce

Подгрузка товаров при клике, woocommerce

На странице магазина /shop выводится список всех товаровКак сделать, чтобы выводилось сначала определённое количество товаров, допустим 4, и ниже...

197
Сортировка в GridView по динамическому полю

Сортировка в GridView по динамическому полю

Теперь модель имеет не 3 свойства a 4

165
Java JPA: NULL в столбце @JoinColumn

Java JPA: NULL в столбце @JoinColumn

У меня есть две JPA-сущности, связанные один-к-одному:

232
Перечисления в книге (пример)

Перечисления в книге (пример)

Не очень понял, как так можно писать?

262