Skip to content

deceze/Kunststube-Rison

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 

Kunststube\Rison encoder and decoder for PHP

Rison is a compact data format optimized for URIs, a slight variation of JSON.

JSON:

{"a":0,"b":"foo","c":"23skidoo"}

URI-encoded JSON:

%7B%22a%22:0,%22b%22%3A%22foo%22%2C%22c%22%3A%2223skidoo%22%7D

Rison:

(a:0,b:foo,c:'23skidoo')

URI-encoded Rison:

(a:0,b:foo,c:'23skidoo')

See http://mjtemplate.org/examples/rison.html for more information and other implementations.

Usage

Procedural/convenience wrapper

require_once 'Rison/rison_functions.php';

$data = array('foo', 'bar' => array('baz'));

// encoding
$rison = Kunststube\Rison\rison_encode($data);
var_dump($rison);

// decoding
$data = Kunststube\Rison\rison_decode($rison);
var_dump($data);

Object oriented

require_once 'Rison/RisonEncoder.php';
require_once 'Rison/RisonDecoder.php';

use Kunststube\Rison;

$data = array('foo', 'bar' => array('baz'));

// encoding
try {
    $encoder = new Rison\RisonEncoder($data);
    $rison   = $encoder->encode();
    var_dump($rison);
} catch (InvalidArgumentException $e) {
    echo $e->getMessage();
}

// decoding
try {
    $decoder = new Rison\RisonDecoder($rison);
    $data    = $decoder->decode();
    var_dump($data);
} catch (Rison\RisonParseErrorException $e) {
    echo $e->getMessage(), ' in string: ', $e->getRison();
} catch (InvalidArgumentException $e) {
    echo $e->getMessage();
}

PSR-0

The repository is organized so its contents can be dumped into a folder Kunststube/Rison/ and the naming be PSR-0 compliant.

Information

Version: 0.92
Author: David Zentgraf
Contact: rison@kunststube.net
License: Public Domain

About

A PHP encoder and decoder for Rison, the compact JSON-like data format optimized for URIs.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages