Что нового в Laravel 10: взгляд на новые и предстоящие функции

Что нового в 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 во всем сгенерированном коде, который может существовать в пространстве пользователя:

https://twitter.com/taylorotwell/status/1592227118481805312?ref_src=twsrc^tfw|twcamp^tweetembed|twterm^1592227118481805312|twgr^29941c99d091f426b98c0156908eef9e8262f3e5| twcon^s1_&ref_url=https%3A%2F%2Flaravel-news.com%2Flaravel-10-type-declarations&embedable=true

Типы добавляются таким образом, чтобы в проекты 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

Мы будем обновлять этот пост по мере их объявления.

Спасибо! Ура...

Удачного программирования!


Первоначально опубликовано здесь


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE