qligier / tjson-parser
This package is abandoned and no longer maintained.
No replacement package was suggested.
A PHP parser for TJSON format
0.1.1
2017-10-25 19:44 UTC
Requires
- php: >=7.0.0
- ext-gmp: >=6.0.0
- nikic/phlexy: ^0.1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.7
- infection/infection: ^0.6.0
- phpunit/phpunit: ^6.2
- vimeo/psalm: ^0.3.60
This package is not auto-updated.
Last update: 2022-07-09 17:04:26 UTC
README
A TJSON parser written in PHP, using Phlexy as JSON lexer.
Requirements
- PHP 7.0 at minimum is needed;
- The GMP extension.
Quick start
Installation
Install the library with composer:
composer require qligier/tjson-parser
Usage
$parser = new Kentin\TJSON\Parser; $tjson = '{"message:u":"Hello World!"}'; var_dump($parser->parse($tjson)); /* array(1) { 'message' => string(12) "Hello World!" } */
Data mapping
- Boolean values are returned as boolean;
- Binary values are decoded and returned as string;
- FloatingPoint values are returned as float;
- Integer values are returned as GMP instance;
- UnicodeString values are returned as string;
- Timestamp values are returned as DateTime instance;
- Array values are returned as indexed array;
- Object values are returned as associative array;
- Set values are returned as indexed array.
Compliance
This library tries to be fully compliant with the current draft-tjson-spec (April 15, 2017). Nonetheless, the following non-compliances are not excluded:
- The library accepts various formatting for
FloatingPoint
andInteger
values that could be forbidden by the spec.
Development
To check the library with Psalm (a static analysis tool for finding errors):
./vendor/bin/psalm
To execute the unit tests with PHPUnit (an unit testing framework):
./vendor/bin/phpunit
To check the library with Infection (a mutation testing framework):
./vendor/bin/infection --min-msi=100 --min-covered-msi=100
To check and fix the coding style with PHP Coding Standards Fixer (a tool to automatically fix PHP coding standards issues):
./vendor/bin/php-cs-fixer fix . --dry-run --diff
./vendor/bin/php-cs-fixer fix .