orisai/serialized-query

(De)Serialize data for storing in URL query parameter

v1.x-dev 2023-02-16 04:27 UTC

This package is auto-updated.

Last update: 2024-04-16 06:48:13 UTC


README

(De)Serialize data for storing in URL query parameter

📄 Check out our documentation.

💸 If you like Orisai, please make a donation. Thank you!

badge.svg 68747470733a2f2f62616467656e2e6e65742f636f766572616c6c732f632f6769746875622f6f72697361692f73657269616c697a65642d71756572792f76312e783f63616368653d333030 68747470733a2f2f62616467652e737472796b65722d6d757461746f722e696f2f6769746875622e636f6d2f6f72697361692f73657269616c697a65642d71756572792f76312e78 68747470733a2f2f62616467656e2e6e65742f7061636b61676973742f64742f6f72697361692f73657269616c697a65642d71756572793f63616368653d33363030 68747470733a2f2f62616467656e2e6e65742f7061636b61676973742f762f6f72697361692f73657269616c697a65642d71756572793f63616368653d33363030 68747470733a2f2f62616467656e2e6e65742f62616467652f6c6963656e73652f4d504c2d322e302f626c75653f63616368653d33363030

use Orisai\SerializedQuery\QuerySerializer;

$input = [
	'a' => 'val',
	'b' => [
		'c' => 1,
		'd' => 2,
	],
	'foo' => [
		'bar' => [
			'baz' => true,
		],
	],
];

$queryParam = QuerySerializer::serialize($input);
// Result
$queryParam === 'a_val-b_~c_1-d_2~-foo_~bar_~baz_1~~';

$output = QuerySerializer::parse($queryParam);
// Result
$output === [
	'a' => 'val',
	'b' => [
		'c' => '1',
		'd' => '2',
	],
	'foo' => [
		'bar' => [
			'baz' => '1',
		],
	],
];