我的代码使用is_subclass_of()
。
从PHP documentation开始,有第三个可选参数$allow_string
:
bool is_subclass_of ( mixed $object , string $class_name [, bool $allow_string = TRUE ] )
但是代码使用冗余参数作为第三个参数以使其更加明确,会引发错误。为什么呢?
class Foo {
private $fooVar;
}
class Bar extends Foo {
private $barVar;
}
$fooString = 'Foo';
$barString = 'Bar';
// THE FOLLOWING CODE MAKES $boolVar TRUE,
// but why can't I add the third parameter when the docs say it's allowed?
$boolVar = is_subclass_of($barString, $fooString, true);
// $boolVar = is_subclass_of($barString, $fooString);
if ($boolVar) {
die("Yes it is. Great!");
} else {
die("No it isn't. This is not what I want.");
}
这是我收到的错误消息:
警告:is_subclass_of()需要2个参数,第18行给出3
答案 0 :(得分:0)
您的代码在phpfiddle.org上运行正常。
请参阅您引用的页面上的更改日志条目:
5.3.9添加了allow_string参数
您运行的是早期版本的PHP吗?您可以使用
进行检查echo phpversion();