
Laravel 12 привносит ряд улучшений и изменений, которые делают фреймворк еще более мощным и удобным. Однако процесс обновления может вызвать трудности, особенно если проект имеет сложную архитектуру или использует устаревшие зависимости. В этом руководстве разберем пошаговый процесс обновления до 12 версии.
1. Проверь текущую версию Laravel
Перед началом обновления убедись, что проект использует версию Laravel 11. Для этого выполни команду:
php artisan --version
Если у тебя Laravel 10 или ниже, сначала обнови его до Laravel 11, следуя соответствующему руководству.
2. Обнови зависимости
В файле composer.json
найди секцию require
и обнови версию laravel/framework
:
"require": {
"laravel/framework": "^12.0",
"php": "^8.2"
}
Затем запусти команду:
composer update
Это обновит Laravel и его зависимости. Если возникнут ошибки, обрати внимание на несовместимые пакеты.
3. Проверь требования к PHP
Laravel 12 требует PHP 8.2 или выше. Убедись, что твой сервер или локальное окружение соответствует этим требованиям:
php -v
Если у тебя более старая версия PHP, обнови ее перед продолжением.
4. Обнови зависимости Laravel
Laravel 12 отказался от некоторых устаревших пакетов и добавил новые. Запусти команду:
composer update --with-dependencies
Если ты используешь сторонние пакеты, проверь их совместимость с Laravel 12. Можно использовать команду:
composer outdated
Если пакеты не поддерживают новую версию Laravel, дождись их обновления или найди альтернативы.
5. Внеси изменения в код
Некоторые методы и классы были изменены или удалены. Внимательно изучи список изменений и исправь код, если это необходимо.
Ключевые изменения:
Поддержка PHP 8.2: Теперь Laravel требует минимум PHP 8.2, что дает доступ к новым возможностям языка.
Изменения в событиях: Некоторые события были удалены или изменены, например,
dispatchNow()
заменен наdispatchSync()
.Обновленный Blade: Улучшена работа с динамическими компонентами.
Если в коде использовались устаревшие методы, они могут вызвать ошибки после обновления.
6. Очисти кеш и перегенерируй файлы
После обновления необходимо очистить кеши конфигурации и маршрутов:
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear
Также рекомендуется обновить автозагрузку:
composer dump-autoload
7. Проверь работу проекта
Запусти локальный сервер и протестируй основные функции приложения:
php artisan serve
Также можно запустить тесты:
php artisan test
Если приложение работает без ошибок, обновление можно считать успешным.