CakePHP обеспечивает некоторый уровень разделения URL-адресов, но кажется, что он работает только в конфигурации во время выполнения, а не в тестовой конфигурации. Я свяжусь с CakePHP, если это намеренно.
Я предлагаю для вашего анализатора строк запросов использовать PHP-функцию explode .
Полагаю, вы можете сделать что-то вроде этого:
$result = explode ('&', $queryString, -1) ;
, который даст вам ваши пары ключей в отдельных слотах массива, на которых вы можете выполнить итерацию и выполнить второе разнесение следующим образом:
$keyPair = explode ('=', $result[n], -1) ;
Однако, несмотря на это, было бы лучше заглянуть под капот CakePHP и посмотреть, что они делают.
То, что я напечатал выше, не будет правильно обрабатывать ситуации, когда ваша строка запроса содержит html экранированные символы (с префиксом &), и не будет обрабатывать строки URL с шестнадцатеричным кодированием.