CakePHPのコントローラー上でよく利用する【set関数】。この関数をもっと見やすく、スマートに書く方法を紹介します。かなり見やすくなるおすすめの記述方法です。
■set関数の普通の書き方
CakePHPでViewに値を渡すとき、以下のように記述すると思います。以下のように記述すると、$hogehogeと$mogemogeでviewからアクセスすることができます。
public function actionName() {
$hogehoge = 'ほげほげほげ';
$mogemoge = 'もげもげ';
$this->set('hogehoge', $hogehoge);
$this->set('mogemoge', $mogemoge);
}
しかし、上記の書き方だと【setする変数の数だけset関数を記述】しないといけないです。set関数が多くなって、視認性もメンテナンス性も悪いです。
そこで利用するのがcompact関数によるsetです。
■PHPのcompact関数によるsetの記述の簡略化
compact関数を利用することでかなりコントローラーをすっきりさせることができます。以下のように記述します。これで、同様に$hogehogeと$mogemogeでviewからアクセスできます。
<?php
public function actionName() {
$hogehoge = 'ほげほげほげ';
$mogemoge = 'もげもげ';
$this->set(compact(['hogehoge' , 'mogemoge']));
}
もし、viewにセットしたい値が10個あってもsetは1行で済みます。変数名とviewでの変数のズレもなくなって便利に利用できます。
是非、利用してみてください。では。