Home »  » 2006年 » 11月 » 04日

XOOPS Cube Legacy2.1 BetaのXoopsErrorHandler

flagflag

少し時間がたちますけど、GIJOEさんの記事、「Cube2.1betaをデバッグする前に」で、XoopsErrorHandlerの復活について書かれていましたが・・・・

引用:

このあたり、エラーハンドラの有効無効を選択式にする、という話をminahitoさんから聞いていたような気もするのですが、ぱっと見で一般設定には見つからないので・・・・・

この部分、minaitoさんの意図はXOOPS Cube Legacy2.1から、デバッグマネージャの初期化がDelegateによって実装されたこともあって、preloadで換装できますという意味だと思います。
ということでpreloadの実装サンプルです。
/preload/DisableErrorHandler.class.phpというファイル名で、



<?php
class DisableErrorHandler extends XCube_ActionFilter
{
    function 
preFilter() {
        
$this->mController->mSetupDebugger->reset();
        
$this->mController->mSetupDebugger->add('My_DebuggerManager::createInstance');
    }
}
    
class 
My_DebuggerManager extends Legacy_DebuggerManager
{
    function 
createInstance(&$instance$debug_mode)
    {
        if (
is_object($instance)) {
            return;
        }
    
        switch(
$debug_mode) {
            case 
XOOPS_DEBUG_PHP:
                
$instance = new My_PHPDebugger();
                break;
    
            case 
XOOPS_DEBUG_MYSQL:
                
$instance = new My_MysqlDebugger();
                break;
    
            case 
XOOPS_DEBUG_SMARTY:
                
$instance = new My_SmartyDebugger();
                break;
    
            case 
XOOPS_DEBUG_OFF:
            default:
                
$instance = new Legacy_NonDebugger();
                break;
        }
    }
}
    
class 
My_PHPDebugger extends Legacy_PHPDebugger
{
    function 
prepare()
    {
        
error_reporting(E_ALL);
        
$GLOBALS['xoopsErrorHandler'] = null;
    }
}
    
class 
My_MysqlDebugger extends Legacy_MysqlDebugger
{
    function 
prepare()
    {
        
$GLOBALS['xoopsErrorHandler'] = null;
    }
}
class 
My_SmartyDebugger extends Legacy_SmartyDebugger
{
    function 
prepare()
    {
        
$GLOBALS['xoopsErrorHandler'] = null;
    }
}
?>

という内容でpreloadを作成すると、xoopsErrorHandlerをすべて無効にすることができます。


コメント

このコメントのRSS

  1. すみません・・・・
    ほとんど同じ投稿をとっくの昔に、 How to prevent XoopsErrorHandlerに書かれていたのですね!

    Comment by nobunobu — @

コメントの投稿

ごめんなさい、現在コメントを付けることは出来ません


18 queries. 0.027 sec.
Powered by WordPress Module based on WordPress ME & WordPress

flagflag

メインメニュー

XOOPS初心者サーチ


Add to Google

Xoops Cube Project

XOOPS Cube Project Site

XC Developers Ring

http://img.simpleapi.net/small/http://www.peak.ne.jp/xoops/ SIZE:128x128(7.6KB)