, (*1)
JsonpPaser
The processing of JSONP decoding and encoding., (*2)
Install
composer require rmtram/jsonp-parser
Usage
Encoder
$parser = new Rmtram\JsonpParser\Jsonp();
$parser->encoder(['name' => 'example'])
->encode();
// default callbackName = callback
string(28) "callback({"name":"example"})"
$parser = new Rmtram\JsonpParser\Jsonp();
$parser->encoder(['name' => 'example'])
->callback('example')
->encode();
string(28) "example({"name":"example"})"
- depth(default 512)
- PHP 5.5 and over
- PHP Version 5.4 can not be used
$parser = new Rmtram\JsonpParser\Jsonp();
$parser
->encoder([['name' => 'example']])
->depth(1)
->encode();
false
@link json.constants
http://php.net/manual/en/json.constants.php, (*3)
$parser = new Rmtram\JsonpParser\Jsonp();
$parser
->encoder([['name' => 'example']])
->option(JSON_UNESCAPED_UNICODE)
->encode();
Decoder
$parser = new Rmtram\JsonpParser\Jsonp();
var_dump($parser->decoder('callback({"name": "example"})')->toArray());
array(1) {
["name"]=> string(7) "example"
}
$parser = new Rmtram\JsonpParser\Jsonp();
var_dump($parser->decoder('callback({"name": "example"})')->toObject());
object(stdClass)#45 (1) {
["name"]=> string(7) "example"
}
$parser = new Rmtram\JsonpParser\Jsonp();
$parser->decoder('callback(
{"name":"example"})'
)->trimEOL()->toArray();
array(1) {
["name"]=> string(7) "example"
}
$parser = new Rmtram\JsonpParser\Jsonp();
$parser->decoder('callback(
{"name":"example"})'
)->toArray();
null
$parser = new Rmtram\JsonpParser\Jsonp();
$parser
->decoder('callback([{"name": "example"}])')
->depth(1)
->toArray();
null
@link json.constants
http://php.net/manual/en/json.constants.php, (*4)
$parser = new Rmtram\JsonpParser\Jsonp();
$parser
->decoder('callback([{"name": "example"}])')
->option(JSON_BIGINT_AS_STRING)
->toArray();
Util
//@param string $jsonp jsonp string.
//@param boolean $trimEOL (trim CR+LF/CR/LF)
//@param boolean $strict true => 'regex and json_decode', false => 'regexp'
is($jsonp, $trimEOL = false, $strict = true)
$parser = new Rmtram\JsonpParser\Jsonp();
$parser->is('callback([1,2,3])');
true
$parser = new Rmtram\JsonpParser\Jsonp();
$parser->is('callback[1,2,3])');
false
trim eol, (*5)
$parser = new Rmtram\JsonpParser\Jsonp();
$parser->is('callback(
[1,2,3])', true);
true
$parser = new Rmtram\JsonpParser\Jsonp();
$parser->is('callback(
[1,2,3])', false);
false
strict mode, (*6)
normal, (*7)
$parser = new Rmtram\JsonpParser\Jsonp();
$parser->is('callback([1,2,3])(1,2,3)', false, false);
true
strict, (*8)
$parser = new Rmtram\JsonpParser\Jsonp();
$parser->is('callback([1,2,3])(1,2,3)', false, true);
false
normal, (*9)
$parser = new Rmtram\JsonpParser\Jsonp();
$parser->is('callback([1,2,3])(1,2,3', false, false);
false
strict, (*10)
$parser = new Rmtram\JsonpParser\Jsonp();
$parser->is('callback([1,2,3])(1,2,3', false, true);
false
normal, (*11)
$parser = new Rmtram\JsonpParser\Jsonp();
$parser->is('callback(example)', false, false);
true
strict, (*12)
$parser = new Rmtram\JsonpParser\Jsonp();
$parser->is('callback(example)', false, true);
false
Support Version
- PHP 5.4
- PHP 5.5
- PHP 5.6
- PHP 7
- HHVM
LICENSE
MIT LICENSE, (*13)