PHP7:标量返回类型声明不应该接受整数吗?

时间:2016-10-10 20:32:16

标签: php return-type scalar

我正在实现一个Iterator接口,如果我实现它返回标量(在引用http://php.net/manual/en/class.iterator.php之后),我得到了这个错误:

  

TypeError:Collection :: key()的返回值必须是。的实例   标量,返回整数

课程实施:

class Collection implements \Iterator
{
    public function key(): \scalar
    {
        return key($this->colecao);
    }
    // other methods implementations...
}

根据PHP参考,整数应被视为标量值(http://php.net/manual/en/migration70.new-features.php):

  

标量类型声明有两种形式:强制(默认)和   严格。现在可以强制执行以下类型的参数(或者   强制性或严格地):字符串(字符串),整数(int),   浮点数(浮点数)和布尔值(布尔值)。

我的代码中是否存在错误,您的错误是什么?

感谢您的任何解释!

1 个答案:

答案 0 :(得分:5)

PHP没有称为\scalar的类型。 PHP仅支持those类型。你的\scalar类型看起来像是另一个类。

相关问题