情弱エンジニアのなかのblog

一人前のエンジニアになる為のブログです

CakePHPのBehaviorを自作する方法

Modelを拡張させる方法

現在cakePHPでアプリを作っていてBehaviorの自作について理解したので手順等記載していきます。 Behaviorを自作するときの基本の基本になります。

1.なぜBehaviorを作るのか

まずCakePHPアプリ制作において、なぜBehaviorを使うのかというところですが 例えばModelに新しい機能を作ったとして、複数のModelでも使うことになり 利用するModelでいちいち同じ処理を書くのは手間になります。

そこでBehaviorというものを使って共通する処理を一つの場所に書いて それをModelで使いまわそうというものになります。

2.実装の仕方

Behaviorを作ることになったら app/Model/Behaviorに追加していきます。 今回はごくごく簡単な処理を確認していきます。

class TestBehavior extends ModelBehavior {

    public function test() {
        //返り値を「5」にしておきます
        return 5;
    }
}

続いて利用したいModelを編集していきます。

//利用したいBehaviorを指定します
public $actsAs = array('Test');

Modelに記載するのはこれだけになります!

2.処理をを出力する

続いてその処理をControllerからViewに渡してみます。

ControllerでBehaviorのメソッドを呼び出します。

$data = $this->Model->test();
$this->set("data",$data);

最後にViewで表示してみます。

echo $data;

とすると返り値に指定した5が出力されます。

といったここまでがBehaviorの実装の流れになります。 Behaviorでいい感じの処理を作ったら再度記事をあげます。

それでは