Каркасный Код приложения Laravel 10 будет иметь собственные объявления типов
Laravel 10 Application Skeleton Code Will Have Native Type Declarations


Нативные объявления типов PHP в Laravel 10.

Laravel 10 будет использовать нативные объявления типов PHP в любом сгенерированном коде, который может существовать в пользовательской среде:

Laravel 10.x (релиз в феврале 2023 года) добавит подсказки по типам и возвращаемые типы ко всем методам скелета приложения.

Типы свойств не добавляются из-за того, что это критическое изменение.

— Тейлор Отвелл (@taylorotwell) 14 ноября 2022 года

Где будет использоваться типизация PHP в Laravel 10.

Типы добавляются таким образом, чтобы использовать новейшие функции PHP, указывающие на типы, в проектах Laravel без нарушения обратной совместимости на уровне фреймворка:

  • Возвращаемые типы.
  • Аргументы метода.
  • Избыточные аннотации удаляются там, где это возможно.
  • Разрешить пользовательские типы данных в закрывающих аргументах.
  • Не включает типизированные свойства.

Пример использовании типизации PHP в Laravel 10.

В качестве примера, если каркасный метод (skeleton) возвращает элемент типа array, может существовать аннотация, обеспечивающая лучшую наглядность типов, когда это невозможно с помощью нативных типов:

/**
 * Получить образцы хостов, которым следует доверять.
 *
 * @return array<int, string>
 */
public function hosts(): array
{
    return [
        'laravel.test',
    ];
}

В приведенном выше примере IDE будет знать о том, что метод возвращает массив, что является полезной информацией, которая невозможна в нативном дизайне PHP.

Кроме того, весь код, сгенерированный фреймворком, будет следовать тем же рекомендациям по подсказкам типов, что и выше, а это означает, что при создании файлов с помощью команд make они будут включать собственные подсказки типов таким же образом, как описано выше.

Когда будет запущен Laravel 10?

Согласно документам поддержки, Laravel 10 будет выпущен 7 февраля 2023 года.

Учитывая размер экосистемы Laravel, это важное начинание, и мы приветствуем Laravel за то, что он уделяет особое внимание обратной совместимости.

Перевод с английского официальных новостей Laravel:
https://laravel-news.com/laravel-10-type-declarations

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Выберите, то, чем пользуетесь чаще всего:

Старт! Горячий старт на просторы интернета
Старт! Меню