- property_exists: documentation ( source)
- var_dump: documentation ( source)
<?php
class Foo
{
public $bar = 'bar';
public $baz = 'baz';
}
class FooHack extends Foo
{
public function __construct(Foo $wrapped)
{
unset($this->bar);
}
}
$foo = new FooHack(new Foo);
$reflectionFooBar = new \ReflectionProperty(Foo::class, 'bar');
var_dump((new ReflectionClass(Foo::class))->getProperties());
var_dump($reflectionFooBar->getValue($foo));
var_dump(
property_exists(FooHack::class, 'bar'),
property_exists($foo, 'bar')
);