44145


お世話になります。

私はいまCakePHPを学んでいるのですが、  
紹介ページによって  
POSTやGETの値を取得する方法が  
２種類あることに気づき、困惑しています。  
・$this->data  
・$this->request->data  
中身をみたところ、同じ内容が入っているようなのですが  
何か違いがあるのでしょうか。

よろしくお願いします。


CC BY-SA 4.0
2018-05-21T06:58:54.070
44125
2018-05-22T02:27:59.007
9238
question
cakephp
CakePHPのControllerにおいて$this->dataと$this->request->dataの意味は同じ？


`$this->data` はバージョン1系の古い記法であり非推奨です。

CakePHP バージョン3.4以降であれば、 `$this->request->getData()` が推奨される書き方です。  
バージョン2系やバージョン3系の3.3以前なら `$this->request->data()` で取得します。

また、`$this->request->data['User']['email']`
のような呼び出しは、キーが存在しない場合にエラーが発生するので、`$this->request->data（'User.email'）`,
`$this->request->getData（'User.email'）` のようにメソッドで取得すべきです。

リクエストとレスポンスオブジェクト - 2.x <https://book.cakephp.org/2.0/ja/controllers/request-
response.html#post>

リクエストとレスポンスオブジェクト - 3.6 <https://book.cakephp.org/3.0/ja/controllers/request-
response.html#id5>


CC BY-SA 4.0
2018-05-22T02:27:59.007
44145
2018-05-22T02:27:59.007
2668
44125
answer