从学说代理对象中获取列表 ReflectionProperty

Get list ReflectionProperty from doctrine proxy object

示例我从 Doctrine 管理器中获得了一个代理对象。

// $entity is an proxy object from doctrine
$relectionClass = new \ReflectionClass($entity);
$properties = $class->getProperties();

$properties 将 return 我们一个空数组,因为它反映了 doctrine 代理对象。

如果我的对象是一个原则代理对象,我如何从我的对象中获取所有属性的列表?

你应该反映真实的 class 而不是代理。

试试这个(未测试):

$realClass = \Doctrine\Common\Util\ClassUtils::getRealClass(get_class($entity));
$properties = (new \ReflectionClass($realClass))->getProperties();