Задать вопрос
@frontendo

Как происходит загрузка классов в php фреймворках?

Уважаемые знатоки, подскажите новичку. Я начал осваивать laravel, смотрю, в нем 7000 файлов. Хочу разобраться в принципах работы. Вот когда приходит запрос, происходит регистрация различных классов, потом запускается собственно наш код, в котором используются добрая половина функционала фрейма. И вот у меня возникает такой вопрос. Получается, при каждом запросе пользователя скрипт обращается к диску в моем случае за 3000 файлами каких-либо классов?
  • Вопрос задан
  • 225 просмотров
Подписаться 1 Оценить Комментировать
Решение пользователя Дмитрий Евграфович К ответам на вопрос (3)
Не все. Сейчас ради интереса глянул проект, который делаю - он подключает 466 файлов, начиная с Index.php. Пoсле запуска artisan optimize количество файлов уменьшилось почти вдвое (laravel-recipes.com/recipes/60/optimizing-the-fram... - почитайте тут. Плюс в документации посмотрите про кеширование роутов и конфиг файлов через artisan).

Плюс если вы не используете какую-то модель или контроллер для генерации текущей страницы, они также не будут подключены. По сервис-провайдерам боюсь соврать, но возможно они тоже не подключаются, до момента непосредственного вызова, если они отложенные (https://laravel.com/docs/5.1/providers#deferred-pr...

А вообще вопрос с файлами решается наверное на всех хостингах использованием кешеров (https://ru.wikipedia.org/wiki/%D0%90%D0%BA%D1%81%D..., файлы не просто грузятся в память, а еще и компилируются для ускорения запуска.
Ответ написан
Комментировать