CrossPHP 1.3.0 发布, 轻量高效的PHP开发框架 - 开源中国社区
CrossPHP 1.3.0 发布, 轻量高效的PHP开发框架
ideaa 2015年06月16日

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

ideaa ideaa 发布于2015年06月16日 收藏 20 评论 12

腾讯云-1小时搭建人工智能应用,让技术更容易入门>>>  

1.3.0 更新说明


一. 新增

  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. 批量插入数据时, 先对数据格式进行验证

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:CrossPHP 1.3.0 发布, 轻量高效的PHP开发框架
分享
评论(12)
最新评论
0
crossphp和传统的MVC框架有很多不同, 组织管理代码的方式不同, M的含义不同, V也不是单纯的一个模板文件夹, 按crossphp的方式做好web以后,再提供接口什么的,也只是改改配置而已. 从某种意义上来说crossphp是传统MVC的增强版, 也更现代, 遵循PSR, 完全的OOP, 没有乱七八糟的函数, 支持Composer, 智能的路由解析, 注释配置等. crossphp从一开始就很注重效率(比ci还快,其他框架请和ci做对比), 和扩展性, 可以很放方便的和swoole, yar等结合.
0

引用来自“fatrbaby”的评论

thinkphp拉低了国内php开发者的水平。
crossphp绝对和thinkphp没半毛钱关系, 没有所谓的同质化, 也没有受他思想的影响
0

引用来自“wamper”的评论

module和model没弄清吗?
很早就解释过了 crossphp中的M确实是module---用来管理多种数据来源, 不是model
0
module和model没弄清吗?
0
thinkphp拉低了国内php开发者的水平。
0
我不禁捂着蛋。
0
->select(*) 醉了
0
框架好比岛国AV里面的按摩棒啊,程序猿干久了,必须借助棒棒才能发射~
0

引用来自“kideny”的评论

thinkphp老早就有这种连贯式的查询语法了,感觉国内的框架越来越同质化了。
crossphp和thinkphp还是有很大不同的

链式查询只是新增的一种选择,一般用下面这些就够了
http://api.crossphp.com/class-Cross.I.SqlInterface.html
0
thinkphp老早就有这种连贯式的查询语法了,感觉国内的框架越来越同质化了。
0
相互学习嘛
0
框架太多了

程序员怎么受得了
顶部