红联Linux门户
Linux帮助

CrossPHP 1.5.0发布, 功能增强及文档完善

发布时间:2015-10-21 11:30:46来源:红联作者:empast
1.5.0 更新说明

一. 新增功能

增加Cross\Core\Delegate::on方法, 用于在框架执行流程中执行自定义函数
$web = Cross\Core\Delegate::loadApp('web'); $web->on('dispatcher', function() use($web) { echo 'before dispatcher'; }); $web->on('obRender', function($content) use($web) { echo 'after obRender'; }); $web->run();

增强REST运行方式
$web = Cross\Core\Delegate::loadApp('web'); $rest = $web->rest(); $rest->get('/', function() { echo 'Hello CrossPHP!'; }); $rest->run();
参数及正则验证
$web = Cross\Core\Delegate::loadApp('web'); $rest = $web->rest(); $rest->rules(array( 'name' => "/^\w+$/", )); $rest->get('/hi-{:name}', function ($name) { echo 'Hi ' . $name; }); $rest->run();
和MVC结合
$web = Cross\Core\Delegate::loadApp('web'); $rest = $web->rest(); $rest->get('/', function () use ($web) { $web->get('main:index'); }); $rest->run();

增加数据表前缀配置, 在db.config.php中使用prefix指定, 手动拼接SQL时, 需要调用$this->getPrefix('table')来获取完整表名, 其他使用方式不变

修改了app的启动方式, 增强了各app之间的独立性, 调整了继承关系, FrameBase不再从Application继承

二. BUG修复

修复mRun不能正确识别请求uri的bug
$web = Cross\Core\Delegate::loadApp('web'); $web->map('/hello', 'Main:index'); $web->mRun();
map和mRun()用于限制访问, 只有在map中注册的uri才生效

三. 优化及功能更新

运行在CLI模式下时,不再发送HTTP头

Application::initController(), 更早捕获异常

去掉Cross\Core\Delegate::cliRun()中的一个中间变量

调整cli模式下的异常模板

可见性及注释调整

优化自动加载时对文件是否存在的判断

Router新增一个方法, 用于统一获取请求URI

简化config类, parse方法不再支持文件

rRun()方法的第一个参数, 只需实现RouterInterface接口. 取消rRun()的第二个参数

优化Response中的contentType设置

软件详情:http://git.oschina.net/ideaa/crossphp

来自:开源中国社区
文章评论

共有 0 条评论