Кэширование
конфигурации Конфигурация laravel распространяется на десятки файлов, и including
каждый из них для каждого запроса - дорогостоящий процесс. Чтобы объединить все ваши файлы конфигурации в один, используйте:
php artisan config:cache
Имейте в виду, что любые изменения в конфигурации не будут иметь никакого эффекта после кеширования. Чтобы обновить кеш конфигурации, снова запустите указанную выше команду. Если вы хотите полностью избавиться от кеша конфигурации, запустите
php artisan config:clear
Кэширование маршрутов В laravel
маршрутизация - тоже дорогостоящая задача. Чтобы кэшировать файл routes.php, выполните следующую команду:
php artisan route:cache
Имейте в виду, что это не работает с замыканиями. Если вы используете замыкания, это отличный шанс переместить их в контроллер, поскольку команда artisan выдаст исключение при попытке скомпилировать маршруты, которые привязаны к замыканиям, вместо правильных методов контроллера. Как и в кеше конфигурации, любые изменения в routes.php больше не будут иметь никакого эффекта. Чтобы обновить кеш, запускайте указанную выше команду каждый раз, когда вы вносите изменения в файл маршрутов. Чтобы полностью избавиться от кеша маршрута, выполните следующую команду:
php artisan route:clear
Оптимизация карты классов
Не редкость, когда проект среднего размера размещается в сотнях файлов PHP. Как диктует нам хорошее кодирование, у всего есть свой файл. Это, конечно, не лишено недостатков. Laravel должен включать десятки разных файлов для каждого запроса, что требует больших затрат.
Следовательно, хороший метод оптимизации состоит в том, чтобы объявлять, какие файлы используются для каждого запроса (это, например, все ваши поставщики услуг, промежуточное программное обеспечение и некоторые другие), и объединять их только в один файл, который впоследствии будет загружаться для каждого запроса. Это не отличается от объединения всех ваших файлов javascript в один, поэтому браузеру придется делать меньше запросов к серверу.
Дополнительные файлы компиляции (опять же: поставщики услуг, промежуточное ПО и т. Д.) Должны быть объявлены вами в config / compile.php в ключе files. После того, как вы поместите туда все необходимое для каждого запроса к вашему приложению, объедините их в один файл с помощью:
php artisan optimize --force
Оптимизация автозагрузки композитора
Это не только для laravel, но и для любого приложения, использующего composer.
Сначала я объясню, как работает автозагрузка PSR-4, а затем покажу вам, какую команду следует выполнить для ее оптимизации. Если вам не интересно знать, как работает композитор, я рекомендую вам перейти непосредственно к консольной команде.
Когда вы спрашиваете композитора о App\Controllers\AuthController
классе, он сначала ищет прямую связь в карте классов. Карта классов - это массив с однозначными ассоциациями классов и файлов. Поскольку, конечно же, вы не добавляли вручную класс Login и связанный с ним файл в карту классов, композитор перейдет к поиску в пространствах имен. Поскольку App является пространством имен PSR-4, которое по умолчанию поставляется с Laravel и связано с app/
папкой, композитор попытается преобразовать имя класса PSR-4 в имя файла с помощью основных процедур обработки строк. В конце концов, он догадывается, что он App\Controllers\AuthController
должен находиться в файле AuthController.php, который находится в Controllers/
папке, которая, к счастью, должна находиться в папке пространства имен, то естьapp/
.
Вся эта тяжелая работа только для того, чтобы убедиться, что App\Controllers\AuthController
класс существует в app/Controllers/AuthController.php
файле. Чтобы композитор сканировал все ваше приложение и создавал прямые однозначные ассоциации классов и файлов, выполните следующую команду:
composer dumpautoload -o
Имейте в виду, что если вы уже запускали php artisan optimize --force, вам больше не нужно запускать этот. Поскольку команда optimize уже сообщает композитору о необходимости создания оптимизированной автозагрузки.