2007年7月7日(土曜日)

AssetManager の改造

カテゴリー: - Ryuji @ 00時02分26秒

cubson が生成するコードでは、AssetManger を通して各テーブルのハンドラを取得するようになっています。
自前のカスタムハンドラを作成して、それを使いたいときはコンストラクタで mAssetList に登録することになってます。

・参考「 cubson/壱型フレーム・開発ガイド/アセットマネージャ

しかし、カスタムハンドラを作成するたびに、AssetManager を編集するのは面倒です。

そこで、AssetManager の _createHandler メソッドを次のように書き換えて使っています。


    function &_createHandler($name)
    {
        // customHandlerチェック
        $file = XOOPS_MODULE_PATH.'/'.$this->mDirname.'/class/customHandler/'.ucfirst($name).'.class.php';
        if(file_exists($file)){
            require_once($file);
            $className = ucfirst($this->mDirname).'_'.ucfirst($name).'CustomHandler';
            $handler = new $className($GLOBALS['xoopsDB']);
            return $handler;
        }

return xoops_getmodulehandler($name, $this->mDirname); }

これで、class/customHandler/ 下にカスタムハンドラがあれば、そちらが利用されるようになります。
※カスタムハンドラのクラス名は Dirname_TablenameCustomHandler にします。


RSS feed for comments on this post.

ƤˤϡޤȤդƤޤ

Ȥ

ʤߥȤդ뤳ȤϽޤ

10 queries. 0.008 sec.
Powered by WordPress Module based on WordPress ME & WordPress

〒104-0061 東京都中央区銀座1丁目3番3号 G1ビル7階
お問い合わせ TEL 03-3524-8860

Copyright(c) 2012 RYUS.All Rights Reserved.