note 75633 rejected from language.oop5.reflection by felipe
| From: | felipe@php.net | Date: | Thu, 24 Jan 2008 13:31:23 +0000 |
| Subject: | note 75633 rejected from language.oop5.reflection by felipe | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-135365@lists.php.net to get a copy of this message | ||
Note Submitter: Luigi Bai
----
Note: $class = new ReflectionClass('Foo'); $class->isInstance($arg) is equivalent to
$arg instanceof Foo or is_a($arg, 'Foo').
This is not correct. Consider the following code:
class A {
}
class C extends A {
}
$rc = new ReflectionClass("C");
$ra = new ReflectionClass("A");
$cc = $rc->newInstance();
$ca = $ra->newInstance();
print("Is? A ".($ra->isInstance($ca)?"true":"false").", but
instanceof: ".(($ca instanceof A)?"true":"false")."\n");
print("Is? C ".($ra->isInstance($cc)?"true":"false").", but
instanceof: ".(($cc instanceof A)?"true":"false")."\n");