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日
------------------------------

ページの先頭へ