【发布时间】:2018-03-07 19:59:22
【问题描述】:
我对标量类型提示问题(PHP7 应该能够处理)感到有些困惑。基本上,我创建了一个带有bool 类型提示的方法,只允许传递布尔值。但是它失败了,并让其他类型(如字符串)通过。我相信过去这对我有用。以 sn-p 为例。第一个转储结果为false(这很有意义,因为'test' 是一个字符串),第二个转储结果为true,这对我来说没有意义。我希望触发 PHP 错误,因为类型不是布尔值。有什么想法吗?
<?php
class Test{
function something(bool $test){
var_dump($test); // "Second dump"
}
}
$value = 'test';
var_dump(is_bool($value)); // "First dump"
$test = new Test;
$test->something($value);
结果:
bool(false)
bool(true)
【问题讨论】:
-
在 PHP 5.6 中,这产生了一个错误:3v4l.org/Uo7j0
-
您是否启用了严格输入?
-
@JulienLachal 我没有。不知道在哪里启用它。生病谷歌那个。会及时通知您。
标签: php oop type-hinting