0b0011, 'getter2' => 0b0101, 'setter' => 0b1000, 'both' => 0b1011, 'Upper' => 0b0011, 'protected' => 0b0011, 'read' => 0b0011, 'write' => 0b1000, ], ObjectHelpers::getMagicProperties('TestClass')); /** * @property int $bar */ class ParentClass { public function getFoo() { } } /** * @property int $foo */ class ChildClass extends ParentClass { public function getBar() { } } Assert::same([], ObjectHelpers::getMagicProperties('ParentClass')); Assert::same(['foo' => 0b0011], ObjectHelpers::getMagicProperties('ChildClass'));