Download the PHP package get-zen/json-patch-php without Composer
On this page you can find all versions of the php package get-zen/json-patch-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download get-zen/json-patch-php
More information about get-zen/json-patch-php
Files in get-zen/json-patch-php
Package json-patch-php
Short Description Produce and apply json-patch objects. Forked from mikemccabe/json-patch-php (https://github.com/mikemccabe/json-patch-php).
License LGPL-3.0
Informations about the package json-patch-php
json-patch-php
Forked from mikemccabe/json-patch-php.
Produce and apply json-patch objects.
Implements IETF JSON-patch (RFC 6902) and JSON-pointer (RFC 6901):
http://tools.ietf.org/html/rfc6902 http://tools.ietf.org/html/rfc6901
Extensions
Adds custom ensure
operation (op
) that replaces the value at target
path or creates it if the path does not exist. (alpha!!!)
Using with Composer
Then, in your project's code, use the JsonPatch
class definition from
the GetZen
namespace like so:
Entry points
- JsonPatch::get($doc, $pointer) - get a value from a json document
- JsonPatch::patch($doc, $patches) - apply patches to $doc and return result
- JsonPatch::diff($src, $dst) - return patches to create $dst from $src
Arguments are PHP arrays, i.e. the output of json_decode($json_string, 1)
(Note that you MUST pass 1 as the second argument to json_decode to get an array. This library does not work with stdClass objects.)
All structures are implemented directly as PHP arrays. An array is considered to be 'associative' (e.g. like a JSON 'object') if it contains at least one non-numeric key.
Because of this, empty arrays ([]) and empty objects ({}) compare the same, and (for instance) an 'add' of a string key to an empty array will succeed in this implementation where it might fail in others.
$simplexml_mode is provided to help with working with arrays produced from XML in the style of simplexml - e.g. repeated XML elements are expressed as arrays. When $simplexml_mode is enabled, leaves with scalar values are implicitly treated as length-1 arrays, so this test will succeed:
{ "comment": "basic simplexml array promotion",
"doc": { "foo":1 },
"patch": [ { "op":"add", "path":"/foo/1", "value":2 } ],
"expected": { "foo":[1, 2] } },
Also, when $simplexml_mode is true, 1-length arrays are converted to scalars on return from patch().
Tests (!!!! Not maintained)
Some tests are in a submodule (https://github.com/json-patch/json-patch-tests). Do 'git submodule init' to pull these, then 'php runtests.php' to run them.
All versions of json-patch-php with dependencies
ext-json Version *