Laravel 10 будет использовать нативные объявления типов PHP во всем сгенерированном коде, который может существовать в пространстве пользователя:
Laravel 10.x (release in Feb 2023) will add type-hints and return types to all application skeleton methods. ✅
Property types are not being added due to that being a breaking change.
— Taylor Otwell ? (@taylorotwell) November 14, 2022
Типы добавляются таким образом, чтобы привнести в проекты Laravel новейшие функции подсказок типов PHP без нарушения обратной совместимости на уровне фреймворка:
- Возвращаемые типы
- Аргументы методов
- По возможности удаляются избыточные аннотации
- Разрешаются пользовательские типы в аргументах замыкания
- Не включаются типизированные свойства
Например, если скелет метода имеет возвращаемый тип, может существовать аннотация, обеспечивающая лучшую ясность типов, если этого нельзя достичьс помощью собственных типов:
/**
* Get the host patterns that should be trusted.
*
* @return array[int, string]
*/
public function hosts(): array
{
return [
'laravel.test',
];
}
В приведенном выше примере IDE будет знать форму массива, что является полезной информацией, невозможной в собственном дизайне типизации PHP.
Кроме того, весь код, сгенерированный платформой, будет следовать тем же рекомендациям по подсказкам типов, что и выше, а это означает, что когда вы создаете файлы с помощью команды "make", они будут включать подсказки собственного типа так же, как описано выше.
Когда выйдет Laravel 10?
Согласно политики поддержки, Laravel 10 будет выпущен 7 февраля 2023 года.
Учитывая размер экосистемы Laravel, это важное мероприятие, и мы благодарим Laravel за сохранение обратной совместимости в приоритете.
Оригинал статьи - https://laravel-news.com/laravel-10-type-declarations