CrossPHP 1.3.0 发布, 轻量高效的PHP开发框架

一. 新增

  1. 为Module成员属性$this->link增加链式风格的查询语法

    $this->link
         ->select(*)
         ->from('table')
         ->where(array('a'=>1, 'b'=>array('>', 1)))
         ->limit(1)
         ->stmt()->fetchAll(\PDO::FETCH_ASSOC);
  2. Cross\Core\Delegate中增加cliRun(), 用于处理命令行模式下的调用

    Cross\Core\Delegate::loadApp('cron')->cliRun();

    假设以上文件位于/path/cli/index.php, 在命令行下的调用方法为:php /path/cli/index.php 控制器:方法 参数传递的参数在控制器内部使用$this->params获取

  3. Cross\MVC\View增加两个方法url和sUrl分别用于生成连接和生成加密连接(与link, slink作用一致)

  4. 增加一个用PHP生成HTML的库Cross\Lib\Document\HTML

    echo HTML::div('crossphp');
    echo HTML::a(array('@content'=>'crossphp', 'href'=>'http://www.crossphp.com'));
    echo HTML::div(array('@content' => 'crossphp', 'style'=>'border:1px solid #dddddd;padding:20px;'),
             HTML::a(array('@content'=>'crossphp', 'href'=>'http://www.crossphp.com'))
          );
    echo HTML::form(array('method'=>'get'),
             HTML::div(
                 HTML::label('User Name:', HTML::input(array('type'=>'text'))),
                 HTML::label('Password :', HTML::input(array('type'=>'password'))),
                 HTML::label('          ', HTML::input(array('type'=>'submit', 'value'=>'submit')))
             )
         );

二. 优化

  1. Cross\Core\Helper中用于字符串加解密的encodeParams()方法性能提升

  2. 在Cross\Core\FrameBase中增加一个成员属性http_auth_key,用于生成COOKIE时指定加密的key

  3. PgSQL下的limit行为和mysql的limit行为保持一致

  4. Cross\MVC\Module中的getLink()变为私有并不再接受参数, 增加getLinkType获取link的类型,getLinkConfig获取link的配置, 增加getModel用于创建一个与指定数据库的连接

  5. Cross\MVC\View::link不再接受第三个参数

  6. Cross\DB\Drivers\PDOSqlDriver中的add方法当lastinsertid大于0时返回lastinsertid, 否则总是返回true(不抛异常的情况下)

  7. 批量插入数据时, 先对数据格式进行验证