Задать вопрос
dcc
@dcc
junior

TypeHinting. Будущее. Какой выход?

Привет всем. Допустим есть огромный проект. И есть методы с типизацией.
public function foo(string $string) 
{
    //
}

Если передать сейчас сюда int, то средствами php все это будет преобразовано в строку. Иногда это бывает очень удобно.
Учитывая то, что пыха идет семимильными шагами к статической типизации, какой есть выход из ситуации?
  • Вопрос задан
  • 129 просмотров
Подписаться Простой 1 комментарий
Решения вопроса 3
DevMan
@DevMan
не передавать данные других типов/не обновлять пых/не пользоваться типизацией/не использовать strict_types.

а что будет в будущем не очень то и понятно.
Ответ написан
Комментировать
@tukreb
При
declare(strict_types=1);
Не будет преобразовывать, а выкинет ошибку TypeError, и все новые проекты стараются писать при declare(strict_types=1);
Поэтому будущее за строгой типизации.
А выход писать нормально, либо принимать несколько типов string|int либо mixed
Ответ написан
Прописать всюду:
declare(strict_types=1)
Включив тем самым строгую типизацию, и не позволять себе передавать что попало в надежде что "оно само" магически преобразуется.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы