ridvanaltun / json-patch-generator
Create JSON Patch (IETF RFC-6902).
Installs: 4 051
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
This package is auto-updated.
Last update: 2024-10-29 05:59:27 UTC
README
Generate JSON Patch (IETF RFC-6902).
This library allows you generate json-patch in PHP.
Installation
$ composer require ridvanaltun/json-patch-generator
Usage
<?php require_once __DIR__ . '/vendor/autoload.php'; use ridvanaltun\JsonPatchGenerator\Utils; $utils = new Utils(); $oldSnap = [ 'name' => 'foo', 'surname' => 'bar', 'skils' => [ 'computer_science' => true, 'algorithm' => true, 'math' => false, ], 'specs' => [ 'a', 'b', 'c', ] ]; $currSnap = [ 'name' => 'foo', 'age' => 23, 'skils' => [ 'computer_science' => true, 'algorithm' => false, ], 'specs' => [ 'a', 'b', 'd', 'e', ] ]; $jsonPatch = $utils->generateJsonPatch($currSnap, $oldSnap); var_dump($jsonPatch);
OUTPUT:
array(7) {
[0]=>
array(3) {
["op"]=>
string(3) "add"
["path"]=>
string(4) "/age"
["value"]=>
int(23)
}
[1]=>
array(3) {
["op"]=>
string(7) "replace"
["path"]=>
string(16) "/skils/algorithm"
["value"]=>
bool(false)
}
[2]=>
array(3) {
["op"]=>
string(3) "add"
["path"]=>
string(6) "/specs"
["value"]=>
string(1) "d"
}
[3]=>
array(3) {
["op"]=>
string(3) "add"
["path"]=>
string(6) "/specs"
["value"]=>
string(1) "e"
}
[4]=>
array(2) {
["op"]=>
string(6) "remove"
["path"]=>
string(8) "/surname"
}
[5]=>
array(2) {
["op"]=>
string(6) "remove"
["path"]=>
string(11) "/skils/math"
}
[6]=>
array(3) {
["op"]=>
string(6) "remove"
["path"]=>
string(6) "/specs"
["value"]=>
string(1) "c"
}
}