フォームデータのうけとり

2015年06月06日 09:33

フォームに値が入力されたとき、次のどれで判断すればいいのかがわからなかった。

(1) if ($this->request->data){

(2)if($this->request->isPost()){

(3)if($this->request->isPut()){

詳しくは、

https://book.cakephp.org/2.0/ja/core-libraries/helpers/form.html

の通りだが、よくわからん。
 
■はじめて遷移してきたとき
(1)false
(2)false
(3)false
 
■何も入力せずに、送信ボタンをおしたとき
(1)true(Valueは空白だが、モデル名は入ってくる)
(2)true
(3)false
 
■デフォルトでチェックボックスをいれておく設定で、
はじめて遷移したとき
(1)false
(2)false
(3)false
 
 

(1)と(2)の違いはよくわからない。。

(3)はフォームのやりとりは、Postとかわらないが、HTML出力時に変わってくるらしい。

‘put’ や ‘delete’ を使う場合、そのフォームは機能的に ‘post’ と同じですが、 サブミットされる際、HTTP のリクエストメソッドが ‘PUT’ または ‘DELETE’ に上書きされます。これにより、Web ブラウザにおける REST サポートを CakePHP がエミュレートできるようになります。