Version 2.0.12 of PHP framework Yii has been released. Installation and upgrade instructions are available here .
Version 2.0.12 is a minor release of Yii 2.0. It includes more than a hundred improvements and fixes .
The release includes several changes that may affect existing applications. These changes are described in UPGRADE.md .
Thanks to the Yii community for supporting the project!
You can follow the development of the framework by putting an asterisk on GitHub . You can also subscribe to Twitter and Facebook .
This release was delayed, because the team was busy with other things. For example, we are working on a new site and YiiConf
- Conference on Yii , which will be held very soon in Moscow.
Since Yii 2.1 is already being developed , make sure that the version in your composer.json
spelled as ~2.0.12
, and not >=
or *
. So, with release 2.1, your project will definitely not break.
Below we look at the most interesting release changes. A complete list can be found in CHANGELOG .
Coverage tests are very important for the timely detection of problems. By the release of @ vladis84 , @boboldehampsink , @Kolyunya, and other members of the Yii community helped us extend the code coverage.
@ schmunk42 set up additional testing based on docker and deployed it to GitLab . Some tests are still falling there. Mainly due to differences in data for internationalization. This will be fixed a little later.
The database layer has received several improvements in expressions. Now they can be used in \yii\db\QueryTrait::limit()
, \yii\db\QueryTrait::offset()
and \yii\data\Sort
.
MSSQL support has improved significantly. The speed of reading the schema has significantly increased and the method yii\db\mssql\QueryBuilder::resetSequence()
been implemented.
yii\base\Security::hkdf()
been improved. Now, if possible, use hash_hkdf()
from PHP> = 7.1.2.yii\captcha\CaptchaAction
, mt_rand()
now used instead of rand()
.The migration template now uses safeUp()
and safeDown()
by default. In the event that schema changes in a transaction are not supported (for example, MySQL), the changes are applied without transactions.
The various components of the framework have default values:
\yii\data\SqlDataProvider
now \yii\data\SqlDataProvider
records itself in the case when totalCount
not specified.yii\grid\DataColumn
automatically generated as a drop-down list if the format
set to boolean
.The yii cache
command began to warn that it could not clear the APC cache from the console.
yii\filters\AccessRule
now allows you to pass parameters to the role check function.
yii\web\UrlRule::createUrl()
yii\web\UrlManager
added to yii\web\UrlRule::createUrl()
if rules are used with defaults.yii\data\ActiveDataProvider
does not make requests in the case when the number of models is zero.StringHelper
learned to work with URL-safe base64 through the methods encode()
/ decode()
. This can be useful for various tokens.
yii\helpers\Html::img()
now allows you to specify srcset
:
[php] echo Html::img('/base-url', [ 'srcset' => [ '100w' => '/example-100w', '500w' => '/example-500w', '1500w' => '/example-1500w', ], ]);
For yii\widgets\LinkPager
you can render the current page button as disabled. To do this, disableCurrentPageButton
must be set to true.
Access control and validators began to require fewer dependencies:
yii\filters\AccessControl
can now be used without the user
component.Yii::$app
.Source: https://habr.com/ru/post/330324/
All Articles