Download the PHP package jhumanj/jsonata-php without Composer

On this page you can find all versions of the php package jhumanj/jsonata-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package jsonata-php

jsonata-php

jsonata-php is a standalone PHP implementation of JSONata, aligned against the official jsonata-js/jsonata test-suite.

The package started as the expression engine used inside the Raydocs workflow runtime. It is now maintained as a public package with explicit compatibility checks against the upstream JavaScript implementation.

Status

The PHP engine currently passes the full vendored upstream JSONata JS fixture suite used by this repository:

This means jsonata-php is compatible with the official upstream test-suite corpus vendored in this repository. It is not a line-by-line port of the JavaScript source code, and it should not be read as a guarantee that every possible untested behavior is identical. The compatibility claim is deliberately test-suite based.

Implemented language/runtime coverage includes:

Compatibility Matrix

Area Status Notes
Parser and core expressions Upstream fixtures passing Covers literals, operators, grouping, blocks, conditionals, defaults, coalescing, comments and token conversion fixtures.
Paths and selectors Upstream fixtures passing Covers @, #, %, *, **, projections, filters, quoted selectors, missing paths and tuple-aware traversal.
Standard library functions Upstream fixtures passing Covers the vendored upstream builtin fixtures, including string, numeric, collection, object, encoding, regex, eval and datetime helpers.
Signatures and coercions Upstream fixtures passing Covers upstream function signature fixtures and signature-driven coercion/error behavior present in the corpus.
Regex Upstream fixtures passing Covers regex literals, matching, splitting, replacing, $match() and matcher functions.
Datetime and formatting Upstream fixtures passing Covers $toMillis(), $fromMillis(), integer formatting/parsing and number formatting fixtures.
Higher-order functions and closures Upstream fixtures passing Covers lambdas, closures, HOF helpers, partial application and tail-recursion fixtures.
Transforms Upstream fixtures passing Covers both transform and transforms upstream groups, including nested update/delete behavior.
Error model Upstream fixtures passing Covers upstream error-code parity for the official error fixtures; exact message wording may still differ outside the asserted code paths.

Upstream Fixture Parity

The repository includes a structured upstream-fixture parity layer in tests/Unit/UpstreamParityTest.php. The fixture corpus is adapted from the official JSONata JavaScript project and vendored under tests/fixtures/upstream-jsonata from jsonata-js/jsonata commit 597e5ee6ada3e13eaa4880f00468dcc1cba21142.

Vendored upstream fixture paths:

The parity test enumerates the full upstream fixture catalog. Each fixture is executed through the PHP evaluator and compared with the local jsonata npm package. For upstream cases where the local JavaScript comparison process itself is not reliable, such as non-terminating tail-recursion fixtures, the test uses the expected result or error code recorded in the official fixture.

Run the upstream compatibility suite with:

The expected result is zero skipped upstream fixture cases.

Installation

Usage

Development

License

MIT


All versions of jsonata-php with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
ext-json Version *
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package jhumanj/jsonata-php contains the following files

Loading the files please wait ...