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

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

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

ideaa
ideaa
crossphp和传统的MVC框架有很多不同, 组织管理代码的方式不同, M的含义不同, V也不是单纯的一个模板文件夹, 按crossphp的方式做好web以后,再提供接口什么的,也只是改改配置而已. 从某种意义上来说crossphp是传统MVC的增强版, 也更现代, 遵循PSR, 完全的OOP, 没有乱七八糟的函数, 支持Composer, 智能的路由解析, 注释配置等. crossphp从一开始就很注重效率(比ci还快,其他框架请和ci做对比), 和扩展性, 可以很放方便的和swoole, yar等结合.
ideaa
ideaa

引用来自“fatrbaby”的评论

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

引用来自“wamper”的评论

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

引用来自“kideny”的评论

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

链式查询只是新增的一种选择,一般用下面这些就够了
http://api.crossphp.com/class-Cross.I.SqlInterface.html
卖爷爷的老红薯
卖爷爷的老红薯
thinkphp老早就有这种连贯式的查询语法了,感觉国内的框架越来越同质化了。
返回顶部
顶部