AssetManager の改造
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 にします。
Comments Off
RSS feed for comments on this post.
ƤˤϡޤȤդƤޤ
Ȥ
ʤߥȤդ뤳ȤϽޤ