CakePHP-3.4 неизменяемый API API http \ request

В CakePHP 3.3 я мог бы использовать такое выражение в контроллере:

$this->request->data = array_merge($this->request->query,$this->request->data);

Как я могу добиться того же эффекта, используя новый неизменяемый API-интерфейс http \ request api в торт 3.4 / 3.5?

0

Решение

Так что это довольно плохая практика — переписать (или даже добавить) запрос, так как это то, что отправил клиент — если вы действительно хотите продолжать в том же духе, можно использовать отражение для установки значения … Я упоминал об этом плохая практика?

Как .. действительно плохая практика 🙂

$reflectionClass = new ReflectionObject($this->request);
$reflectionProperty = $reflectionClass->getProperty('data');
$reflectionProperty->setAccessible(true);
$reflectionProperty->setValue($this->request, -YourNewArray-);

Думаю, мне не нужно повторять то, что уже было сказано, но если это избавит вас от проблемы обновления между версиями … это может исправить это.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]