发布于 2015-11-19 10:28:13 | 174 次阅读 | 评论: 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的实例