2017-11-03 5 views
0

CakePHPの3.3に私はコントローラにこのようなステートメントを使用することができますcakephpの-3.4不変のhttp 要求API API

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

どのように私は/ケーキ3.4で新しい不変のhttp \要求APIのAPIを使用して同じ効果を得ることができます3.5?

+3

リクエストデータを変更する必要はありません。悪い習慣とみなされます。 CakePHP 3.4の変更はあなたがそうするのを妨げるだけです。 [CakePHP 3.4、プログラムでリクエストデータを変更する方法](http://discourse.cakephp.org/t/cakephp-3-4-how-to-change-request-data-programmaticly/2120)を参照してください。特定のユースケースをお知らせいただければ、誰かが回避策を提供できる可能性があります。 –

答えて

1

クライアントが送信したものなので、要求を上書きする(または追加することも)非常に悪い習慣です。実際にはこのようにしたい場合は、リフレクションを使用して値を設定することができます...これは悪い習慣だと言いましたか?私は何が既に言われていることを繰り返す必要はありませんが、それはあなたのバージョン間でのアップグレードの問題を保存した場合に推測

同様..本当に悪い習慣:)

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

。これかもしれません修理する。

関連する問題