2.0.9版本是yii 2.0版本的次发布版,它包含了60多个新的小功能和一些bug修复。
有两个小改动可能会影响你现有的程序,所以检查一下 UPGRADE.md 文件
在这里由衷的感谢我们的yii社区,给我们提供宝贵的建议和讨论,这次的发布你们功不可没。
你可以通过查看 Yii 2.0 GitHub上的程序来跟进这次更新,你也可以在yii2中文网上和yii开发者交流来了解这次的更新
这也正是这个消息在论坛上的发布流程。
下面我们总结了在这次发布中一些最为重要的功能/改动。这一系列改动的完整列表可以在CHANGELOG中找到
Action filter
\yii\base\ActionFilter现在只除了选项之外都支持通配符,当连接到模块和程序的时候将会显现出它的优点return [
'as filter' => [
'class' => 'app\filters\SomeFilter',
'only' => [
'particular/*', // all actions in controller 'particular'
'*/captcha', // all 'captcha' actions in all controllers
],
],
// ...
];
性能提升
通过检查查询和添加适当的索引,增加了对数据库后端的消息转换性能。
Oracle数据库图表的读取速度更快了
模式生成和转移
用于迁移的模式生成器在功能上的到了一定的增强。
首先,一个新的方法 null()显示指定为空性,行在空性的情况下默认值将会自动设置为null。$type = $this->string(42)->null();
另外一个新的方法被用于在query生成的结束加上sql。$type = $this->string(15)->notNull()->append('collate ascii_bin')->append('character set ascii');
用于自动生成代码的迁移语法调整了一点。_table和_column后缀现在需要了:./yii migrate/create create_user_table
./yii migrate/create add_name_column_to_user_table
数据的提供和widgets小插件
此版本的表格和数据提供的增强都是关于标签的,\yii\data\ArrayDataProvider得到一个 $modelClass属性来指定一个模型:当数组数据为空时将会提供行标签。 另外 \yii\grid\DataColumn定义了所有数据列的基础行为,现在将试图从filtermodel中提取属性标签
重构
一个叫做CheckAccessInterface 的子接口在RBAC ManagerInterface中提取了出来,这将有利于自定义访问检查的实现。
\yii\web\User::loginByCookie()被重构了,为了更容易被重载
Assets
当在asset包中列文件时,你可以设置路径为空,从而让asset manager不记录他们
这有利于为开发环境注册额外的scripts<?php
namespace common\assets;
use yii\web\AssetBundle;
class ReactAsset extends AssetBundle
{
public $sourcePath = null;
public $js = [
YII_ENV_DEV ? "//fb.me/react-15.0.1.js" : "//fb.me/react-15.0.1.min.js",
YII_ENV_DEV ? "//fb.me/react-dom-15.0.1.js" : "//fb.me/react-dom-15.0.1.min.js",
YII_ENV_DEV ? "//cdnjs.cloudflare.com/ajax/libs/babel-core/5.6.15/browser.js" : null,
];
}
Logging
\yii\log\Target::$logVars now supports fine-grained configurations of what's to be logged:
_SESSION - log global session variable. 这个和以前一样.
_SESSION.id - log only id from session.
!_SESSION.secret - don't log secret from session.
The logic for such filtering was extracted to \yii\helpers\ArrayHelper::filter() so you can use it if needed.
MARKDOWN
你可以给yii\helpers\Markdown配置默认风格 通过$defaultFlavor.