改进Error类的appException方法 异常页面发送404信息

简化E快捷方法写法
添加T快捷方法 用于快捷导入Traits
This commit is contained in:
ThinkPHP
2013-04-17 21:20:53 +08:00
parent 7b91d3eb72
commit 1386280ffd
2 changed files with 21 additions and 13 deletions

View File

@@ -29,6 +29,12 @@ class Error {
$error['line'] = $e->getLine();
}
$error['trace'] = $e->getTraceAsString();
// 记录异常日志
Log::record($error['message'],'ERR');
// 发送404信息
header('HTTP/1.1 404 Not Found');
header('Status:404 Not Found');
// 输出异常页面
self::halt($error);
}

View File

@@ -17,6 +17,7 @@ define('THINK_VERSION', '4.0beta');
// 系统常量
defined('THINK_PATH') or define('THINK_PATH', dirname(__FILE__).'/');
defined('LIB_PATH') or define('LIB_PATH', THINK_PATH.'Library/');
defined('TRAIT_PATH') or define('TRAIT_PATH', THINK_PATH.'Traits/');
defined('CORE_PATH') or define('CORE_PATH', LIB_PATH.'Think/');
defined('ORG_PATH') or define('ORG_PATH', LIB_PATH.'Org/');
defined('APP_PATH') or define('APP_PATH', dirname($_SERVER['SCRIPT_FILENAME']).'/');
@@ -136,25 +137,26 @@ function vendor($class, $baseUrl = '', $ext=EXT) {
return Think\Loader::import($class, $baseUrl, $ext);
}
/**
* 快速导入Traits
* @param string $class trait库
* @param string $baseUrl 基础目录
* @param string $ext 类库后缀
* @return boolean
*/
function T($class,$baseUrl = '', $ext=EXT){
if (empty($baseUrl))
$baseUrl = TRAIT_PATH;
return Think\Loader::import($class, $baseUrl, $ext);
}
/**
* 抛出异常处理
* @param string $msg 异常消息
* @param integer $code 异常代码 默认为0
* @return void
*/
function E($msg, $code=0,$url='') {
if(404 == $code && !C('app_debug')) {
if($msg) Think\Log::record($msg,'ERR');
$url = $url?$url:C('url_404_redirect');
if($url) {
header('Location: ' . $url);
}else{
header('HTTP/1.1 404 Not Found');
// 确保FastCGI模式下正常
header('Status:404 Not Found');
}
exit;
}
function E($msg, $code=0) {
throw new Think\Exception($msg, $code);
}