PHP. Автозагрузка файлов
я студент, делаю практическую работу по PHP. Препод сказал изменить автозагрузку. Я не пойму, что он хочет от меня. Два раза переспрашивал. Сейчас боюсь опять спросить скажет тупой.
Ответы препода:
- Нужен автолоадер для классов. По сути у вас require_once имеет право использоваться только в index.php и autoloader.php. Причем в index.php для того, чтобы подключить autoloader.php
Мой уточняющий вопрос
- У меня в проекте подключен composer, где настроена автозагрузка классов из папки app (где вся логика находится). Мне нужно сделать поверх этой автозагрузки свою логику? Или отчистить composer и сделать свою автозагрузку?
Ответ препода:
- У вас получается сейчас реализовано так, что автолоадером подключаются не все файлы и это как-то не очень выглядит. Это просто непонятно зачем так сделано. Должны подключаться все.
Структура проекта, директории
- app (Controllers, DB, Router, Services)
- config (разные конфиг файлы)
- public (index.php)
- routes (routes.php)
- views
Файл Composer
{ "name": "storage/app", "description": "graduate_work", "autoload": { "psr-4": { "app\\": "app/", } }, "authors": [ { "name": "" } ], "require": { "phpmailer/phpmailer": "^6.8" }, "require-dev": { "friendsofphp/php-cs-fixer": "^3.19", "phpstan/phpstan": "^1.3", "rector/rector": "^0.17.2" } }
Я понимаю, что выглядит глупо, но можете помочь мне, простыми словами объяснить, что не так. У меня все работает, подгружается куда нужно.
Источник: Stack Overflow на русском