Карточка Middle Типы и строгая типизация обновлено
Строгая типизация в современном PHP
Вопрос
Как сделать PHP-код максимально строго типизированным?
Попробуйте сами
Ответьте про себя или вслух, потом откройте ответ и сверьтесь.
Показать ответ и разбор
Коротко
- declare(stricttypes=1); в каждом файле. - Типы у всех параметров, возвращаемых значений и свойств (typed properties с 7.4). - readonly-свойства и классы для неизменяемых данных. - Статический анализ: PHPStan или Psalm на высоком уровне в CI. - Generics в PHPDoc (@param list<User, @return array<int, string) для…
Ответ
declare(strict_types=1);в каждом файле.- Типы у всех параметров, возвращаемых значений и свойств (
typed propertiesс 7.4). readonly-свойства и классы для неизменяемых данных.- Статический анализ: PHPStan или Psalm на высоком уровне в CI.
- Generics в PHPDoc (
@param list<User>,@return array<int, string>) для анализаторов.
Разбор
Рантайм-проверки ловят ошибки при выполнении, анализатор находит их до запуска.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.