Laravel v10 — це наступна основна версія Laravel, випуск якої запланований на 7 лютого 2023 року. У цій публікації ми хотіли описати всі нові функції та зміни, про які нам відомо.
Ми рекомендуємо вам переглянути цю публікацію в найближчі тижні, оскільки ми продовжуватимемо стежити за новинами Laravel 10 і оновлюватимемо цю публікацію до випуску в лютому.
Дата випуску Laravel 10
Раніше Laravel 9, основні версії фреймворку випускалися двічі на рік або приблизно кожні шість місяців. Починаючи з Laravel 9, основна команда перейшла до річного графіку, поставивши Laravel 9 у лютому 2022 року (замість початково запланованого вересня 2021 року):
Laravel використовує різноманітні пакети, керовані спільнотою, а також дев’ять компонентів Symfony для ряду функцій усередині фреймворку. Symfony 6.0 має вийти в листопаді. З цієї причини ми вирішили відкласти випуск Laravel 9.0 до 2022 року.
Відкладаючи випуск, ми можемо оновити базові компоненти Symfony до Symfony 6.0, не чекаючи до вересня 2022 року, щоб виконати це оновлення. Крім того, це краще позиціонує нас для майбутніх випусків, оскільки наші щорічні випуски завжди відбуватимуться через два місяці після випусків Symfony.
Цей розклад у майбутньому є одним великим випуском на рік:
- Laravel 9: 8 лютого 2022 р
- Laravel 10: 7 лютого 2023 р
- Laravel 11: 6 лютого 2024 р
Laravel 9 продовжуватиме виправляти помилки до 8 серпня 2023 р і виправлення безпеки до 6 лютого 2024 р.
Ви можете очікувати виправлення помилок Laravel 10 до 6 серпня 2024 р і виправлення безпеки до 4 лютого 2025 р.
Конкурс «Полювання на жуків».
Laravel 10 містить абсолютно новий Конкурс «Полювання на жуків». триває до офіційної дати випуску.
Laravel 10 припиняє підтримку PHP 8.0
Фреймворк Laravel припинить підтримку PHP <=v8.0
у Laravel 10. Мінімально необхідною версією є PHP ^8.1
. Переглядаючи порівняння між master і 9.x, ми можемо очікувати побачити 8.1 особливості використовуються у рамках, наприклад, властивості лише для читання.
Оголошення рідного типу в скелеті Laravel 10
У Laravel 10 Скелетний код програми матиме оголошення рідного типу. Це означає, що будь-який код в області користувача, згенерований фреймворком, матиме підказки типів і типи повернення. У нашій статті обговорюються застереження щодо підходу, і ми думаємо, що вам сподобаються додані типи під час створення нових проектів у майбутньому.
Типи додаються таким чином, щоб у проекти Laravel були включені новітні функції підказки типів PHP без порушення зворотної сумісності на рівні фреймворку:
- Типи повернення
- Аргументи методу
- Зайві анотації видаляються, де це можливо
- Дозволити типи землі користувача в аргументах закриття
- Не включає введені властивості
Правила перевірки, які можна викликати, є типовими
Починаючи з Laravel 10, викликані правила перевірки тепер є типовими. Коли ви створюєте нове правило перевірки через artisan, ви можете очікувати ось що:
# Laravel 9 creates a rule class that implements the
# Illuminate\Contracts\Validation\Rule interface
artisan make:rule Uppercase
# Laravel 9 flag to create an invokable and implicit rule
artisan make:rule Uppercase --invokable
artisan make:rule Uppercase --invokable --implicit
# Laravel 10 creates an invokable rule by default
artisan make:rule Uppercase
# Laravel 10 implicit rule
artisan make:rule Uppercase --implicit
Відмова від Laravel 9
Methods marked at deprecated in Laravel 9 are being removed in Laravel 10. We can expect the release upgrade guide to outlining all the deprecated методs, potential impact assessment, and how to upgrade closer to the release.
Ось деякі відхилення, знайдені в порівняння фреймворку Laravel master
гілка до ст 9.x
відділення на момент написання:
- Видаліть різні застарілі Запит на отримання #41136
- Видалити застаріле dates власність in Запит на отримання #42587
- видалити
handleDeprecation
метод в Запит на отримання #42590 - Видалити застаріле
assertTimesSent
метод Запит на отримання #42592 - Видалити застаріле
ScheduleListCommand
's$defaultName
property 419471e - Видалити застаріле
Маршрут :: додому
method Запит на отримання #42614 - Remove deprecated
dispatchNow
функціональність Запит на отримання #42591
Тестування Laravel 10
Якщо ви хочете розпочати тестування Laravel 10 зараз, ви можете встановити його в новому проекті за допомогою --dev
прапор:
laravel new <your-project-name> --dev
Оновлення до Laravel 10
Як тільки Laravel 10 стане офіційним, обов’язково перевірте Laravel Shift для простого й автоматизованого способу підтримувати свою програму в актуальному стані.
І більше...
До випуску Laravel 10 ще кілька місяців, і буде з’являтися більше нових функцій і оголошень. Ми будемо оновлювати цю публікацію, коли вони будуть оголошені. Ви також можете перевірити офіційна сторінка випуску шукати оновлену інформацію, щойно вона стане доступною.