Привет всем. Допустим есть огромный проект. И есть методы с типизацией.
public function foo(string $string)
{
//
}
Если передать сейчас сюда int, то средствами php все это будет преобразовано в строку. Иногда это бывает очень удобно.
Учитывая то, что пыха идет семимильными шагами к статической типизации, какой есть выход из ситуации?
При declare(strict_types=1);
Не будет преобразовывать, а выкинет ошибку TypeError, и все новые проекты стараются писать при declare(strict_types=1);
Поэтому будущее за строгой типизации.
А выход писать нормально, либо принимать несколько типов string|int либо mixed
Прописать всюду: declare(strict_types=1)
Включив тем самым строгую типизацию, и не позволять себе передавать что попало в надежде что "оно само" магически преобразуется.