发布于 2015-11-19 10:28:13 | 154 次阅读 | 评论: 0 | 来源: 网友投递
CrossPHP 轻量级PHP5开发框架
CrossPHP是一个高效, 轻量, 易扩展的PHP5开发框架.
CrossPHP 1.5.2 发布了!
增加一个匿名函数mismatching
$web = CrossCoreDelegate::loadApp('web'); $rest = $web->rest(); $rest->get('/hi', function(){ echo 'Hi cross php!'; }); $rest->on('mismatching', function(){ echo 'mismatching'; }); try { $rest->run(); } catch (Exception $e) { $web->get('error', array('exception' => $e)); }
uri不匹配时执行mismatching匿名函数, 调用$web->run()再次匹配url,mismatching在rest和mRun模式下生效
增加匿名函数setParams用于为$this->params赋值时验证参数的值
$web = CrossCoreDelegate::loadApp('web'); $web->on('setParams', function( &$v, $k ) { if ($k == 'p') { if(! ctype_digit($v) ) { //to some thing... } } }); try { $web->run(); } catch (Exception $e) { $web->get('error', array('exception' => $e)); }
第一个参数为$this->params中参数的值, 第二个参数为$this->params的键
优化参数, 除了url为2以外, 默认合并$_GET中的值到$this->params
/** * @cp_params p, order=1 */ function foo() { print_r($this->params); }
当@cp_params生效时, 解析参数的过程实际上是为@cp_params赋值的过程. 当参数不足或为空时, 返回默认值:
array('p'=>'', 'order'=>1)
当参数多余时则丢弃.
Request和Response放到CrossHttp的命名空间
增加CacheDriver和CacheRequest命名空间, 分别存放缓存驱动和处理请求缓存的类
增强类型约束
优化rest的uri匹配算法
ClosureContainer增加isRegister方法, 用于检查匿名函数是否已经注册
完善Redis缓存类
app配置文件中新增加encrypt项, 用于配置uri和auth加解密key
统一从Delegate::getResponse()中获取Response的实例