Para evitar nomes / chaves de parâmetros de consulta com distinção entre maiúsculas e minúsculas, o que pode levar a perdas ao extrair dados por meio $request->get('fooBar')
, a seguinte transformação colocada em um middleware Silex é útil.
<?php
use SymfonyComponentHttpFoundationRequest;
$app->before(function (Request $request) {
$request->query->replace(
array_change_key_case($request->query->all())
);
});
Posteriormente, os valores dos parâmetros da consulta podem ser extraÃdos, sem perda, via $request->get('foobar')
mesmo quando a solicitação foi feita via ?fooBar=baz
ou even ?FooBar=baz
.