Home > CakePHP Tips > 設定 > アプリケーション拡張

アプリケーション拡張

CakePHP をインストールした後にほぼ共通で発生する作業。
アプリケーション独自の共通する拡張を書くところを用意する。

参照

アプリケーションの拡張 :: CakePHPの構造 :: CakePHPの基本原則 :: マニュアル :: 1.2 Collection :: The Cookbook

/app/app_controller.php の設置

アプリ独自のコントローラ共通の拡張を書く。
特に共通のコールバックはここに書いている。

  • beforeFilter()、すべてのコントローラのアクションロジックの実行前に呼ばれます。
  • beforeRender()、コントローラロジックの実行後、しかしビューの表示(render)前に実行されます。
  • afterFilter()、すべてのコントローラロジックを実行し、ビューの表示(render)が終わった後に実行されます。手動でrender()をコントローラから呼び、その後にロジックを実行しているのでない限り、afterRenderとafterFilterには違いがありません。

コントローラの拡張 :: CakePHPの構造 :: CakePHPの基本原則 :: マニュアル :: 1.2 Collection :: The Cookbook

※コンポーネントでも拡張できるので使い分けに注意。

初期ソース

<?php
config('app');
class AppController extends Controller
{
    function beforeRender() {
        parent::beforeFilter();
    }
}

/app/app_model.php の設置

アプリ独自のモデル共通の拡張を書く。
共通の Validation はここに書いている。※本来別の場所に書くべき?

  • beforeFind()
  • afterFind()
  • beforeValidate()
  • beforeSave()
  • afterSave()
  • beforeDelete()
  • afterDelete()

モデルの拡張 :: CakePHPの構造 :: CakePHPの基本原則 :: マニュアル :: 1.2 Collection :: The Cookbook

初期ソース

<?php
class AppModel extends Model {
}

/app/app_helper.php の設置

アプリ独自のヘルパー共通の拡張を書く。
※まだ使ったことがない。

あわせて読みたい関連記事

Home > CakePHP Tips > 設定 > アプリケーション拡張

検索
Feeds
メタ情報

ページの先頭へ