tasoft / key-value-coding
PHP 库,为您的对象启用键值编码。
1.1
2017-03-07 09:16 UTC
Requires
- php: ^5.3.3 || ^7.0
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"];