91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP set_error_handler()函數的使用之二

發布時間:2020-07-07 17:05:42 來源:網絡 閱讀:871 作者:好奇喵 欄目:web開發

phpWind的前端控制器AbstractWindFrontController.php中是這樣使用的,



/**
     * 創建并執行當前應用,單應用訪問入口
     */
    public function run() {
        $this->_app = $this->createApplication($this->_config['web-apps'][$this->_appName],
            WindFactory::_getInstance());
        
        set_error_handler(array($this, '_errorHandle'), error_reporting());//調用了當前抽象類中的_errorHandle()方法
        set_exception_handler(array($this, '_exceptionHandle'));
        if ($this->_config['isclosed']) {
            throw new Exception('Sorry, Site has been closed!');
        }
        if ($this->_chain !== null) $this->_chain->getHandler()->handle('onCreate');
        /* @var $router WindRouter */
        $router = $this->_app->getFactory()->getInstance('router');
        $router->route($this->_app->getRequest());
        
        if ($this->_chain !== null) $this->_chain->getHandler()->handle('onStart');
        $this->_app->run($router);
        
        if ($this->_chain !== null) $this->_chain->getHandler()->handle('onResponse');
        $this->_app->getResponse()->sendResponse();
        $this->_app->getFactory()->executeDestroyMethod();
        restore_error_handler();
        restore_exception_handler();
    }



    /**
     * 錯誤處理句柄
     *
     * @param int $errno        
     * @param string $errstr        
     * @param string $errfile        
     * @param int $errline        
     */
    public function _errorHandle($errno, $errstr, $errfile, $errline) {
        if (0 === error_reporting()) return;
        restore_error_handler();
        /* @var $error WindError */
        $error = $this->_app->getFactory()->getInstance('error',
            array(
                $this->_config['web-apps'][$this->_appName]['error-dir'],
                $this->_config['isclosed']));
        $error->errorHandle($errno, $errstr, $errfile, $errline);
    }


最后調用了WindError基類中的errorHandle()方法,用showErrorMessage()將錯誤拋出,如下:

    /**
     * 錯誤處理句柄
     *
     * @param int $errno
     * @param string $errstr
     * @param string $errfile
     * @param int $errline
     */
    public function errorHandle($errno, $errstr, $errfile, $errline) {
        $trace = array();
        if (Wind::$isDebug) {
            $trace = debug_backtrace();
            unset($trace[0]["function"], $trace[0]["args"]);
        }
        $this->showErrorMessage($this->_friendlyErrorType($errno) . ': ' . $errstr, $errfile,
            $errline, $trace, $errno);
    }

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

玉龙| 仪陇县| 阿克陶县| 宾川县| 六枝特区| 松潘县| 合阳县| 鄱阳县| 蕲春县| 太康县| 虹口区| 灵石县| 汉阴县| 全南县| 阳高县| 遂溪县| 乌兰察布市| 汉源县| 辉南县| 延津县| 南郑县| 收藏| 涟水县| 林州市| 上杭县| 龙里县| 柯坪县| 乐昌市| 上饶市| 木里| 疏附县| 聊城市| 康乐县| 禹城市| 鄂托克旗| 株洲县| 霸州市| 苗栗县| 化德县| 柳州市| 凤城市|