Как обновить Laravel до 12 версии: Подробное руководство

автор Данила Справцев, Senior Web Developer

laravel 12 upgrade cover

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

Если приложение работает без ошибок, обновление можно считать успешным.

Последние статьи

Время от времени опыт трансформируется в текст и приобретает свое место на полке.

Время принимать решение - Готовы обсудить проект?