Что нового в Laravel 10: взгляд на новые и предстоящие функции
9 марта 2023 г.Сегодня в этом посте мы хотели рассказать об изменениях и функциях, которые вы можете ожидать в обновлении Lavarel 10. Laravel v10 — это следующая основная версия Laravel после Laravel v9 и Laravel v8, выпуск которой запланирован на февраль 2023 года.
Дата выпуска Laravel 10
До Laravel 9 основные версии фреймворка выпускались два раза в год или примерно каждые шесть месяцев. Начиная с Laravel 9, основная команда перешла к годовому графику, выпустив Laravel 9 в феврале 2022 года (вместо изначально запланированного сентября 2021 года).
Это расписание представляет собой один крупный ежегодный выпуск:
- Laravel 9: 8 февраля 2022 г.
- Laravel 10: февраль 2023 г.
- Laravel 11: февраль 2024 г.
В Laravel 9 будут поступать исправления ошибок до 8 августа 2023 г., а исправления безопасности — до 6 февраля 2024 г. Исправления ошибок Laravel 10 можно ожидать до 6 августа 2024 г., а исправления безопасности — до 4 февраля 2025 г. р>
Слой процесса
Служба слоя процесса laravel, как и фасад HTTP, упрощает работу с API. Служба обработки заставит работать, тестировать и запускать CLI обрабатывает мечту для работы. Вы можете проверить следующий пример из Pull request от Тейлор Отвелл.
use IlluminateSupportFacadesProcess;
$result = Process::run('ls -la');
$result->successful();
$result->failed();
$result->exitCode();
$result->output();
$result->errorOutput();
$result->throw();
$result->throwIf(condition);
Что включает в себя такие функции, как:
- Свободные методы процесса для создания экземпляра процесса перед его запуском.
- Пулы процессов
- Предотвращение случайных процессов во время тестов
- Расширенные возможности тестирования с помощью
fake()
- Асинхронные процессы
Laravel 10 прекращает поддержку PHP 8.0
Среда Laravel прекратит поддержку PHP <=v8.0
в Laravel 10. Минимальная требуемая версия: PHP ^8.1
.
Объявления собственных типов в скелете Laravel 10
Laravel 10 будет использовать нативные объявления типов PHP во всем сгенерированном коде, который может существовать в пространстве пользователя:
Типы добавляются таким образом, чтобы в проекты Laravel были добавлены новейшие функции подсказок типов PHP, не нарушая обратной совместимости на уровне фреймворка:
* Типы возврата * Аргументы метода * Разрешить типы пользовательских земель в аргументах закрытия * Не включает типизированные свойства
Вызываемые правила проверки используются по умолчанию
Начиная с laravel 10, вызываемая проверка теперь по умолчанию.
Когда вы создаете новое правило проверки через artisan, вы можете ожидать следующее:
# Laravel 9 creates a rule class that implements the
# IlluminateContractsValidationRule 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 10, — это параметр --profile
, который упростит поиск любых медленных тестов в вашем приложении.
Устаревшие элементы Laravel 9
Вот некоторые недостатки, обнаруженные в сравнении. из основной ветки Laravel framework в ветку 9.x на момент написания:
- Удалить метод
handleDeprecation
- Удалить устаревший метод
assertTimesSent
- Удалить устаревшее свойство
ScheduleListCommand
$defaultName
- Удалить устаревший метод
Route::home
- Удалены устаревшие функции
dispatchNow
. п
Тестирование Laravel 10
Если вы хотите начать тестирование Laravel 10 сейчас, вы можете установить его в новый проект, используя флаг --dev
:
laravel new <your-project-name> --dev
Мы будем обновлять этот пост по мере их объявления.
Спасибо! Ура...
Удачного программирования!
Первоначально опубликовано здесь
Оригинал