yperevoznikov/reconciliation

此包最新版本(1.0.2)没有可用的许可证信息。

PHP的日常使用 reconciliation 算法

1.0.2 2016-09-26 07:27 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:31:41 UTC


README

Build Status

PHP语言的日常使用 reconciliation 算法。
数据同步(set Reconciliation 问题)是指从源数据存储到目标数据存储以及反之建立一致性,以及随时间持续数据调和的过程。
数据同步(维基百科)

使用示例

// Use Package
use YPReconciliation\SetsReconciliation;

// Create Reconciliation Algo Class
$reconciliation = new SetsReconciliation();

// Optionally, it's possible to set custom function to create unique identifier
$reconciliation->setUniqueMaskGetterClosure(function($item) {
	return $item['name'];
});

// Perform action...
$sourceSet = array(array('name' => 1), array('name' => 2));
$targetSet = array(array('name' => 3));
$result = $reconciliation->getReconciliationActions($sourceSet, $targetSet);

// Remove Elements from $targetSet
foreach ($result->getRemoveList() as $item) {
  // remove $item from $targetSet
}

// Add Elements to $targetSet
foreach ($result->getAddList() as $item) {
  // add new $item from $targetSet
}

// Sometimes need to update elements in $targetSet , like so
foreach ($result->getUpdateList() as $item) {
  // update $item in $targetSet
}