分类分类
2013-11-26 11:15作者:秩名
ver 2.2.1:
增加了:
1.自动创建项目文件夹功能($system['folder_auto_init'] = TRUE;),可以手动开启或关闭。
2.是否自动建立项目文件夹。当开始一个新项目的时候,以前要一个个手动建立文件夹,现在可以在配置里面设置$system['folder_auto_init']=TRUE;设置为TRUE 即可,系统就会自动建立文件夹。
在建立完文件夹后建议设置为FALSE,这样系统就不用每次都检测文件夹是否存在提高性能。
3.灵活的错误控制。
4.$this->database($config = NULL, $is_return = false, $force_new_conn = false)
默认情况下一个配置只有一个数据库驱动对象实例,第二次不再重新连接,使用已经存在的实例。
增加了$force_new_conn参数,该参数为true时每次都使用指定的数据库配置重新连接数据库,使用生成新的数据库实例。
修复了:
1.插件模式下自动加载helper会导致重复加载报错的问题。
2.pathinfo模式路由中有?,路由失效的问题。
比如:index.php/route.index/xxx/ddd/?flag=microphp doIndex($p1=null,$p2=null){$flag=$this->input->get('flag');
}
可以通过?flag=microphp的形式传递get变量。
自定义路由模式时注意,这时候“路由字符串”是route.index/xxx/ddd/&flag=microphp,即?会被&替换。
3.插件模式下WoniuLoader::instance(),自动加载无效的问题。
4.如果使用WoniuRouter::setConfig()使配置发生变化,WoniuLoader::instance(),WoniuModel::instance(),WoniuController::instance()
不会触发变化后配置中的自动加载的问题。
修改了:
1.$this->ajax_echo($code, $tip = '', $data = '',$is_exit = true)
修改为:
$this->ajax_echo($code, $tip = '', $data = '', $jsonp_callback=null,$is_exit = true)以支持jsonp输出。
优化了:
1.WouniuInput->is_ajax(),修改为static;
升级提示:
1.在$system中增加如下配置:
/**
* 是否自动建立项目文件夹
* 当开始一个新项目的时候,可以在配置里面设置为TRUE ,系统就会自动建立文件夹。
* 在建立完文件夹后建议设置为FALSE,这样系统就不用每次都检测文件夹是否存在,提高性能。
*/
$system['folder_auto_init']=FALSE;
/**
* 是否接管误信息
* true:所有错误信息将由系统格式化输出
* false:所有错误信息将原样输出
*/
$system['error_manage'] = FALSE;
/**
* 是否开启错误日志记录
* true:开启,如果开启了,系统将接管错误信息输出,忽略system['error_manage'],
* 同时务必设置自己的错误日志记录处理方法
* false:关闭
*/
$system['log_error'] = FALSE;
/* * --------------------------------错误日志记录处理配置-----------------------
* 错误日志记录处理方法,可以是一个“函数名称”或是“类的静态方法”用数组方式array('class_name'=>'method_name')。
* 提示:
* 1.如果是类,把类按着类库的命名方式命名,然后放到类库目录即可;
* 2.如果是函数,把函数放到一个helper文件里面,然后在$system['helper_file_autoload']自动加载的helper文件里面填写上这个helper文件即可。
* 3.留空则不处理。
* 4.系统会传递给error、exception处理方法5个参数:($errno, $errstr, $errfile, $errline,$strace)
* 参数说明:
* $errno:错误级别,就是PHP里面的E_NOTICE之类的静态变量,错误级别和具体含义对应关系如下,键是代码,值是代码含义。
* array('0'=>'EXCEPTION',//异常信息
* '1' => 'ERROR',//致命的运行时错误。这类错误一般是不可恢复的情况,例如内存分配导致的问题。后果是导致脚本终止不再继续运行。
* '2' => 'WARNING', //运行时警告 (非致命错误)。仅给出提示信息,但是脚本不会终止运行。
* '4' => 'PARSE', //编译时语法解析错误。解析错误仅仅由分析器产生。
* '8' => 'NOTICE', //运行时通知。表示脚本遇到可能会表现为错误的情况,但是在可以正常运行的脚本里面也可能会有类似的通知。
* '16' => 'CORE_ERROR', //在PHP初始化启动过程中发生的致命错误。该错误类似 E_ERROR,但是是由PHP引擎核心产生的。
* '32' => 'CORE_WARNING',//PHP初始化启动过程中发生的警告 (非致命错误) 。类似 E_WARNING,但是是由PHP引擎核心产生的。
* '64' => 'COMPILE_ERROR', //致命编译时错误。类似E_ERROR, 但是是由Zend脚本引擎产生的。
* '128' => 'COMPILE_WARNING', //编译时警告 (非致命错误)。类似 E_WARNING,但是是由Zend脚本引擎产生的。
* '256' => 'USER_ERROR', //用户产生的错误信息。类似 E_ERROR, 但是是由用户自己在代码中使用PHP函数 trigger_error()来产生的。
* '512' => 'USER_WARNING', //用户产生的警告信息。类似 E_WARNING, 但是是由用户自己在代码中使用PHP函数 trigger_error()来产生的。
* '1024' => 'USER_NOTICE',//用户产生的通知信息。类似 E_NOTICE, 但是是由用户自己在代码中使用PHP函数 trigger_error()来产生的。
* '2048' => 'STRICT', //启用 PHP 对代码的修改建议,以确保代码具有最佳的互操作性和向前兼容性。
* '4096' => 'RECOVERABLE_ERROR'//可被捕捉的致命错误。 它表示发生了一个可能非常危险的错误,但是还没有导致PHP引擎处于不稳定的状态。 如果该错误没有被用户自定义句柄捕获 (参见 set_error_handler()),将成为一个 E_ERROR 从而脚本会终止运行。
* '8192' => 'DEPRECATED', //(php5.3)运行时通知。启用后将会对在未来版本中可能无法正常工作的代码给出警告。
* '16384' => 'USER_DEPRECATED', //(php5.3)用户产少的警告信息。 类似 E_DEPRECATED, 但是是由用户自己在代码中使用PHP函数 trigger_error()来产生的。
* );
* 可以通过判断错误级别,然后有针对性的处理。一般我们需要处理的就是致命错误(0,1,4)和一般错误(2,8,2048,8192).
* $errstr:具体的错误信息
* $errfile:出错的文件完整路径
* $errline:出错的行号
* $strace: 调用堆栈信息
* 系统会传递给db_error处理方法2个参数:($errmsg,$strace)
* 参数说明:
* $errmsg:具体的数据库错误信息
* $strace:调用堆栈信息
*/
$system['log_error_handle'] = array('error' => '', //array('ErrorHandle' => 'error_handle'),
'exception' => '', //array('ErrorHandle' =>'exception_handle'),
'db_error' => '', //array('ErrorHandle' => 'db_error_handle') );
MicroPHP 下载地址:http://down.admin5.com/php/106092.html
相关