修复多条件下AND条件解析错误的bugphp
'p' => array( 'AND', array(array('<=', 5), array('>', 0)))
修复Cross\MVC\Controller::to()
方法第三个参数无效的bugmysql
删除了不完善的PYInitials库sql
Cross\MVC\View::makeParams()
, 第一个参数强制指定为数组, 仅支持字符串数据库
Cross\Core\CrossArray::get($config, $name = null)
, $config
再也不识别数组数组
非HTML视图再也不加载layer缓存
增长 PATH_INFO
模式下的短URL风格支持(须要使用注释配置 @cp_params
, 来为 $this->params
中的成员命名)app
调用display_type
中指定的方法时, 再也不强制转换大小写(display_type
在init.php配置文件中指定)框架
Cross\MVC\View::makeUri()
生成的uri再也不包含app名称函数
分离SQLAssembler中的条件解析部分(更容易扩展)单元测试
新增对mysql函数INSRT的支持
支持自定义默认数据库名称(在app配置文件init.php中使用sys['default_db']指定)
Cross\Core\Loader::read()
读取.ini文件时, 返回多维数组
优化生成链接的速度
10. 框架内部,判断文件是否存在用is_file代替file_exists
11. 更新单元测试代码,增长了对生成基础SQL语句的条件覆盖
新增一种写法
$this->link->get(table, fields, array('a = ? AND b = ?', array(1, 2))
第一个参数为条件的预处理字符串, 第二个参数为参数列表. 以上写法等同1.3.0如下写法:
$this->link->get(table, fields, array('a' = 1, 'b' = 2))
生成的SQL语句均为 SELECT fields FROM table WHERE a = ? AND b = ?
, 省去条件解析, 因此比1.3.0更高效.
扩展数组语法,用于处理复杂查询条件下的优先级
$this->link->get(table, fields, array( '(a = ? OR b = ?)' => array(1, 2), 'c' => 1, ) 生成的sql语句为 `SELECT fields FROM table WHERE (a = ? OR b = ?) AND c = ?`, 以上语句能够转换为更高效的写法 $this->link->get(table, fields, array( '(a = ? OR b = ?) AND c = ?', array(1, 2, 1) )) 复杂条件下,推荐使用新写法
find方法的 $page
参数支持在外部指定总记录条数 result_count
, 此时内部获取总条数的语句再也不执行, 直接使用外部指定的总条数来生成对应的分页查询语句.
where条件中增长对find_in_set
和regexp
方法的支持
$this->link->get(table, fields, array('name' => array(find_in_set, 'id1, id2...')))
init.php
文件中的router
配置项中的数组再也不表示控制器中action的别名.
router => array( 'help' => array('aliasController', array('a'=>1, 'b' => 2)) ) 以上配置表示为`aliasController`指定别名`help`, 默认参数为 `array('a'=>1, 'b' => 2)`,
为控制器中的方法指定别名用冒号来表示
router => array( 'help:list' => 'help:getList' ) 为`help`控制器中的`getList`指定别名为`list`
文件缓存内部增长读取配置的方法
修复多模板状况下,请求缓存被覆盖的问题
指定URL规则为1或3时, rewrite状态下带?
访问默认控制器报错的bug
Request->getUrlRequest()
增长默认返回值
读取配置文件的值时, $this->config->get('key', params)
, 若是第二个参数的值为数组则返回数组中指定的值
再也不限制控制器中__call
方法对注释配置的识别
Helper增长一个方法用于验证国内身份证号码
View中的 $this->e(array, array_key, default_value)
方法,须要加 echo