CakePHP2.0 DBを利用しない場合の設定

notoです。

現在少しだけCakePHP2.0を手探り状態で触っております。Cakeのログ出力は相変わらずシンプルすぎます、PHPUnit採用したのであれば、log4phpも採用してくれてもいいじゃないかと。

しかしコアライブラリを眺めてるとログエンジン指定できるみたいなので、CakePHP2.0でlog4php使うtipsも近々報告できたらなと、漠然と思っております。

今回は、DBを利用しない場合のCakePHP2.0の使い方になります。毎回忘れてしまうので備忘録として。

モデルを利用しない

他のサービスのAPIなどを利用して単純に表示のみ行いたい場合は、DBの利用はせずに、取得結果をキャッシュしてゴニョゴニョすると思います。 文章で説明してもわかりづらい(自分の文章が)のでコードで逃げます。

usesプロパティは、モデルを利用するのであればモデル名を指定しますが、モデルの利用はしないので「null」を指定します。

app/Controller/HogesController.php
1
2
3
4
5
6
7
8
9
<?php
class HogesController extends AppController{

    /**
     * モデルの使用はしない
     */
    public $uses = null;

}

これでこのHogesControllerはモデルを使用しませんよと教えてあげたことになります。

DBも利用しない

アプリケーション全体でDBを利用しない場合、app以下にAppModelクラスを作成し、モデル全体にDBの利用はしないと教えてあげます。

app/AppModel.php
1
2
3
4
5
6
7
8
9
<?php

class AppModel extends Model {

    /*
    * DBを利用しない
    */
    public $useTable = false;
}

例えば、特定のモデルはDB利用したいよという場合は、AppModelモデルではなく、DBを利用したくないモデルにuseTableプロパティの設定をしてあげる必要がありますのでご注意を。

このあたりは1.3系と変わらないですね。

Comments