Как работает автозагрузка PSR-4 в composer для пользовательских библиотек?
Я использую следующую структуру каталогов, основанную на моем понимании того, как работают пространства имен в PHP:
project_root
app/
| lib/
| | MyCompany/
| | | Utility/
| | | | Logger.php
| | | Core/
| | | | User.php
vendor/
composer/
symfony/
guzzle/
bootstrap.php
composer.json
Согласно спецификации PSR-4, полное имя класса имеет следующую форму:
\<NamespaceName>(\<SubNamespaceNames>)*\<ClassName>
Вопрос 1:
Из моей структуры каталогов выше, верно ли предположение ниже?
NamespaceName = MyCompanySubNamespaceNames = Utility | ядроClassName = Logger | пользовательВопрос 2:
Если мой файл bootstrap.php содержит следующее:
<?php
require 'vendor/autoload.php';
Как бы янастроить автозагрузку раздел composer.json для автозагрузки классов в каталоге MyCompany? Так что я смогу создать экземпляр Logger в bootstrap.php