Привет.
Есть такой модуль: https://metacpan.org/pod/PHP::ParseStr
И есть модуль, который наоборот, сериализует структуры в такие строки:
https://metacpan.org/pod/PHP::HTTPBuildQuery


Dmitry Starikovsky,
[email protected]

29 ноября 2015 г., 16:58 пользователь Ruslan Zakirov <
[email protected]> написал:

> Привет.
>
> Обыскался на CPAN deserializer для следующего:
>
> check( 'foo=1&bar=2', {foo => 1, bar => 2} );
> check( 'foo[]=1', {foo=>[1]} );
> check( 'foo[]=1&foo[]=2', {foo=>[1, 2]} );
> check( 'foo[xxx]=1&foo[yyy]=2', {foo=>{xxx=>1, yyy => 2}} );
> check( 'foo[0][x]=1&foo[1][y]=2', {foo=>[{x=>1}, {y => 2}]} );
>
> # bad things:
> check( 'foo[][]=1&foo[][]=2', {foo=>[[1, 2]]} );
> check( 'foo[2]=1', {foo=>[undef, undef, 1]} );
> check( 'foo[]=1&foo[x]=2', { foo=> {''=>[1], x =>2 } } );
> check( 'foo[x]=2&foo[]=1', { foo=> {''=>[1], x =>2 } } );
>
> Уже написал. Кто знает такое на CPAN?
>
> Я даже общеприменимое название формата не смог найти. Вроде все просто
> только тут много чего интересного всплывает в области обработки ошибок,
> конфликтов и защиты сервера от плохого ввода.
>
> --
> Best regards, Ruslan.
>
> --
> Moscow.pm mailing list
> [email protected] | http://moscow.pm.org
>
>
-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить