tasoft/key-value-coding

PHP 库,为您的对象启用键值编码。

1.1 2017-03-07 09:16 UTC

This package is auto-updated.

Last update: 2024-09-24 20:28:06 UTC


README

PHP 实现键值编码的库。此库定义了3个接口,以实现键值编码、键值更改和键值观察。键值编码通常指通过键访问对象的属性,例如属性或关系。key-value-coding 库附带两个特质,用于实现编码和更改接口。

使用方法

任何具有名为 get* 和 set* 方法的对象都可以用于键值编码。Object\CodingTrait 实现了默认机制,其工作流程如下
获取一个键

echo $object->userName;

将执行以下操作

$object->__get("userName");
$object->valueForKey("userName");
$object->getDefinedKeys();
// If key does exist
$object->getUserName();
// If key does not exist
$object->valueForUndefinedKey("userName");

同样的,对于

$object->userName = "tasoft";

但使用 __set、setValueForKey、setUserName 或 setValueForUndefinedKey 代替。

键路径

键路径定义为标识符,用于通过对象的关系跟踪对象。例如,一个地址对象包含一个名为 country 的属性,而一个用户对象与一个地址对象相关联,你可以通过以下方式访问 country 属性

echo $user->valueForKeyPath("address.country");
// or
echo $user["address.country"];