Javascript PHP:通过点表示法访问嵌套对象属性

Javascript PHP:通过点表示法访问嵌套对象属性,javascript,php,oop,coding-style,standards,Javascript,Php,Oop,Coding Style,Standards,通过“点概念”字符串访问对象嵌套属性的简单方法是什么 例如: #..........................Classes.......................... class Colour | class Eye | class Person { | { | { $hexValue = #36ff00 | $colour; |

通过“点概念”字符串访问对象嵌套属性的简单方法是什么

例如:

#..........................Classes..........................

class Colour            |   class Eye       |   class Person
{                       |   {               |   {
    $hexValue = #36ff00 |       $colour;    |       $eyes;
}                       |   }               |   }

#..........................Example..........................

$john = new Person;

$eyes = [new Eye, new Eye];

$eyes[0]->color = new Colour;

$eyes[1]->color = new Colour;

$john->eyes = [new Eye, new Eye];

#..........................Question..........................

# How can we do something like this?

$eyeColour = Helper::dot($john, 'eyes[0].colour.hexValue'); 
没有简单的方法可以做到这一点。您必须解析路径字符串,然后逐步达到所需的值

结帐。它可以作为一个独立的库使用,而不需要框架的其余部分

use Symfony\Component\PropertyAccess\PropertyAccess;

$accessor = PropertyAccess::createPropertyAccessor();

$eyeColour = $accessor->getValue($john, 'eyes[0].colour.hexValue');

方向相同:15分钟前刚被问到。另请参阅注释以获得一些想法。也就是说,对于数组访问,有大量的示例和包处理数组点访问。虽然没有对象/类实例.Perfect,但实际上我在过去遇到过这个库+1为使用库的一个例子。