Почему PHP поддерживает только подсказку типа для массивов и объектов? Я хочу использовать подсказку типа следующим образом:
protected function addServiceToken(string $token) { if(!array_key_exists($token, $this->service_tokens)) $this->service_tokens[$token] = 'waiting'; return $this->checkServiceTokenStatus($token); }
Вместо добавления менее элегантного вызова is_string($token)
чтобы обеспечить правильный тип аргумента.
@ Даниэль Эгеберг пишет в ответ на соответствующий вопрос :
В настоящее время существует реализация, поддерживающая это в версии SVN trunk версии PHP, но она не определилась, будет ли эта реализация выпущена в будущих версиях PHP или вообще будет поддерживаться.
Таким образом, по-видимому, кто-то (или somemany), кроме меня, хотел бы использовать этот синтаксис и наоборот. Если код уже написан, почему кто-то не хочет его включать, в частности, поскольку тип-намек является необязательным выбором? Я лично хотел бы, чтобы PHP продолжал использовать больше таких функций, которые поощряют «хорошие» методы кодирования, такие как проверка типа переменной перед ее использованием. Какую выгоду они увидели в исключении скалярных типов, когда они добавили тип намека на язык?