- Нативные объявления типов PHP в Laravel 10
- Где будет использоваться типизация PHP в Laravel 10
- Пример использовании типизации PHP в Laravel 10
- Когда будет запущен Laravel 10?
Нативные объявления типов 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
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)