ayman-mahgoub / compare-engine-tracker
此包用于比较相同类型的对象
dev-master
2020-02-01 23:40 UTC
Requires
- doctrine/annotations: ^1.6
Requires (Dev)
- phpunit/phpunit: ^7
This package is auto-updated.
Last update: 2024-09-29 05:30:06 UTC
README
- 使用@PropertyTracker注解比较同一对象属性的值,返回isChanged(true/false)和存在时返回changedList。
关于
- 我们构建了CompareEngineTracker,以便适用于所有需要跟踪两个对象(模型、实体、文档等)变化发生的PHP应用程序。
安装
- 通过Composer
$ composer require ayman-mahgoub/Compare-engine-tracker
入门
- 在对象的属性上方添加@propertyTracker注解
/**
*@propertyTracker
*/
private $name;
- 将两个模型传递给compareEngineTracker
$reader = new AnnotationReader();
$compareEngine = new CompareEngineTracker($reader);
$result = $compareEngine->compare($oldObject, $newObject);
- 结果将包含isChanged索引,表示新对象是否已更改,以及changedList索引,包含每个属性的旧值和新值。
运行测试
$ composer test
请注意
- 目前比较功能仅适用于同一类型的两个对象。
贡献
- 请阅读CONTRIBUTING.md以了解我们的行为准则以及向我们提交拉取请求的过程。
作者
-
Ayman Mahgoub - 初始工作 - aymanMahgoub
-
请参阅参与此项目的贡献者列表。
许可证
- 本项目采用MIT许可证 - 请参阅LICENSE.md文件以获取详细信息。