A5下载文章资讯

分类分类

MicroPHP 2.2.1 发布

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

展开全部

相关

说两句网友评论
    我要跟贴
    取消