alexanevsky/getter-setter-accessor-bundle
Composer 安装命令:
composer require alexanevsky/getter-setter-accessor-bundle
包简介
Provides functions to read and write from/to an object and gets the list of object getters and setters.
README 文档
README
This library provides functions to read and write from/to an object and gets the list of object getters and setters.
Table of Contents
First Step
Add GetterSetterAccessor to the constructor of controller or service:
use Alexanevsky\GetterSetterAccessorBundle\GetterSetterAccessor; public function __construct( private GetterSetterAccessor $getterSetterAccessor ) {}
Then let's get an accessor of some object (it can be, for example, some model):
$objectAccessor = $this->getterSetterAccessor->createAccessor($objectAccessor);
Get Value
We can get the value of any property using the getValue() method, for example:
echo $objectAccessor->getValue('userName'); echo $objectAccessor->getValue('user_name');
The property name can be passed in both camel and snake cases. It will be converted to the one that is actually used.
If the object does not have a getter, an exception will be thrown. Before using getValue() we can make sure the getter exists using the hasGetter() method:
if ($objectAccessor->hasGetter('userName')) { echo $objectAccessor->getValue('userName'); }
Set Value
We can set the value of any property using the setValue() method, for example:
echo $objectAccessor->SetValue('userName', 'John Doe'); echo $objectAccessor->SetValue('user_name', 'John Doe');
The property name can be passed in both camel and snake cases. It will be converted to the one that is actually used.
If the object does not have a setter, an exception will be thrown. Before using setValue() we can make sure the setter exists using the hasSetter() method:
if ($objectAccessor->hasSetter('userName')) { echo $objectAccessor->setValue('userName', 'John Doe'); }
Get Getters List
We can get a list of all available object getters using the getGetters() method. As a result, we will get an array of ObjectGetter[], each of which has the following methods:
getValue()- returns a valuegetName()- returns the property nameisNullable()- checks if the value allows nullgetTypes()- returns a list of types that a value can begetAttribute(attributeClass)- returns an attribute instance by the its class namegetAttribute(attributeClass)- checks if an attribute exists by its class name
Get Getters List
We can get a list of all available object getters using the getGetters() method. As a result, we will get an array of ObjectGetter[], each of which has the following methods:
getValue()- returns a valuegetName()- returns the property nameisNullable()- checks if the value allows nullgetTypes()- returns a list of types that a value can begetAttribute(attributeClass)- returns an attribute instance by the its class namegetAttribute(attributeClass)- checks if an attribute exists by its class name
Good luck!
alexanevsky/getter-setter-accessor-bundle 适用场景与选型建议
alexanevsky/getter-setter-accessor-bundle 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 291 次下载、GitHub Stars 达 1, 最近一次更新时间为 2023 年 03 月 24 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 alexanevsky/getter-setter-accessor-bundle 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 alexanevsky/getter-setter-accessor-bundle 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 291
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 25
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-03-24