Изучаю структуру Yii2, чтоб по аналогии себе движок сделать на чистом PHP (в первую очередь в учебных целях ну и м.б. использовать буду). Так вот, вопрос ... Я правильно понял, что Yii2 на каждой странице подключает ВСЕ существующие файлы с классами (как с коробки, так и пользовательские), что и позволяет зная namespace подключить через use в своем классе любой из них? Не лучше ли проектировать движок так, чтоб в каждой классе ты через require подключал только те PHP-файлы, которые тебе надо? Не слишком ли загружает сервак структура как в Yii2?
Нет, lazy load, классы подгружаться по мере обращения к ним, autoload авто подгруздка классов, этим там composer занимается ещё, можешь его тоже у себя в проекте задействовать. Ты лучше просто читай код Yii2, смотри как там всё происходит. Файл vendor/composer/autoload.php и дальше капай. Там уже и про psr4 и namespace почитай. Но смысл всего этого, что когда идёт обращение к классу и он ещё не загружен, то через функцию spl_autoload_class можно указать какую функцию запустить, а там уже зная имя класса его подгрузить, через namespace указать место частично где это находиться.