Tiny package to build HTTP URL query string compatible with Rails app.
This library produces output without explicit indices. As simple as that.
$vars = ['fruits' => ['apple', 'banana', 'orange']];
$query_string = \TechnicallyPhp\RackUtilsHttpQuery::build($vars);
var_dump($query_string);
// will output: "fruits[]=apple&fruits[]=banana&fruits[]=orange"
PHP stock http_build_query()
converts array into items with indices explicitly defined.
This is not compatible with the way Rails applications parse requests.
$vars = ['fruits' => ['apple', 'banana', 'orange']];
$query_string = http_build_query($vars);
var_dump($query_string);
// will output: "fruits[0]=apple&fruits[1]=banana&fruits[2]=orange"
Relevant StackOverflow discussions:
This package follows
Rack::Utils.parse_nested_query
specification.
Please check RackUtilsHttpQueryTest.php.