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 一切正常。它是不支持标量类型提示的布尔值。
<?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 一切正常。它是不支持标量类型提示的布尔值。