为什么PHP仅支持数组和对象的类型提示?我想使用类似以下的类型提示:
protected function addServiceToken(string $token)
{
if(!array_key_exists($token, $this->service_tokens))
$this->service_tokens[$token] = 'waiting';
return $this->checkServiceTokenStatus($token);
}
Run Code Online (Sandbox Code Playgroud)
而不是添加一个不太优雅的调用,is_string($token)以确保传递正确类型的参数.
目前在PHP的SVN主干版本中有一个支持这一功能的实现,但如果该实现将是在未来版本的PHP中发布的实现,或者它将完全受支持,则尚未确定.
所以,显然除了我自己之外的某个人(或者其他人)想要使用这种语法,反之亦然.如果代码已经写好,为什么有人不希望它包括在内,特别是因为类型提示是一个可选的选择?我个人希望看到PHP继续采用这样的更多功能,这些功能鼓励"良好"的编码实践,例如在使用之前检查变量的类型.当他们为语言添加类型提示时,他们在排除标量类型时看到了什么好处?
刚刚发现PHP中允许类型提示,但不能用于整数,字符串,bool或浮点数.
为什么PHP不允许对整数,字符串等类型进行类型提示?