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

标签 javascript php oop coding-style standards

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

例如:

#..........................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'); 

最佳答案

没有简单的方法可以做到这一点。您必须解析路径字符串,然后逐步达到所需的值。

检查 Symfony PropertyAccess Component .它可以在没有框架其余部分的情况下用作独立库。

use Symfony\Component\PropertyAccess\PropertyAccess;

$accessor = PropertyAccess::createPropertyAccessor();

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

关于javascript - PHP:通过点表示法访问嵌套对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38087783/

相关文章:

javascript - 从 JSON 调用返回数组时遇到问题

javascript - 如何在多行控制台上更新数据

php - 如何在 PHP 中将 "openssl_x509_parse"用于过期/错误证书?

php - PHP 使用的 OS X 和 OpenSSL 上的 Composer 错误

c++ - 继承和重载默认构造函数

java - 将电子邮件、电话号码和 ID 表示为 POJO 而不是字符串

javascript - 使用 codedUI 选择网页中隐藏的单选按钮

javascript - react 小部件 : How to get Combobox name property value in onChange function?

javascript - 复制外部 json 数据并粘贴到本地 json 文件中

c++ - 如何向派生类添加功能?