Download the PHP package loophp/unaltered-psr-http-message-bridge-bundle without Composer
On this page you can find all versions of the php package loophp/unaltered-psr-http-message-bridge-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download loophp/unaltered-psr-http-message-bridge-bundle
More information about loophp/unaltered-psr-http-message-bridge-bundle
Files in loophp/unaltered-psr-http-message-bridge-bundle
Package unaltered-psr-http-message-bridge-bundle
Short Description A drop-in replacement for symfony/psr-http-message-bridge, that does not alter query parameters.
License MIT
Homepage http://github.com/loophp/unaltered-psr-http-message-bridge-bundle
Informations about the package unaltered-psr-http-message-bridge-bundle
Unaltered PSR HTTP Message Bridge Bundle
An opt-in and drop-in replacement bundle for symfony/psr-http-message-bridge that doesn't alter the query parameters.
This package register a decorator for the service PsrHttpFactory
in your Symfony application.
The only difference with the original class from symfony/psr-http-message-bridge is that it doesn't alter the query parameters when converting a Symfony request into a PSR7 request.
Context:
- https://3v4l.org/diaBU
- https://github.com/symfony/symfony/issues/29664
- https://externals.io/message/106213
- https://bugs.php.net/bug.php?id=40000
- https://stackoverflow.com/questions/68651/get-php-to-stop-replacing-characters-in-get-or-post-arrays
- https://www.drupal.org/project/drupal/issues/2984272
- https://tracker.moodle.org/browse/MDL-29700
- https://laracasts.com/discuss/channels/laravel/any-way-to-stop-replacing-with
TL;DR
Symfony's Request class
uses parse_str() function to parse the
query string, but parse_str()
alter the parameter key if it contains .
and replaces them with _
.
This issue makes the Request object harder to work with when we some logic needs to heavily rely on query parameters
(API Platform, CAS, ... ).
Requirements
- PHP >= 7.1.3
- Symfony >= 4
Installation
Usage
Notice that the query string parameters has been altered, from field.filter
to field_filter
when using the
Symfony Request object.
Configuration
There is no configuration and you do not have to do anything besides requiring this package in your application.
Code quality, tests and benchmarks
Every time changes are introduced into the library, Github run the tests and the benchmarks.
The library has tests written with PHPSpec.
Feel free to check them out in the spec
directory. Run composer phpspec
to trigger the tests.
Before each commit some inspections are executed with GrumPHP, run ./vendor/bin/grumphp run
to check manually.
PHPInfection is used to ensure that your code is properly tested, run composer infection
to test your code.
Contributing
Feel free to contribute by sending Github pull requests. I'm quite responsive :-)
Changelog
See CHANGELOG.md for a changelog based on git commits.
For more detailed changelogs, please check the release changelogs.
All versions of unaltered-psr-http-message-bridge-bundle with dependencies
league/uri-components Version ^2.4
loophp/psr-http-message-bridge-bundle Version ^1.0