PHP 7 个类型提示问题

PHP 7 Type Hinting Issues

<?php
namespace XYZ\Model;

interface user{
public function getName() : string;
}

?>

现在,字符串被假定为 XYZ\Model\string 类型,因此,我实现接口的任何 类 都不匹配(在不同的命名空间中)。

如果我执行 \string,代码将失败并显示 Scalar type declaration must be unqualified

另外,布尔值有多少种?删除一些提示后,我得到:Return value of xxxxx::save() must be an instance of boolean, boolean returned in xxxxxx.php:41

测试了以下 Code on 7.0.3 并且它工作正常,请记住我在您的命名空间定义旁边添加了一个缺失的 ;

namespace XYZ\Model;

interface user {
    public function getName(): string;
}


class Test implements User {
    public function getName(): string {
        return 'SomeName';
    }
}

$t = new Test;
echo $t->getName();

输出:

SomeName

更新:PHP 一切正常。它是不支持标量类型提示的布尔值。