My code makes use of is_subclass_of()
.
From the PHP documentation, there is a third optional parameter, $allow_string
:
bool is_subclass_of ( mixed $object , string $class_name [, bool $allow_string = TRUE ] )
But the code, which uses a redundant parameter as the third argument in order to make it more explicit, throws an error. Why?
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.");
}
This is the error message I get:
Warning: is_subclass_of() expects exactly 2 parameters, 3 given on line 18