ayman-mahgoub/compare-engine-tracker

此包用于比较相同类型的对象

dev-master 2020-02-01 23:40 UTC

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以了解我们的行为准则以及向我们提交拉取请求的过程。

作者

许可证

  • 本项目采用MIT许可证 - 请参阅LICENSE.md文件以获取详细信息。