新RabbitMQ精讲 提升工程实践能力 培养架构思维

513 阅读1分钟

新RabbitMQ精讲 提升工程实践能力 培养架构思维

V: ititit111222333

`<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); /**

  • CodeIgniter
  • An open source application development framework for PHP 5.1.6 or newer
  • @package CodeIgniter
  • @author ExpressionEngine Dev Team
  • @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
  • @license codeigniter.com/user_guide/…
  • @link codeigniter.com
  • @since Version 1.0
  • @filesource */

// ------------------------------------------------------------------------

/**

  • Exceptions Class

  • @package CodeIgniter

  • @subpackage Libraries

  • @category Exceptions

  • @author ExpressionEngine Dev Team

  • @link codeigniter.com/user_guide/… */ class CI_Exceptions { var action;varaction; var severity; var message;varmessage; var filename; var $line;

    /**

    • Nesting level of the output buffering mechanism
    • @var int
    • @access public */ var $ob_level;

    /**

    • List if available error levels
    • @var array
    • @access public */ var $levels = array( E_ERROR => 'Error', E_WARNING => 'Warning', E_PARSE => 'Parsing Error', E_NOTICE => 'Notice', E_CORE_ERROR => 'Core Error', E_CORE_WARNING => 'Core Warning', E_COMPILE_ERROR => 'Compile Error', E_COMPILE_WARNING => 'Compile Warning', E_USER_ERROR => 'User Error', E_USER_WARNING => 'User Warning', E_USER_NOTICE => 'User Notice', E_STRICT => 'Runtime Notice' );

    /**

    • Constructor */ public function __construct() { $this->ob_level = ob_get_level(); // Note: Do not log messages from this constructor. }

    // --------------------------------------------------------------------

    /**

    • Exception Logger

    • This function logs PHP generated error messages

    • @access private

    • @param string the error severity

    • @param string the error string

    • @param string the error filepath

    • @param string the error line number

    • @return string */ function log_exception(severity,severity, message, filepath,filepath, line) { severity=(!isset(severity = ( ! isset(this->levels[severity]))?severity])) ? severity : this>levels[this->levels[severity];

      log_message('error', 'Severity: '.severity.>.severity.' --> '.message. ' '.filepath.' '.line, TRUE); }

    // --------------------------------------------------------------------

    /**

    • 404 Page Not Found Handler

    • @access private

    • @param string the page

    • @param bool log error yes/no

    • @return string */ function show_404(page=,page = '', log_error = TRUE) { heading="404PageNotFound";heading = "404 Page Not Found"; message = "The page you requested was not found.";

      // By default we log this, but allow a dev to skip it if (log_error) { log_message('error', '404 Page Not Found --> '.page); }

      echo this>showerror(this->show_error(heading, $message, 'error_404', 404); exit; }

    // --------------------------------------------------------------------

    /**

    • General Error Page

    • This function takes an error message as input

    • (either as a string or an array) and displays

    • it using the specified template.

    • @access private

    • @param string the heading

    • @param string the message

    • @param string the template name

    • @param int the status code

    • @return string */ function show_error(heading,heading, message, template=errorgeneral,template = 'error_general', status_code = 500) { set_status_header($status_code);

      message=<p>.implode(</p><p>,(!isarray(message = '<p>'.implode('</p><p>', ( ! is_array(message)) ? array(message):message) : message).'

      ';

      if (ob_get_level() > this>oblevel+1)obendflush();obstart();include(APPPATH.errors/.this->ob_level + 1) { ob_end_flush(); } ob_start(); include(APPPATH.'errors/'.template.'.php'); buffer=obgetcontents();obendclean();returnbuffer = ob_get_contents(); ob_end_clean(); return buffer; }

    // --------------------------------------------------------------------

    /**

    • Native PHP error handler

    • @access private

    • @param string the error severity

    • @param string the error string

    • @param string the error filepath

    • @param string the error line number

    • @return string */ function show_php_error(severity,severity, message, filepath,filepath, line) { severity=(!isset(severity = ( ! isset(this->levels[severity]))?severity])) ? severity : this>levels[this->levels[severity];

      filepath=strreplace("","/",filepath = str_replace("\\", "/", filepath);

      // For safety reasons we do not show the full file path if (FALSE !== strpos(filepath, '/')) { x = explode('/', filepath);filepath); filepath = x[count(x[count(x)-2].'/'.end($x); }

      if (ob_get_level() > this>oblevel+1)obendflush();obstart();include(APPPATH.errors/errorphp.php);this->ob_level + 1) { ob_end_flush(); } ob_start(); include(APPPATH.'errors/error_php.php'); buffer = ob_get_contents(); ob_end_clean(); echo $buffer; }

} // END Exceptions Class

/* End of file Exceptions.php / / Location: ./system/core/Exceptions.php */ `