CakePHP 1.x
現在のアクション名を取得する
現在のアクション名を取得するには、以下のように記載します。変数の$actionNameには、現在のアクション名が格納されています。
$actionName = $this->params['action'];
現在のコントローラ名を取得する
現在のコントローラ名を取得する方法を記載します。変数の$controllerNameには、コントローラ名が格納されています。
$controllerName = $this->params['controller'];
ビューに渡す変数名をコントローラと同じにする場合
ビューに渡す変数名をコントローラと同じにする場合は、compact()を使うと便利です。
ビューに渡す変数名の指定を省略できます。
$title = 'タイトル'; $body = '内容'; $this->set(compact('title','body'));
ビューに変数を渡す
コントローラからビューに変数を渡す場合は、以下のように記載します。
第一引数は、ビューで使用する変数名を指定します。
第二引数は、ビューに渡す値を指定します。
$this->set('price',$price);
レイアウトを使わないようにする
レイアウトを使わないようにするには、アクションメソッド内に以下の記載をします。
$this->layout = "";
HTMLタグをエスケープする - h()
ビューにてHTMLタグをエスケープするには、h()メソッドが便利です。
ちなみに h() という関数は htmlspecialchars() の別名です。
<?php echo h('<script>alert("test");</script>'); ?> ◆実行結果 <script>alert("test");</script>
[対象]
CakePHP 1.x
CakePHP 2.x
同じコントローラ内の違うアクションのビューを表示する
同じコントローラ内の違うアクションのビューを表示するには、コントローラに以下の記載をします。
$this->render('アクション名');
違うコントローラで用意しているビューを表示する
違うコントローラで用意しているビューを表示する方法を以下に記載します。
第一引数では、ビュー名を指定せずに第三引数にビューのパスをしています。
第二引数には、レイアウトを指定しています。
$this->render(null, 'layout', '/path/app/views/email/contact.ctp');
ビューを使わないようにする
ビューを使わないようにするには、コントローラの該当のアクション内に以下の記載をします。
$this->autoRender = false;
POSTデータを取得する
POSTデータを取得するには、以下のように記載します。グローバル変数の$_FILES 内の情報も含めて、フォームからのすべてのPOST値がここに入ります。
変数の$postDataには、取得したデータが格納されます。
$postData = $this->params['form'];
------------------------------
作成日:2016年01月02日
更新日:2016年06月18日
------------------------------