Whats the frequency of the letter i in:
Q: Можно ли задать другую папку и другой namespace для контроллеров? У меня контроллеры должны распологаться так
root
|
-- src
|  |
|  -- presentation
|     |
|     --- controllers
|         |
|         -- public
|              SiteController.php
|         -- directory
|              SomeController.php
|
-- migrations
-- vendor
-- ...

Как можно сделать так, чтобы в контроллерах и вообще в классах папки src использовать неймспейс например presentation/controllers/public/presentation/controllers/directory  без указания src  и app в пути И при этом чтобы приложение знало, что они именно в src?
Если в конфиге прописать controllerNamespace => app\src\presentation\controllers,  а в контроллерах namespace app\src\presentation\controllers\public;  всё работает. Но мне не нравится это app\src и src.
Если добавлять controllerPath => app\src\presentation\controllers, - то это не работает. Я вообще не знаю зачем оно нужно, потому что оно, как я понял, давно readOnly.

A: Скорее всего это можно сделать через назначение autoload в composer (https://getcomposer.org/doc/04-schema.md#autoload)
Получится примерно так:
{
    autoload: {
        psr-4: {
            app\\presentation\\controllers\\: /src,
        }
    }
}

Тогда можно использовать namespace  app\presentation\controllers
А можно в конфиге дописать basePath:
basePath => dirname(__DIR__) . /src,

и оставить controllerNamespace => app\presentation\controllers,
и тоже будет необходимый namespace  app\presentation\controllers

user
The given text has twenty "i"s.
assistant