Из сообщения автозагрузчика ваша проблема вполне понятна, ваш файл действительно находится там, где и должен быть, но ваш класс или пространство имен неверны.
Я думаю, вы изменили структуру файла, но не адаптировали ваше пространство имен.
Учитывая файл src\Controller\Admin\AdminUnitController.php
Ваш класс должен выглядеть следующим образом (обратите особое внимание на пространство имен):
<?php
namespace App\Controller\Admin;
class AdminUnitController
{
// some code here
}
Тона самом деле это не поведение Symfony, с которым вы сталкиваетесь здесь, а то, что композитор работает с Symfony с автозагрузчиком и использует соглашение о загрузке классов PSR-4.
Для справки
1) см. composer.json
, в котором есть эти строки:
{
// some definitions here
"autoload": {
"psr-4": {
"App\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"App\\Tests\\": "tests/"
}
},
// some more definitions here
}
2) см. Соглашение об именах PSR-4: и особенно примеры в их документации: https://www.php -fig.орг / PSR / PSR-4 / # 3 примеры