⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pear.php

📁 Joomla!是一套获得过多个奖项的内容管理系统(Content Management System, CMS)。Joomla!采用PHP+MySQL数据库开发
💻 PHP
📖 第 1 页 / 共 3 页
字号:
    function loadExtension($ext)    {        if (!extension_loaded($ext)) {            // if either returns true dl() will produce a FATAL error, stop that            if ((ini_get('enable_dl') != 1) || (ini_get('safe_mode') == 1)) {                return false;            }            if (OS_WINDOWS) {                $suffix = '.dll';            } elseif (PHP_OS == 'HP-UX') {                $suffix = '.sl';            } elseif (PHP_OS == 'AIX') {                $suffix = '.a';            } elseif (PHP_OS == 'OSX') {                $suffix = '.bundle';            } else {                $suffix = '.so';            }            return @dl('php_'.$ext.$suffix) || @dl($ext.$suffix);        }        return true;    }    // }}}}// {{{ _PEAR_call_destructors()function _PEAR_call_destructors(){    global $_PEAR_destructor_object_list;    if (is_array($_PEAR_destructor_object_list) &&        sizeof($_PEAR_destructor_object_list))    {        reset($_PEAR_destructor_object_list);        if (@PEAR::getStaticProperty('PEAR', 'destructlifo')) {            $_PEAR_destructor_object_list = array_reverse($_PEAR_destructor_object_list);        }        while (list($k, $objref) = each($_PEAR_destructor_object_list)) {            $classname = get_class($objref);            while ($classname) {                $destructor = "_$classname";                if (method_exists($objref, $destructor)) {                    $objref->$destructor();                    break;                } else {                    $classname = get_parent_class($classname);                }            }        }        // Empty the object list to ensure that destructors are        // not called more than once.        $_PEAR_destructor_object_list = array();    }    // Now call the shutdown functions    if (is_array($GLOBALS['_PEAR_shutdown_funcs']) AND !empty($GLOBALS['_PEAR_shutdown_funcs'])) {        foreach ($GLOBALS['_PEAR_shutdown_funcs'] as $value) {            call_user_func_array($value[0], $value[1]);        }    }}// }}}/** * Standard PEAR error class for PHP 4 * * This class is supserseded by {@link PEAR_Exception} in PHP 5 * * @category   pear * @package    PEAR * @author     Stig Bakken <ssb@php.net> * @author     Tomas V.V. Cox <cox@idecnet.com> * @author     Gregory Beaver <cellog@php.net> * @copyright  1997-2006 The PHP Group * @license    http://www.php.net/license/3_0.txt  PHP License 3.0 * @version    Release: 1.4.10 * @link       http://pear.php.net/manual/en/core.pear.pear-error.php * @see        PEAR::raiseError(), PEAR::throwError() * @since      Class available since PHP 4.0.2 */class PEAR_Error{    // {{{ properties    var $error_message_prefix = '';    var $mode                 = PEAR_ERROR_RETURN;    var $level                = E_USER_NOTICE;    var $code                 = -1;    var $message              = '';    var $userinfo             = '';    var $backtrace            = null;    // }}}    // {{{ constructor    /**     * PEAR_Error constructor     *     * @param string $message  message     *     * @param int $code     (optional) error code     *     * @param int $mode     (optional) error mode, one of: PEAR_ERROR_RETURN,     * PEAR_ERROR_PRINT, PEAR_ERROR_DIE, PEAR_ERROR_TRIGGER,     * PEAR_ERROR_CALLBACK or PEAR_ERROR_EXCEPTION     *     * @param mixed $options   (optional) error level, _OR_ in the case of     * PEAR_ERROR_CALLBACK, the callback function or object/method     * tuple.     *     * @param string $userinfo (optional) additional user/debug info     *     * @access public     *     */    function PEAR_Error($message = 'unknown error', $code = null,                        $mode = null, $options = null, $userinfo = null)    {        if ($mode === null) {            $mode = PEAR_ERROR_RETURN;        }        $this->message   = $message;        $this->code      = $code;        $this->mode      = $mode;        $this->userinfo  = $userinfo;        if (function_exists("debug_backtrace")) {            if (@!PEAR::getStaticProperty('PEAR_Error', 'skiptrace')) {                $this->backtrace = debug_backtrace();            }        }        if ($mode & PEAR_ERROR_CALLBACK) {            $this->level = E_USER_NOTICE;            $this->callback = $options;        } else {            if ($options === null) {                $options = E_USER_NOTICE;            }            $this->level = $options;            $this->callback = null;        }        if ($this->mode & PEAR_ERROR_PRINT) {            if (is_null($options) || is_int($options)) {                $format = "%s";            } else {                $format = $options;            }            printf($format, $this->getMessage());        }        if ($this->mode & PEAR_ERROR_TRIGGER) {            trigger_error($this->getMessage(), $this->level);        }        if ($this->mode & PEAR_ERROR_DIE) {            $msg = $this->getMessage();            if (is_null($options) || is_int($options)) {                $format = "%s";                if (substr($msg, -1) != "\n") {                    $msg .= "\n";                }            } else {                $format = $options;            }            die(sprintf($format, $msg));        }        if ($this->mode & PEAR_ERROR_CALLBACK) {            if (is_callable($this->callback)) {                call_user_func($this->callback, $this);            }        }        if ($this->mode & PEAR_ERROR_EXCEPTION) {            trigger_error("PEAR_ERROR_EXCEPTION is obsolete, use class PEAR_Exception for exceptions", E_USER_WARNING);            eval('$e = new Exception($this->message, $this->code);throw($e);');        }    }    // }}}    // {{{ getMode()    /**     * Get the error mode from an error object.     *     * @return int error mode     * @access public     */    function getMode() {        return $this->mode;    }    // }}}    // {{{ getCallback()    /**     * Get the callback function/method from an error object.     *     * @return mixed callback function or object/method array     * @access public     */    function getCallback() {        return $this->callback;    }    // }}}    // {{{ getMessage()    /**     * Get the error message from an error object.     *     * @return  string  full error message     * @access public     */    function getMessage()    {        return ($this->error_message_prefix . $this->message);    }    // }}}    // {{{ getCode()    /**     * Get error code from an error object     *     * @return int error code     * @access public     */     function getCode()     {        return $this->code;     }    // }}}    // {{{ getType()    /**     * Get the name of this error/exception.     *     * @return string error/exception name (type)     * @access public     */    function getType()    {        return get_class($this);    }    // }}}    // {{{ getUserInfo()    /**     * Get additional user-supplied information.     *     * @return string user-supplied information     * @access public     */    function getUserInfo()    {        return $this->userinfo;    }    // }}}    // {{{ getDebugInfo()    /**     * Get additional debug information supplied by the application.     *     * @return string debug information     * @access public     */    function getDebugInfo()    {        return $this->getUserInfo();    }    // }}}    // {{{ getBacktrace()    /**     * Get the call backtrace from where the error was generated.     * Supported with PHP 4.3.0 or newer.     *     * @param int $frame (optional) what frame to fetch     * @return array Backtrace, or NULL if not available.     * @access public     */    function getBacktrace($frame = null)    {        if (defined('PEAR_IGNORE_BACKTRACE')) {            return null;        }        if ($frame === null) {            return $this->backtrace;        }        return $this->backtrace[$frame];    }    // }}}    // {{{ addUserInfo()    function addUserInfo($info)    {        if (empty($this->userinfo)) {            $this->userinfo = $info;        } else {            $this->userinfo .= " ** $info";        }    }    // }}}    // {{{ toString()    /**     * Make a string representation of this object.     *     * @return string a string with an object summary     * @access public     */    function toString() {        $modes = array();        $levels = array(E_USER_NOTICE  => 'notice',                        E_USER_WARNING => 'warning',                        E_USER_ERROR   => 'error');        if ($this->mode & PEAR_ERROR_CALLBACK) {            if (is_array($this->callback)) {                $callback = (is_object($this->callback[0]) ?                    strtolower(get_class($this->callback[0])) :                    $this->callback[0]) . '::' .                    $this->callback[1];            } else {                $callback = $this->callback;            }            return sprintf('[%s: message="%s" code=%d mode=callback '.                           'callback=%s prefix="%s" info="%s"]',                           strtolower(get_class($this)), $this->message, $this->code,                           $callback, $this->error_message_prefix,                           $this->userinfo);        }        if ($this->mode & PEAR_ERROR_PRINT) {            $modes[] = 'print';        }        if ($this->mode & PEAR_ERROR_TRIGGER) {            $modes[] = 'trigger';        }        if ($this->mode & PEAR_ERROR_DIE) {            $modes[] = 'die';        }        if ($this->mode & PEAR_ERROR_RETURN) {            $modes[] = 'return';        }        return sprintf('[%s: message="%s" code=%d mode=%s level=%s '.                       'prefix="%s" info="%s"]',                       strtolower(get_class($this)), $this->message, $this->code,                       implode("|", $modes), $levels[$this->level],                       $this->error_message_prefix,                       $this->userinfo);    }    // }}}}/* * Local Variables: * mode: php * tab-width: 4 * c-basic-offset: 4 * End: */?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -