Как работает автозагрузка 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

Ответы на вопрос(1)

Ваш ответ на вопрос