Browse Source

Adjusted versioning

tags/3.0.0-alpha1 3.0.0-alpha1
Alexander Makarov 6 years ago
parent
commit
c184ef864e
No known key found for this signature in database
GPG Key ID: 3617B79C6A325E4A
  1. 2
      .travis.yml
  2. 2
      README.md
  3. 2
      composer.json
  4. 2
      docs/guide-ja/db-dao.md
  5. 2
      docs/guide-ja/structure-extensions.md
  6. 2
      docs/guide-ru/tutorial-yii-as-micro-framework.md
  7. 2
      docs/guide/db-dao.md
  8. 12
      docs/guide/intro-yii.md
  9. 2
      docs/guide/runtime-routing.md
  10. 4
      docs/guide/structure-extensions.md
  11. 2
      docs/guide/tutorial-yii-as-micro-framework.md
  12. 18
      docs/guide/tutorial-yii-integration.md
  13. 20
      docs/internals/release.md
  14. 20
      docs/internals/versions.md
  15. 10
      framework/BaseYii.php
  16. 4
      framework/CHANGELOG.md
  17. 2
      framework/README.md
  18. 14
      framework/UPGRADE.md
  19. 8
      framework/base/Application.php
  20. 2
      framework/base/ErrorHandler.php
  21. 4
      framework/caching/Cache.php
  22. 2
      framework/caching/Exception.php
  23. 2
      framework/caching/SimpleCache.php
  24. 2
      framework/caching/TagDependency.php
  25. 2
      framework/db/Connection.php
  26. 4
      framework/helpers/BaseHtmlPurifier.php
  27. 4
      framework/helpers/ReplaceArrayValue.php
  28. 2
      framework/helpers/UnsetArrayValue.php
  29. 2
      framework/http/FileStream.php
  30. 2
      framework/http/MemoryStream.php
  31. 2
      framework/http/MessageTrait.php
  32. 2
      framework/http/ResourceStream.php
  33. 24
      framework/http/UploadedFile.php
  34. 2
      framework/http/Uri.php
  35. 12
      framework/log/Logger.php
  36. 2
      framework/log/LoggerTarget.php
  37. 6
      framework/mail/BaseMailer.php
  38. 2
      framework/mail/Composer.php
  39. 8
      framework/mail/MessageInterface.php
  40. 2
      framework/mail/Template.php
  41. 2
      framework/mutex/Mutex.php
  42. 2
      framework/mutex/SyncException.php
  43. 2
      framework/profile/FileTarget.php
  44. 2
      framework/profile/LogTarget.php
  45. 2
      framework/profile/Profiler.php
  46. 2
      framework/profile/ProfilerInterface.php
  47. 2
      framework/profile/Target.php
  48. 2
      framework/serialize/CallbackSerializer.php
  49. 2
      framework/serialize/IgbinarySerializer.php
  50. 2
      framework/serialize/JsonSerializer.php
  51. 2
      framework/serialize/PhpSerializer.php
  52. 2
      framework/serialize/SerializerInterface.php
  53. 2
      framework/validators/client/ClientValidator.php
  54. 4
      framework/web/AssetConverter.php
  55. 68
      framework/web/Request.php
  56. 4
      framework/web/Response.php
  57. 2
      framework/widgets/ActiveFieldEvent.php
  58. 8
      framework/widgets/ActiveForm.php
  59. 2
      framework/widgets/ActiveFormClientScript.php

2
.travis.yml

@ -17,7 +17,7 @@ group: edge
#branches: #branches:
# only: # only:
# - master # - master
# - 2.1 # - 3.0
# #

2
README.md

@ -19,7 +19,7 @@ The framework is easy to adjust to meet your needs, because Yii has been designe
Installation Installation
------------ ------------
- The minimum required PHP version of Yii 2.1 is PHP 7.1. - The minimum required PHP version of Yii 3.0 is PHP 7.1.
- [Follow the Definitive Guide](https://www.yiiframework.com/doc-2.0/guide-start-installation.html) - [Follow the Definitive Guide](https://www.yiiframework.com/doc-2.0/guide-start-installation.html)
in order to get step by step instructions. in order to get step by step instructions.

2
composer.json

@ -111,7 +111,7 @@
], ],
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "2.0.x-dev" "dev-master": "3.0.x-dev"
} }
} }
} }

2
docs/guide-ja/db-dao.md

@ -19,7 +19,7 @@ Yii 2.0 では、DAO は下記の DBMS のサポートを内蔵しています
- [Oracle](http://www.oracle.com/us/products/database/overview/index.html) - [Oracle](http://www.oracle.com/us/products/database/overview/index.html)
- [MSSQL](https://www.microsoft.com/en-us/sqlserver/default.aspx): バージョン 2008 以上。 - [MSSQL](https://www.microsoft.com/en-us/sqlserver/default.aspx): バージョン 2008 以上。
> Info: Yii 2.1 以降では、CUBRID、Oracle および MSSQL に対する DAO サポートは、フレームワーク内蔵のコア・コンポーネント > Info: Yii 3 以降では、CUBRID、Oracle および MSSQL に対する DAO サポートは、フレームワーク内蔵のコア・コンポーネント
としては提供されていません。それらは、独立した [エクステンション](structure-extensions.md) としてインストールされる としては提供されていません。それらは、独立した [エクステンション](structure-extensions.md) としてインストールされる
必要があります。[yiisoft/yii2-oracle](https://www.yiiframework.com/extension/yiisoft/yii2-oracle) および 必要があります。[yiisoft/yii2-oracle](https://www.yiiframework.com/extension/yiisoft/yii2-oracle) および
[yiisoft/yii2-mssql](https://www.yiiframework.com/extension/yiisoft/yii2-mssql) が [yiisoft/yii2-mssql](https://www.yiiframework.com/extension/yiisoft/yii2-mssql) が

2
docs/guide-ja/structure-extensions.md

@ -441,7 +441,7 @@ Yii は下記のコア・エクステンション (または ["公式エクス
- [yiisoft/yii2-twig](https://github.com/yiisoft/yii2-twig): - [yiisoft/yii2-twig](https://github.com/yiisoft/yii2-twig):
[Twig](http://twig.sensiolabs.org/) に基づいたテンプレート・エンジンを提供します。 [Twig](http://twig.sensiolabs.org/) に基づいたテンプレート・エンジンを提供します。
下記の公式エクステンションは Yii 2.1 以上のためのものです。 下記の公式エクステンションは Yii 3 以上のためのものです。
これらは、Yii 2.0 ではコア・フレームワークに含まれていますので、インストールする必要はありません。. これらは、Yii 2.0 ではコア・フレームワークに含まれていますので、インストールする必要はありません。.
- [yiisoft/yii2-captcha](https://www.yiiframework.com/extension/yiisoft/yii2-captcha): - [yiisoft/yii2-captcha](https://www.yiiframework.com/extension/yiisoft/yii2-captcha):

2
docs/guide-ru/tutorial-yii-as-micro-framework.md

@ -20,7 +20,7 @@ cd micro-app
```json ```json
{ {
"require": { "require": {
"yiisoft/yii2": "~2.1.0" "yiisoft/yii2": "~3.0.0"
} }
} }
``` ```

2
docs/guide/db-dao.md

@ -18,7 +18,7 @@ In Yii 2.0, DAO supports the following databases out of the box:
- [Oracle](http://www.oracle.com/us/products/database/overview/index.html) - [Oracle](http://www.oracle.com/us/products/database/overview/index.html)
- [MSSQL](https://www.microsoft.com/en-us/sqlserver/default.aspx): version 2008 or higher. - [MSSQL](https://www.microsoft.com/en-us/sqlserver/default.aspx): version 2008 or higher.
> Info: In Yii 2.1 and later, the DAO supports for CUBRID, Oracle and MSSQL are no longer provided as the built-in > Info: In Yii 3 and later, the DAO supports for CUBRID, Oracle and MSSQL are no longer provided as the built-in
core components of the framework. They have to be installed as the separated [extensions](structure-extensions.md). core components of the framework. They have to be installed as the separated [extensions](structure-extensions.md).
There are [yiisoft/yii2-oracle](https://www.yiiframework.com/extension/yiisoft/yii2-oracle) and There are [yiisoft/yii2-oracle](https://www.yiiframework.com/extension/yiisoft/yii2-oracle) and
[yiisoft/yii2-mssql](https://www.yiiframework.com/extension/yiisoft/yii2-mssql) in the [yiisoft/yii2-mssql](https://www.yiiframework.com/extension/yiisoft/yii2-mssql) in the

12
docs/guide/intro-yii.md

@ -41,20 +41,20 @@ via simple and elegant interfaces.
Yii Versions Yii Versions
------------ ------------
Yii currently has three major versions available: 1.1, 2.0 and 2.1. Version 1.1 is the old generation and is now in maintenance mode. Version 2.0 is a complete rewrite of Yii, adopting the latest Yii currently has three major versions available: 1.1, 2.0 and 3. Version 1.1 is the old generation and is now in maintenance mode. Version 2.0 is a complete rewrite of Yii, adopting the latest
technologies and protocols, including Composer, PSR, namespaces, traits, and so forth. Version 2.1 is a cleaned up and refactored version of 2.0 that represents the current technologies and protocols, including Composer, PSR, namespaces, traits, and so forth. Version 3 is a cleaned up and refactored version of 2.0 that represents the current
generation of the framework and will receive the main development efforts over the next few years. generation of the framework and will receive the main development efforts over the next few years.
This guide is mainly about version 2.1. This guide is mainly about version 3.
Requirements and Prerequisites Requirements and Prerequisites
------------------------------ ------------------------------
Yii 2.1 requires PHP 7.1 or above. You can find more detailed Yii 3 requires PHP 7.1 or above. You can find more detailed
requirements for individual features by running the requirement checker included in every Yii release. requirements for individual features by running the requirement checker included in every Yii release.
Using Yii requires basic knowledge of object-oriented programming (OOP), as Yii is a pure OOP-based framework. Using Yii requires basic knowledge of object-oriented programming (OOP), as Yii is a pure OOP-based framework.
Yii 2.1 also makes use of the latest features of PHP, such as [namespaces](http://www.php.net/manual/en/language.namespaces.php) Yii 3 also makes use of the latest features of PHP, such as [namespaces](http://www.php.net/manual/en/language.namespaces.php)
and [traits](http://www.php.net/manual/en/language.oop5.traits.php). Understanding these concepts will help and [traits](http://www.php.net/manual/en/language.oop5.traits.php). Understanding these concepts will help
you more easily pick up Yii 2.1. you more easily pick up Yii 3.

2
docs/guide/runtime-routing.md

@ -533,7 +533,7 @@ and `http://example.com/path/` are different URLs, serving the same content for
By default normalizer collapses consecutive slashes, adds or removes trailing slashes depending on whether the By default normalizer collapses consecutive slashes, adds or removes trailing slashes depending on whether the
suffix has a trailing slash or not, and redirects to the normalized version of the URL using [permanent redirection](https://en.wikipedia.org/wiki/HTTP_301). suffix has a trailing slash or not, and redirects to the normalized version of the URL using [permanent redirection](https://en.wikipedia.org/wiki/HTTP_301).
The normalizer can be configured globally for the URL manager or individually for each rule - by default each rule will use the normalizer The normalizer can be configured globally for the URL manager or individually for each rule - by default each rule will use the normalizer
from URL manager. Since version 2.1.0 normalizer is enabled by default in [[yii\web\UrlManager|UrlManager]]. You can set from URL manager. Since version 3.0.0 normalizer is enabled by default in [[yii\web\UrlManager|UrlManager]]. You can set
[[yii\web\UrlRule::$normalizer|UrlRule::$normalizer]] to `false` to disable normalization for particular URL rule. [[yii\web\UrlRule::$normalizer|UrlRule::$normalizer]] to `false` to disable normalization for particular URL rule.
The following shows an example configuration for the UrlNormalizer: The following shows an example configuration for the UrlNormalizer:

4
docs/guide/structure-extensions.md

@ -141,7 +141,7 @@ The following example shows the `composer.json` file for the `yiisoft/yii2-imagi
// package dependencies // package dependencies
"require": { "require": {
"yiisoft/yii2": "~2.1.0", "yiisoft/yii2": "~3.0.0",
"imagine/imagine": "v0.5.0" "imagine/imagine": "v0.5.0"
}, },
@ -451,7 +451,7 @@ registered on [Packagist](https://packagist.org/) and can be easily installed as
- [yiisoft/yii2-twig](https://www.yiiframework.com/extension/yiisoft/yii2-twig): - [yiisoft/yii2-twig](https://www.yiiframework.com/extension/yiisoft/yii2-twig):
provides a template engine based on [Twig](http://twig.sensiolabs.org/). provides a template engine based on [Twig](http://twig.sensiolabs.org/).
The following official extensions are for Yii 2.1 and above. The following official extensions are for Yii 3.0.0 and above.
You don't need to install them for Yii 2.0, since they are included in the core framework. You don't need to install them for Yii 2.0, since they are included in the core framework.
- [yiisoft/yii2-captcha](https://www.yiiframework.com/extension/yiisoft/yii2-captcha): - [yiisoft/yii2-captcha](https://www.yiiframework.com/extension/yiisoft/yii2-captcha):

2
docs/guide/tutorial-yii-as-micro-framework.md

@ -20,7 +20,7 @@ Create file `composer.json` under the `micro-app` directory using your favorite
```json ```json
{ {
"require": { "require": {
"yiisoft/yii2": "~2.1.0" "yiisoft/yii2": "~3.0.0"
} }
} }
``` ```

18
docs/guide/tutorial-yii-integration.md

@ -119,17 +119,17 @@ Now you can use most features provided by Yii. For example, you can create Activ
to work with databases. to work with databases.
Using Yii 2 with Yii 1 <span id="using-both-yii2-yii1"></span> Using Yii 3 with Yii 1 <span id="using-both-yii2-yii1"></span>
---------------------- ----------------------
If you were using Yii 1 previously, it is likely you have a running Yii 1 application. Instead of rewriting If you were using Yii 1 previously, it is likely you have a running Yii 1 application. Instead of rewriting
the whole application in Yii 2, you may just want to enhance it using some of the features only available in Yii 2. the whole application in Yii 3, you may just want to enhance it using some of the features only available in Yii 3.
This can be achieved as described below. This can be achieved as described below.
> Note: Yii 2.1 requires PHP 7.1 or above. You should make sure that both your server and the existing application > Note: Yii 3 requires PHP 7.1 or above. You should make sure that both your server and the existing application
> support this. > support this.
First, install Yii 2 in your existing application by following the instructions given in the [last subsection](#using-yii-in-others). First, install Yii 3 in your existing application by following the instructions given in the [last subsection](#using-yii-in-others).
Second, modify the entry script of the application as follows, Second, modify the entry script of the application as follows,
@ -138,20 +138,20 @@ Second, modify the entry script of the application as follows,
require __DIR__ . '/../components/Yii.php'; require __DIR__ . '/../components/Yii.php';
// configuration for Yii 2 application // configuration for Yii 2 application
$yii2Config = require __DIR__ . '/../config/yii2/web.php'; $yii3Config = require __DIR__ . '/../config/yii3/web.php';
new yii\web\Application($yii2Config); // Do NOT call run(), yii2 app is only used as service locator new yii\web\Application($yii3Config); // Do NOT call run(), yii2 app is only used as service locator
// configuration for Yii 1 application // configuration for Yii 1 application
$yii1Config = require __DIR__ . '/../config/yii1/main.php'; $yii1Config = require __DIR__ . '/../config/yii1/main.php';
Yii::createWebApplication($yii1Config)->run(); Yii::createWebApplication($yii1Config)->run();
``` ```
Because both Yii 1 and Yii 2 have the `Yii` class, you should create a customized version to combine them. Because both Yii 1 and Yii 3 have the `Yii` class, you should create a customized version to combine them.
The above code includes the customized `Yii` class file, which can be created as follows. The above code includes the customized `Yii` class file, which can be created as follows.
```php ```php
$yii2path = '/path/to/yii2'; $yii3path = '/path/to/yii3';
require $yii2path . '/BaseYii.php'; // Yii 2.x require $yii3path . '/BaseYii.php'; // Yii 3.x
$yii1path = '/path/to/yii1'; $yii1path = '/path/to/yii1';
require $yii1path . '/YiiBase.php'; // Yii 1.x require $yii1path . '/YiiBase.php'; // Yii 1.x

20
docs/internals/release.md

@ -63,23 +63,23 @@ Making an extension release includes only one command (e.g. for redis):
The default release command will release a new minor version from the currently checked out branch. The default release command will release a new minor version from the currently checked out branch.
To release another version than the default, you have to specify it using the `--version` option, e.g. To release another version than the default, you have to specify it using the `--version` option, e.g.
`--version=2.1.0`, or `--version=2.1.0-beta`. `--version=3.0.0`, or `--version=3.0.0-alpha`.
#### Release a new major version e.g. 2.1.0 #### Release a new major version e.g. 3.0.0
Releasing a new major version includes a branch change as described in the Releasing a new major version includes a branch change as described in the
[versioning policy](versions.md). [versioning policy](versions.md).
The following describes an example of releasing version `2.1.0` which has been The following describes an example of releasing version `3.0.0` which has been
developed on the `2.1` branch derived from `master`. `master` has contained the `2.0.x` versions developed on the `3.0` branch derived from `master`. `master` has contained the `2.0.x` versions
before. before.
- create a new branch `2.0` from `master` - create a new branch `3.0` from `master`
- ensure composer.json does not contain a branch alias on this branch anymore. - ensure composer.json does not contain a branch alias on this branch anymore.
- merge necessary changes from `master` to `2.1` - merge necessary changes from `master` to `3.0`
- point `master` to the lastest commit on `2.1` - point `master` to the lastest commit on `3.0`
- adjust composer.json branch alias for master to `2.1.x-dev`. - adjust composer.json branch alias for master to `3.0.x-dev`.
- delete `2.1` branch - delete `3.0` branch
Now check out `master` and run the release command with the `--version=2.1.0` option. Now check out `master` and run the release command with the `--version=3.0.0` option.

20
docs/internals/versions.md

@ -2,22 +2,24 @@ Yii Versioning
============== ==============
This document summarizes the versioning policy of Yii. Our current versioning strategy is This document summarizes the versioning policy of Yii. Our current versioning strategy is
a variant of [Semantic Versioning](http://semver.org/). [Semantic Versioning](http://semver.org/).
Within the core developer team, we have emphasized several times that it is important to keep 2.0.x releases backwards Within the core developer team, we have emphasized several times that it is important to keep major releases backwards
compatible. But this is an ideal plan. In a real world this is hard to achieve. See [Backwards Compatibility](bc.md) compatible. But this is an ideal plan. In a real world this is hard to achieve. See [Backwards Compatibility](bc.md)
document for detailed description of what BC is. document for detailed description of what BC is.
In summary, our versioning policy for Yii 2 is as follows: ## Yii 2.0.x versioning policy
## Version numbers In Yii 2.0.x Yii wasn't following SemVer precisely. Our versioning policy for Yii 2 is as follows:
### Version numbers
Version numbers are in the format of `2.x.y.z`, where the `z` can be skipped for releases for which `z` is `0`. Version numbers are in the format of `2.x.y.z`, where the `z` can be skipped for releases for which `z` is `0`.
A possible Yii version 3 is not covered here as we'd expect it to be like 2.0 over 1.0. We expect that this only happens every 3 to 5 years, A possible Yii version 3 is not covered here as we'd expect it to be like 2.0 over 1.0. We expect that this only happens every 3 to 5 years,
depending on external technology advancement (such as PHP upgraded from 5.0 to 5.4). depending on external technology advancement (such as PHP upgraded from 5.0 to 5.4).
### `2.X.0`: major releases #### `2.X.0`: major releases
Backwards compatibility breaking releases, which contain major features and changes that may break BC. Upgrading from Backwards compatibility breaking releases, which contain major features and changes that may break BC. Upgrading from
earlier versions may not be trivial, but a complete upgrade guide will be available. earlier versions may not be trivial, but a complete upgrade guide will be available.
@ -30,7 +32,7 @@ earlier versions may not be trivial, but a complete upgrade guide will be availa
* Requires major news releases and marketing effort. * Requires major news releases and marketing effort.
### `2.x.Y`: minor releases #### `2.x.Y`: minor releases
Minor releases, which are mostly BC-compatible. Ideally, we hope they contain only changes that do not affect backwards Minor releases, which are mostly BC-compatible. Ideally, we hope they contain only changes that do not affect backwards
compatibility. However, it is not always possible to keep everything 100% BC-compatible, so upgrade notes are recorded compatibility. However, it is not always possible to keep everything 100% BC-compatible, so upgrade notes are recorded
@ -46,7 +48,7 @@ to it so that users can enjoy them earlier.
* With news announcements. Project site will be updated. * With news announcements. Project site will be updated.
### `2.x.y.Z`: patch releases #### `2.x.y.Z`: patch releases
Patch releases, which should be 100% BC-compatible, containing bug fixes only. Patch releases, which should be 100% BC-compatible, containing bug fixes only.
No news announcement or project site update (unless it contains major/security issue fixes). No news announcement or project site update (unless it contains major/security issue fixes).
@ -59,7 +61,7 @@ The release process is mostly automatic.
* Should be merged back to master branch on release * Should be merged back to master branch on release
## Branching policy ### Branching policy
* `master` branch is the development branch for the current stable major release, currently `2.0.x` versions. * `master` branch is the development branch for the current stable major release, currently `2.0.x` versions.
* Each new major release will be developed on a branch named after the version number, e.g. `2.1`. * Each new major release will be developed on a branch named after the version number, e.g. `2.1`.
@ -74,7 +76,7 @@ The following image shows an illustration of the branches on changing commit his
![Branching policy](versions-branches.png) ![Branching policy](versions-branches.png)
## Releases ### Releases
Framework and official extension projects are released independently of each other, i.e. version number mismatch between Framework and official extension projects are released independently of each other, i.e. version number mismatch between
framework and extension is expected. The Application Templates are always released together with the framework. framework and extension is expected. The Application Templates are always released together with the framework.

10
framework/BaseYii.php

@ -91,7 +91,7 @@ class BaseYii
*/ */
public static function getVersion() public static function getVersion()
{ {
return '2.1.0-dev'; return '3.0.0-dev';
} }
/** /**
@ -361,13 +361,13 @@ class BaseYii
/** /**
* @var ProfilerInterface profiler instance. * @var ProfilerInterface profiler instance.
* @since 2.1 * @since 3.0.0
*/ */
private static $_profiler; private static $_profiler;
/** /**
* @return ProfilerInterface profiler instance. * @return ProfilerInterface profiler instance.
* @since 2.1 * @since 3.0.0
*/ */
public static function getProfiler() public static function getProfiler()
{ {
@ -379,7 +379,7 @@ class BaseYii
/** /**
* @param ProfilerInterface|\Closure|array|null $profiler profiler instance or its DI compatible configuration. * @param ProfilerInterface|\Closure|array|null $profiler profiler instance or its DI compatible configuration.
* @since 2.1 * @since 3.0.0
*/ */
public static function setProfiler($profiler) public static function setProfiler($profiler)
{ {
@ -407,7 +407,7 @@ class BaseYii
* @param mixed $message the message to be logged. This can be a simple string or a more * @param mixed $message the message to be logged. This can be a simple string or a more
* complex data structure, such as array. * complex data structure, such as array.
* @param string $category the category of the message. * @param string $category the category of the message.
* @since 2.1.0 * @since 3.0.0
*/ */
public static function log($level, $message, $category = 'application') public static function log($level, $message, $category = 'application')
{ {

4
framework/CHANGELOG.md

@ -1,7 +1,7 @@
Yii Framework 2 Change Log Yii Framework 2 Change Log
========================== ==========================
2.1.0 under development 3.0.0 under development
----------------------- -----------------------
- Bug #16065: Remove using `date.timezone` at `yii\base\Application`, use `date_default_timezone_get()` instead (sashsvamir) - Bug #16065: Remove using `date.timezone` at `yii\base\Application`, use `date_default_timezone_get()` instead (sashsvamir)
@ -604,7 +604,7 @@ Yii Framework 2 Change Log
- Enh #12758: Added the ability to use instances of `\yii\db\Query` class as values in the `\yii\db\QueryBuilder::insert()` method (PowerGamer1) - Enh #12758: Added the ability to use instances of `\yii\db\Query` class as values in the `\yii\db\QueryBuilder::insert()` method (PowerGamer1)
- Enh #12771: Skip \yii\rbac\PhpManager::checkAccessRecursive and \yii\rbac\DbManager::checkAccessRecursive if role assignments are empty (Ni-san) - Enh #12771: Skip \yii\rbac\PhpManager::checkAccessRecursive and \yii\rbac\DbManager::checkAccessRecursive if role assignments are empty (Ni-san)
- Enh #12790: Added `scrollToErrorOffset` option for `yii\widgets\ActiveForm` which adds ability to specify offset in pixels when scrolling to error (mg-code) - Enh #12790: Added `scrollToErrorOffset` option for `yii\widgets\ActiveForm` which adds ability to specify offset in pixels when scrolling to error (mg-code)
- Enh #12798: Changed `yii\cache\Dependency::getHasChanged()` (deprecated, to be removed in 2.1) to `yii\cache\Dependency::isChanged()` (dynasource) - Enh #12798: Changed `yii\cache\Dependency::getHasChanged()` (deprecated, to be removed in 3.0) to `yii\cache\Dependency::isChanged()` (dynasource)
- Enh #12807: Added console controller checks for `yii\console\controllers\HelpController` (schmunk42) - Enh #12807: Added console controller checks for `yii\console\controllers\HelpController` (schmunk42)
- Enh #12816: Added `columnSchemaClass` option for `yii\db\Schema` which adds ability to specify custom `yii\db\ColumnSchema` class (nanodesu88) - Enh #12816: Added `columnSchemaClass` option for `yii\db\Schema` which adds ability to specify custom `yii\db\ColumnSchema` class (nanodesu88)
- Enh #12854: Added `RangeNotSatisfiableHttpException` to cover HTTP error 416 file request exceptions (zalatov) - Enh #12854: Added `RangeNotSatisfiableHttpException` to cover HTTP error 416 file request exceptions (zalatov)

2
framework/README.md

@ -23,7 +23,7 @@ composer require yiisoft/yii2
or add or add
```json ```json
"yiisoft/yii2": "~2.1.0", "yiisoft/yii2": "~3.0.0",
``` ```
to the require section of your composer.json. to the require section of your composer.json.

14
framework/UPGRADE.md

@ -60,7 +60,7 @@ Upgrade from Yii 2.0.x
providing ability to setup custom mail headers. Make sure your provide implementation for those methods, while providing ability to setup custom mail headers. Make sure your provide implementation for those methods, while
creating your own mailer solution. creating your own mailer solution.
* `::className()` method calls should be replaced with [native](http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.class.class) `::class`. * `::className()` method calls should be replaced with [native](http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.class.class) `::class`.
When upgrading to Yii 2.1, You should do a global search and replace for `::className()` to `::class`. When upgrading to Yii 3.0, You should do a global search and replace for `::className()` to `::class`.
All calls on objects via `->className()` should be replaced by a call to `get_class()`. All calls on objects via `->className()` should be replaced by a call to `get_class()`.
* Dependency injection (DI) layer has been replaced by "yiisoft/di" package. Make sure to update class/object definitions at * Dependency injection (DI) layer has been replaced by "yiisoft/di" package. Make sure to update class/object definitions at
your code to match the syntax used by it. In particular: you should use '__class' array key instead of 'class' for your code to match the syntax used by it. In particular: you should use '__class' array key instead of 'class' for
@ -131,9 +131,9 @@ Upgrade from Yii 2.0.x
* Console command used to clear cache now calls related actions "clear" instead of "flush". * Console command used to clear cache now calls related actions "clear" instead of "flush".
* Yii autoloader was removed in favor of Composer-generated one. You should remove explicit inclusion of `Yii.php` from * Yii autoloader was removed in favor of Composer-generated one. You should remove explicit inclusion of `Yii.php` from
your entry `index.php` scripts. In case you have relied on class map, use `composer.json` instead of configuring it your entry `index.php` scripts. In case you have relied on class map, use `composer.json` instead of configuring it
with PHP. For details please refer to [guide on autoloading](https://github.com/yiisoft/yii2/blob/2.1/docs/guide/concept-autoloading.md), with PHP. For details please refer to [guide on autoloading](https://github.com/yiisoft/yii2/blob/3.0/docs/guide/concept-autoloading.md),
[guide on customizing helpers](https://github.com/yiisoft/yii2/blob/2.1/docs/guide/helper-overview.md#customizing-helper-classes-) [guide on customizing helpers](https://github.com/yiisoft/yii2/blob/3.0/docs/guide/helper-overview.md#customizing-helper-classes-)
and [guide on Working with Third-Party Code](https://github.com/yiisoft/yii2/blob/2.1/docs/guide/tutorial-yii-integration.md). and [guide on Working with Third-Party Code](https://github.com/yiisoft/yii2/blob/3.0/docs/guide/tutorial-yii-integration.md).
* The signature of `yii\web\RequestParserInterface::parse()` was changed. The method now accepts the `yii\web\Request` instance * The signature of `yii\web\RequestParserInterface::parse()` was changed. The method now accepts the `yii\web\Request` instance
as a sole argument. Make sure you declare and implement this method correctly, while creating your own request parser. as a sole argument. Make sure you declare and implement this method correctly, while creating your own request parser.
* Uploaded file retrieve methods have been moved from `yii\http\UploadedFile` to `yii\web\Request`. You should use `Request::getUploadedFileByName()` * Uploaded file retrieve methods have been moved from `yii\http\UploadedFile` to `yii\web\Request`. You should use `Request::getUploadedFileByName()`
@ -263,7 +263,7 @@ Upgrade from Yii 2.0.13
* `yii\db\PdoValue` class has been introduced to replace a special syntax that was used to declare PDO parameter type * `yii\db\PdoValue` class has been introduced to replace a special syntax that was used to declare PDO parameter type
when binding parameters to an SQL command, for example: `['value', \PDO::PARAM_STR]`. when binding parameters to an SQL command, for example: `['value', \PDO::PARAM_STR]`.
You should use `new PdoValue('value', \PDO::PARAM_STR)` instead. Old syntax will be removed in Yii 2.1. You should use `new PdoValue('value', \PDO::PARAM_STR)` instead. Old syntax will be removed in Yii 3.0.
* `yii\db\QueryBuilder::conditionBuilders` property and method-based condition builders are no longer used. * `yii\db\QueryBuilder::conditionBuilders` property and method-based condition builders are no longer used.
Class-based conditions and builders are introduced instead to provide more flexibility, extensibility and Class-based conditions and builders are introduced instead to provide more flexibility, extensibility and
@ -277,13 +277,13 @@ Upgrade from Yii 2.0.13
* Log targets (like `yii\log\EmailTarget`) are now throwing `yii\log\LogRuntimeException` in case log can not be properly exported. * Log targets (like `yii\log\EmailTarget`) are now throwing `yii\log\LogRuntimeException` in case log can not be properly exported.
* You can start preparing your application for Yii 2.1 by doing the following: * You can start preparing your application for Yii 3.0 by doing the following:
- Replace `::className()` calls with `::class` (if you’re running PHP 5.5+). - Replace `::className()` calls with `::class` (if you’re running PHP 5.5+).
- Replace usages of `yii\base\InvalidParamException` with `yii\base\InvalidArgumentException`. - Replace usages of `yii\base\InvalidParamException` with `yii\base\InvalidArgumentException`.
- Replace calls to `Yii::trace()` with `Yii::debug()`. - Replace calls to `Yii::trace()` with `Yii::debug()`.
- Remove calls to `yii\BaseYii::powered()`. - Remove calls to `yii\BaseYii::powered()`.
- If you are using XCache or Zend data cache, those are going away in 2.1 so you might want to start looking for an alternative. - If you are using XCache or Zend data cache, those are going away in 3.0 so you might want to start looking for an alternative.
* In case you aren't using CSRF cookies (REST APIs etc.) you should turn them off explicitly by setting * In case you aren't using CSRF cookies (REST APIs etc.) you should turn them off explicitly by setting
`\yii\web\Request::$enableCsrfCookie` to `false` in your config file. `\yii\web\Request::$enableCsrfCookie` to `false` in your config file.

8
framework/base/Application.php

@ -510,7 +510,7 @@ abstract class Application extends Module
/** /**
* Sets up or configure the logger instance. * Sets up or configure the logger instance.
* @param \psr\log\LoggerInterface|\Closure|array|null $logger the logger object or its DI compatible configuration. * @param \psr\log\LoggerInterface|\Closure|array|null $logger the logger object or its DI compatible configuration.
* @since 2.1.0 * @since 3.0.0
*/ */
public function setLogger($logger) public function setLogger($logger)
{ {
@ -520,7 +520,7 @@ abstract class Application extends Module
/** /**
* Returns the logger instance. * Returns the logger instance.
* @return \psr\log\LoggerInterface the logger instance. * @return \psr\log\LoggerInterface the logger instance.
* @since 2.1.0 * @since 3.0.0
*/ */
public function getLogger() public function getLogger()
{ {
@ -530,7 +530,7 @@ abstract class Application extends Module
/** /**
* Sets up or configure the profiler instance. * Sets up or configure the profiler instance.
* @param \yii\profile\ProfilerInterface|\Closure|array|null $profiler the profiler object or its DI compatible configuration. * @param \yii\profile\ProfilerInterface|\Closure|array|null $profiler the profiler object or its DI compatible configuration.
* @since 2.1.0 * @since 3.0.0
*/ */
public function setProfiler($profiler) public function setProfiler($profiler)
{ {
@ -540,7 +540,7 @@ abstract class Application extends Module
/** /**
* Returns the profiler instance. * Returns the profiler instance.
* @return \yii\profile\ProfilerInterface profiler instance. * @return \yii\profile\ProfilerInterface profiler instance.
* @since 2.1.0 * @since 3.0.0
*/ */
public function getProfiler() public function getProfiler()
{ {

2
framework/base/ErrorHandler.php

@ -303,7 +303,7 @@ abstract class ErrorHandler extends Component
/** /**
* Attempts to flush logger messages. * Attempts to flush logger messages.
* @since 2.1 * @since 3.0.0
*/ */
protected function flushLogger() protected function flushLogger()
{ {

4
framework/caching/Cache.php

@ -71,7 +71,7 @@ class Cache extends Component implements CacheInterface
* @var \Psr\SimpleCache\CacheInterface|array|\Closure|string actual cache handler or its DI compatible configuration. * @var \Psr\SimpleCache\CacheInterface|array|\Closure|string actual cache handler or its DI compatible configuration.
* After the Cache object is created, if you want to change this property, you should only assign it * After the Cache object is created, if you want to change this property, you should only assign it
* with a [[\Psr\SimpleCache\CacheInterface]] instance. * with a [[\Psr\SimpleCache\CacheInterface]] instance.
* @since 2.1.0 * @since 3.0.0
*/ */
public $handler; public $handler;
@ -229,7 +229,7 @@ class Cache extends Component implements CacheInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
* @since 2.1 * @since 3.0.0
*/ */
public function deleteMultiple($keys) public function deleteMultiple($keys)
{ {

2
framework/caching/Exception.php

@ -11,7 +11,7 @@ namespace yii\caching;
* Exception represents an exception that is caused by some Caching-related operations. * Exception represents an exception that is caused by some Caching-related operations.
* *
* @author Paul Klimov <klimov.paul@gmail.com> * @author Paul Klimov <klimov.paul@gmail.com>
* @since 2.1.0 * @since 3.0.0
*/ */
class Exception extends \yii\base\Exception implements \Psr\SimpleCache\CacheException class Exception extends \yii\base\Exception implements \Psr\SimpleCache\CacheException
{ {

2
framework/caching/SimpleCache.php

@ -31,7 +31,7 @@ use yii\serialize\SerializerInterface;
* @see CacheInterface * @see CacheInterface
* *
* @author Paul Klimov <klimov.paul@gmail.com> * @author Paul Klimov <klimov.paul@gmail.com>
* @since 2.1.0 * @since 3.0.0
*/ */
abstract class SimpleCache extends Component implements CacheInterface abstract class SimpleCache extends Component implements CacheInterface
{ {

2
framework/caching/TagDependency.php

@ -122,7 +122,7 @@ class TagDependency extends Dependency
* for any particular cache storage. * for any particular cache storage.
* @param string $tag tag name. * @param string $tag tag name.
* @return string cache key. * @return string cache key.
* @since 2.1.0 * @since 3.0.0
*/ */
protected static function buildCacheKey($tag) protected static function buildCacheKey($tag)
{ {

2
framework/db/Connection.php

@ -178,7 +178,7 @@ class Connection extends Component
* For [SQLite](http://php.net/manual/en/ref.pdo-sqlite.connection.php) you may use a [path alias](guide:concept-aliases) * For [SQLite](http://php.net/manual/en/ref.pdo-sqlite.connection.php) you may use a [path alias](guide:concept-aliases)
* for specifying the database path, e.g. `sqlite:@app/data/db.sql`. * for specifying the database path, e.g. `sqlite:@app/data/db.sql`.
* *
* Since version 2.1.0 an array can be passed to contruct a DSN string. * Since version 3.0.0 an array can be passed to contruct a DSN string.
* The `driver` array key is used as the driver prefix of the DSN, * The `driver` array key is used as the driver prefix of the DSN,
* all further key-value pairs are rendered as `key=value` and concatenated by `;`. For example: * all further key-value pairs are rendered as `key=value` and concatenated by `;`. For example:
* *

4
framework/helpers/BaseHtmlPurifier.php

@ -70,7 +70,7 @@ class BaseHtmlPurifier
* @param string $suffix String to append to the end of the truncated string. * @param string $suffix String to append to the end of the truncated string.
* @param string|bool $encoding * @param string|bool $encoding
* @return string * @return string
* @since 2.1.0 * @since 3.0.0
*/ */
public static function truncate($html, $count, $suffix, $encoding = false) public static function truncate($html, $count, $suffix, $encoding = false)
{ {
@ -147,7 +147,7 @@ class BaseHtmlPurifier
* *
* @return \HTMLPurifier_Config HTMLPurifier config instance. * @return \HTMLPurifier_Config HTMLPurifier config instance.
* @throws InvalidConfigException in case "ezyang/htmlpurifier" package is not available. * @throws InvalidConfigException in case "ezyang/htmlpurifier" package is not available.
* @since 2.1.0 * @since 3.0.0
*/ */
public static function createConfig($config = null) public static function createConfig($config = null)
{ {

4
framework/helpers/ReplaceArrayValue.php

@ -7,6 +7,8 @@
namespace yii\helpers; namespace yii\helpers;
use yii\base\InvalidConfigException;
/** /**
* Object that represents the replacement of array value while performing [[ArrayHelper::merge()]]. * Object that represents the replacement of array value while performing [[ArrayHelper::merge()]].
* *
@ -76,7 +78,7 @@ class ReplaceArrayValue
* @param array $state * @param array $state
* @return self * @return self
* @see var_export() * @see var_export()
* @since 2.1.0 * @since 3.0.0
*/ */
public static function __set_state($state) public static function __set_state($state)
{ {

2
framework/helpers/UnsetArrayValue.php

@ -55,7 +55,7 @@ class UnsetArrayValue
* @param array $state * @param array $state
* @return self * @return self
* @see var_export() * @see var_export()
* @since 2.1.0 * @since 3.0.0
*/ */
public static function __set_state($state) public static function __set_state($state)
{ {

2
framework/http/FileStream.php

@ -29,7 +29,7 @@ use yii\base\InvalidConfigException;
* ``` * ```
* *
* @author Paul Klimov <klimov.paul@gmail.com> * @author Paul Klimov <klimov.paul@gmail.com>
* @since 2.1.0 * @since 3.0.0
*/ */
class FileStream extends BaseObject implements StreamInterface class FileStream extends BaseObject implements StreamInterface
{ {

2
framework/http/MemoryStream.php

@ -27,7 +27,7 @@ use yii\base\InvalidArgumentException;
* ``` * ```
* *
* @author Paul Klimov <klimov.paul@gmail.com> * @author Paul Klimov <klimov.paul@gmail.com>
* @since 2.1.0 * @since 3.0.0
*/ */
class MemoryStream extends BaseObject implements StreamInterface class MemoryStream extends BaseObject implements StreamInterface
{ {

2
framework/http/MessageTrait.php

@ -21,7 +21,7 @@ use yii\di\Instance;
* @property HeaderCollection $headerCollection The header collection. This property is read-only. * @property HeaderCollection $headerCollection The header collection. This property is read-only.
* *
* @author Paul Klimov <klimov.paul@gmail.com> * @author Paul Klimov <klimov.paul@gmail.com>
* @since 2.1.0 * @since 3.0.0
*/ */
trait MessageTrait trait MessageTrait
{ {

2
framework/http/ResourceStream.php

@ -30,7 +30,7 @@ use yii\base\ErrorHandler;
* > Note: closing this stream will close the resource associated with it, so it becomes invalid for usage elsewhere. * > Note: closing this stream will close the resource associated with it, so it becomes invalid for usage elsewhere.
* *
* @author Paul Klimov <klimov.paul@gmail.com> * @author Paul Klimov <klimov.paul@gmail.com>
* @since 2.1.0 * @since 3.0.0
*/ */
class ResourceStream extends BaseObject implements StreamInterface class ResourceStream extends BaseObject implements StreamInterface
{ {

24
framework/http/UploadedFile.php

@ -74,7 +74,7 @@ class UploadedFile extends BaseObject implements UploadedFileInterface
private $_error; private $_error;
/** /**
* @var StreamInterface stream for this file. * @var StreamInterface stream for this file.
* @since 2.1.0 * @since 3.0.0
*/ */
private $_stream; private $_stream;
@ -142,7 +142,7 @@ class UploadedFile extends BaseObject implements UploadedFileInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
* @since 2.1.0 * @since 3.0.0
*/ */
public function getStream() public function getStream()
{ {
@ -169,7 +169,7 @@ class UploadedFile extends BaseObject implements UploadedFileInterface
/** /**
* @param StreamInterface|\Closure|array $stream stream instance or its DI compatible configuration. * @param StreamInterface|\Closure|array $stream stream instance or its DI compatible configuration.
* @since 2.1.0 * @since 3.0.0
*/ */
public function setStream($stream) public function setStream($stream)
{ {
@ -178,7 +178,7 @@ class UploadedFile extends BaseObject implements UploadedFileInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
* @since 2.1.0 * @since 3.0.0
*/ */
public function moveTo($targetPath) public function moveTo($targetPath)
{ {
@ -192,7 +192,7 @@ class UploadedFile extends BaseObject implements UploadedFileInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
* @since 2.1.0 * @since 3.0.0
*/ */
public function getSize() public function getSize()
{ {
@ -202,7 +202,7 @@ class UploadedFile extends BaseObject implements UploadedFileInterface
/** /**
* @param int $size the actual size of the uploaded file in bytes. * @param int $size the actual size of the uploaded file in bytes.
* @throws InvalidArgumentException on invalid size given. * @throws InvalidArgumentException on invalid size given.
* @since 2.1.0 * @since 3.0.0
*/ */
public function setSize($size) public function setSize($size)
{ {
@ -214,7 +214,7 @@ class UploadedFile extends BaseObject implements UploadedFileInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
* @since 2.1.0 * @since 3.0.0
*/ */
public function getError() public function getError()
{ {
@ -224,7 +224,7 @@ class UploadedFile extends BaseObject implements UploadedFileInterface
/** /**
* @param int $error upload error code. * @param int $error upload error code.
* @throws InvalidArgumentException on invalid error given. * @throws InvalidArgumentException on invalid error given.
* @since 2.1.0 * @since 3.0.0
*/ */
public function setError($error) public function setError($error)
{ {
@ -236,7 +236,7 @@ class UploadedFile extends BaseObject implements UploadedFileInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
* @since 2.1.0 * @since 3.0.0
*/ */
public function getClientFilename() public function getClientFilename()
{ {
@ -245,7 +245,7 @@ class UploadedFile extends BaseObject implements UploadedFileInterface
/** /**
* @param string $clientFilename the original name of the file being uploaded. * @param string $clientFilename the original name of the file being uploaded.
* @since 2.1.0 * @since 3.0.0
*/ */
public function setClientFilename($clientFilename) public function setClientFilename($clientFilename)
{ {
@ -254,7 +254,7 @@ class UploadedFile extends BaseObject implements UploadedFileInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
* @since 2.1.0 * @since 3.0.0
*/ */
public function getClientMediaType() public function getClientMediaType()
{ {
@ -263,7 +263,7 @@ class UploadedFile extends BaseObject implements UploadedFileInterface
/** /**
* @param string $clientMediaType the MIME-type of the uploaded file (such as "image/gif"). * @param string $clientMediaType the MIME-type of the uploaded file (such as "image/gif").
* @since 2.1.0 * @since 3.0.0
*/ */
public function setClientMediaType($clientMediaType) public function setClientMediaType($clientMediaType)
{ {

2
framework/http/Uri.php

@ -61,7 +61,7 @@ use yii\base\InvalidArgumentException;
* @property string $userInfo the user information component of the URI. This property is read-only. * @property string $userInfo the user information component of the URI. This property is read-only.
* *
* @author Paul Klimov <klimov.paul@gmail.com> * @author Paul Klimov <klimov.paul@gmail.com>
* @since 2.1.0 * @since 3.0.0
*/ */
class Uri extends BaseObject implements UriInterface class Uri extends BaseObject implements UriInterface
{ {

12
framework/log/Logger.php

@ -83,19 +83,19 @@ class Logger extends Component implements LoggerInterface
/** /**
* @var array|Target[] the log targets. Each array element represents a single [[Target|log target]] instance * @var array|Target[] the log targets. Each array element represents a single [[Target|log target]] instance
* or the configuration for creating the log target instance. * or the configuration for creating the log target instance.
* @since 2.1 * @since 3.0.0
*/ */
private $_targets = []; private $_targets = [];
/** /**
* @var bool whether [[targets]] have been initialized, e.g. ensured to be objects. * @var bool whether [[targets]] have been initialized, e.g. ensured to be objects.
* @since 2.1 * @since 3.0.0
*/ */
private $_isTargetsInitialized = false; private $_isTargetsInitialized = false;
/** /**
* @return Target[] the log targets. Each array element represents a single [[Target|log target]] instance. * @return Target[] the log targets. Each array element represents a single [[Target|log target]] instance.
* @since 2.1 * @since 3.0.0
*/ */
public function getTargets() public function getTargets()
{ {
@ -113,7 +113,7 @@ class Logger extends Component implements LoggerInterface
/** /**
* @param array|Target[] $targets the log targets. Each array element represents a single [[Target|log target]] instance * @param array|Target[] $targets the log targets. Each array element represents a single [[Target|log target]] instance
* or the configuration for creating the log target instance. * or the configuration for creating the log target instance.
* @since 2.1 * @since 3.0.0
*/ */
public function setTargets($targets) public function setTargets($targets)
{ {
@ -235,7 +235,7 @@ class Logger extends Component implements LoggerInterface
* Dispatches the logged messages to [[targets]]. * Dispatches the logged messages to [[targets]].
* @param array $messages the logged messages * @param array $messages the logged messages
* @param bool $final whether this method is called at the end of the current application * @param bool $final whether this method is called at the end of the current application
* @since 2.1 * @since 3.0.0
*/ */
protected function dispatch($messages, $final) protected function dispatch($messages, $final)
{ {
@ -268,7 +268,7 @@ class Logger extends Component implements LoggerInterface
* @param string $message log message. * @param string $message log message.
* @param array $context message context. * @param array $context message context.
* @return string parsed message. * @return string parsed message.
* @since 2.1 * @since 3.0.0
*/ */
protected function parseMessage($message, array $context) protected function parseMessage($message, array $context)
{ {

2
framework/log/LoggerTarget.php

@ -43,7 +43,7 @@ use yii\di\Instance;
* *
* @author Paul Klimov <klimov-paul@gmail.com> * @author Paul Klimov <klimov-paul@gmail.com>
* @author Alexander Makarov <sam@rmcreative.ru> * @author Alexander Makarov <sam@rmcreative.ru>
* @since 2.1 * @since 3.0.0
*/ */
class LoggerTarget extends Target class LoggerTarget extends Target
{ {

6
framework/mail/BaseMailer.php

@ -82,14 +82,14 @@ abstract class BaseMailer extends Component implements MailerInterface
/** /**
* @var Composer|array|string|callable message composer. * @var Composer|array|string|callable message composer.
* @since 2.1 * @since 3.0.0
*/ */
private $_composer; private $_composer;
/** /**
* @return Composer message composer instance. * @return Composer message composer instance.
* @since 2.1 * @since 3.0.0
*/ */
public function getComposer() public function getComposer()
{ {
@ -104,7 +104,7 @@ abstract class BaseMailer extends Component implements MailerInterface
/** /**
* @param Composer|array|string|callable $composer message composer instance or DI compatible configuration. * @param Composer|array|string|callable $composer message composer instance or DI compatible configuration.
* @since 2.1 * @since 3.0.0
*/ */
public function setComposer($composer) public function setComposer($composer)
{ {

2
framework/mail/Composer.php

@ -21,7 +21,7 @@ use yii\web\View;
* to '@app/mail'. * to '@app/mail'.
* *
* @author Paul Klimov <klimov.paul@gmail.com> * @author Paul Klimov <klimov.paul@gmail.com>
* @since 2.1 * @since 3.0.0
*/ */
class Composer extends BaseObject class Composer extends BaseObject
{ {

8
framework/mail/MessageInterface.php

@ -208,7 +208,7 @@ interface MessageInterface
* @param string $name header name. * @param string $name header name.
* @param string $value header value. * @param string $value header value.
* @return $this self reference. * @return $this self reference.
* @since 2.1 * @since 3.0.0
*/ */
public function addHeader($name, $value); public function addHeader($name, $value);
@ -217,7 +217,7 @@ interface MessageInterface
* @param string $name header name. * @param string $name header name.
* @param string|array $value header value or values. * @param string|array $value header value or values.
* @return $this self reference. * @return $this self reference.
* @since 2.1 * @since 3.0.0
*/ */
public function setHeader($name, $value); public function setHeader($name, $value);
@ -225,7 +225,7 @@ interface MessageInterface
* Returns all values for the specified header. * Returns all values for the specified header.
* @param string $name header name. * @param string $name header name.
* @return array header values list. * @return array header values list.
* @since 2.1 * @since 3.0.0
*/ */
public function getHeader($name); public function getHeader($name);
@ -233,7 +233,7 @@ interface MessageInterface
* Sets custom header values to the message. * Sets custom header values to the message.
* @param array $headers headers in format: `[name => value]`. * @param array $headers headers in format: `[name => value]`.
* @return $this self reference. * @return $this self reference.
* @since 2.1 * @since 3.0.0
*/ */
public function setHeaders($headers); public function setHeaders($headers);

2
framework/mail/Template.php

@ -22,7 +22,7 @@ use yii\base\ViewContextInterface;
* @see BaseMailer::compose() * @see BaseMailer::compose()
* *
* @author Paul Klimov <klimov.paul@gmail.com> * @author Paul Klimov <klimov.paul@gmail.com>
* @since 2.1 * @since 3.0.0
*/ */
class Template extends BaseObject implements ViewContextInterface class Template extends BaseObject implements ViewContextInterface
{ {

2
framework/mutex/Mutex.php

@ -112,7 +112,7 @@ abstract class Mutex extends Component
* @param bool $throw whether to throw an exception when the lock is not acquired. * @param bool $throw whether to throw an exception when the lock is not acquired.
* @return mixed result of callback function, or null when the lock is not acquired. * @return mixed result of callback function, or null when the lock is not acquired.
* @throws SyncException when the lock is not acquired. * @throws SyncException when the lock is not acquired.
* @since 2.1 * @since 3.0.0
*/ */
public function sync($name, $timeout, callable $callback, $throw = true) public function sync($name, $timeout, callable $callback, $throw = true)
{ {

2
framework/mutex/SyncException.php

@ -13,7 +13,7 @@ use yii\base\Exception;
* Synchronize Exception * Synchronize Exception
* *
* @author Roman Zhuravlev <zhuravljov@gmail.com> * @author Roman Zhuravlev <zhuravljov@gmail.com>
* @since 2.1 * @since 3.0.0
*/ */
class SyncException extends Exception class SyncException extends Exception
{ {

2
framework/profile/FileTarget.php

@ -31,7 +31,7 @@ use yii\helpers\FileHelper;
* ``` * ```
* *
* @author Paul Klimov <klimov-paul@gmail.com> * @author Paul Klimov <klimov-paul@gmail.com>
* @since 2.1.0 * @since 3.0.0
*/ */
class FileTarget extends Target class FileTarget extends Target
{ {

2
framework/profile/LogTarget.php

@ -34,7 +34,7 @@ use yii\di\Instance;
* @property LoggerInterface $logger logger to be used for message export. * @property LoggerInterface $logger logger to be used for message export.
* *
* @author Paul Klimov <klimov-paul@gmail.com> * @author Paul Klimov <klimov-paul@gmail.com>
* @since 2.1 * @since 3.0.0
*/ */
class LogTarget extends Target class LogTarget extends Target
{ {

2
framework/profile/Profiler.php

@ -25,7 +25,7 @@ use yii\base\InvalidArgumentException;
* For more details and usage information on Profiler, see the [guide article on profiling](guide:runtime-profiling) * For more details and usage information on Profiler, see the [guide article on profiling](guide:runtime-profiling)
* *
* @author Paul Klimov <klimov-paul@gmail.com> * @author Paul Klimov <klimov-paul@gmail.com>
* @since 2.1 * @since 3.0.0
*/ */
class Profiler extends Component implements ProfilerInterface class Profiler extends Component implements ProfilerInterface
{ {

2
framework/profile/ProfilerInterface.php

@ -15,7 +15,7 @@ namespace yii\profile;
* For more details and usage information on Profiler, see the [guide article on profiling](guide:runtime-profiling) * For more details and usage information on Profiler, see the [guide article on profiling](guide:runtime-profiling)
* *
* @author Paul Klimov <klimov-paul@gmail.com> * @author Paul Klimov <klimov-paul@gmail.com>
* @since 2.1 * @since 3.0.0
*/ */
interface ProfilerInterface interface ProfilerInterface
{ {

2
framework/profile/Target.php

@ -18,7 +18,7 @@ use yii\base\Component;
* For more details and usage information on Target, see the [guide article on profiling & targets](guide:runtime-profiling). * For more details and usage information on Target, see the [guide article on profiling & targets](guide:runtime-profiling).
* *
* @author Paul Klimov <klimov-paul@gmail.com> * @author Paul Klimov <klimov-paul@gmail.com>
* @since 2.1 * @since 3.0.0
*/ */
abstract class Target extends Component abstract class Target extends Component
{ {

2
framework/serialize/CallbackSerializer.php

@ -13,7 +13,7 @@ use yii\base\BaseObject;
* CallbackSerializer serializes data via custom PHP callback. * CallbackSerializer serializes data via custom PHP callback.
* *
* @author Paul Klimov <klimov.paul@gmail.com> * @author Paul Klimov <klimov.paul@gmail.com>
* @since 2.1.0 * @since 3.0.0
*/ */
class CallbackSerializer extends BaseObject implements SerializerInterface class CallbackSerializer extends BaseObject implements SerializerInterface
{ {

2
framework/serialize/IgbinarySerializer.php

@ -14,7 +14,7 @@ use yii\base\BaseObject;
* Make sure you have 'igbinary' PHP extension install at your system before attempt to use this serializer. * Make sure you have 'igbinary' PHP extension install at your system before attempt to use this serializer.
* *
* @author Paul Klimov <klimov.paul@gmail.com> * @author Paul Klimov <klimov.paul@gmail.com>
* @since 2.1.0 * @since 3.0.0
*/ */
class IgbinarySerializer extends BaseObject implements SerializerInterface class IgbinarySerializer extends BaseObject implements SerializerInterface
{ {

2
framework/serialize/JsonSerializer.php

@ -14,7 +14,7 @@ use yii\helpers\Json;
* JsonSerializer serializes data in JSON format. * JsonSerializer serializes data in JSON format.
* *
* @author Paul Klimov <klimov.paul@gmail.com> * @author Paul Klimov <klimov.paul@gmail.com>
* @since 2.1.0 * @since 3.0.0
*/ */
class JsonSerializer extends BaseObject implements SerializerInterface class JsonSerializer extends BaseObject implements SerializerInterface
{ {

2
framework/serialize/PhpSerializer.php

@ -13,7 +13,7 @@ use yii\base\BaseObject;
* PhpSerializer uses native PHP `serialize()` and `unserialize()` functions for the serialization. * PhpSerializer uses native PHP `serialize()` and `unserialize()` functions for the serialization.
* *
* @author Paul Klimov <klimov.paul@gmail.com> * @author Paul Klimov <klimov.paul@gmail.com>
* @since 2.1.0 * @since 3.0.0
*/ */
class PhpSerializer extends BaseObject implements SerializerInterface class PhpSerializer extends BaseObject implements SerializerInterface
{ {

2
framework/serialize/SerializerInterface.php

@ -11,7 +11,7 @@ namespace yii\serialize;
* SerializerInterface defines serializer interface. * SerializerInterface defines serializer interface.
* *
* @author Paul Klimov <klimov.paul@gmail.com> * @author Paul Klimov <klimov.paul@gmail.com>
* @since 2.1.0 * @since 3.0.0
*/ */
interface SerializerInterface interface SerializerInterface
{ {

2
framework/validators/client/ClientValidator.php

@ -13,7 +13,7 @@ use yii\base\BaseObject;
* ClientValidator composes client-side validation code from [[\yii\validators\Validator]] instance. * ClientValidator composes client-side validation code from [[\yii\validators\Validator]] instance.
* *
* @author Paul Klimov <klimov.paul@gmail.com> * @author Paul Klimov <klimov.paul@gmail.com>
* @since 2.1.0 * @since 3.0.0
*/ */
abstract class ClientValidator extends BaseObject abstract class ClientValidator extends BaseObject
{ {

4
framework/web/AssetConverter.php

@ -82,7 +82,7 @@ class AssetConverter extends Component implements AssetConverterInterface
* } * }
* ``` * ```
* *
* @since 2.1.0 * @since 3.0.0
*/ */
public $isOutdatedCallback; public $isOutdatedCallback;
@ -120,7 +120,7 @@ class AssetConverter extends Component implements AssetConverterInterface
* @param string $sourceExtension source asset file extension. * @param string $sourceExtension source asset file extension.
* @param string $targetExtension target asset file extension. * @param string $targetExtension target asset file extension.
* @return bool whether asset is outdated or not. * @return bool whether asset is outdated or not.
* @since 2.1.0 * @since 3.0.0
*/ */
protected function isOutdated($basePath, $sourceFile, $targetFile, $sourceExtension, $targetExtension) protected function isOutdated($basePath, $sourceFile, $targetFile, $sourceExtension, $targetExtension)
{ {

68
framework/web/Request.php

@ -180,7 +180,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
/** /**
* @var string name of the class to be used for uploaded file instantiation. * @var string name of the class to be used for uploaded file instantiation.
* This class should implement [[UploadedFileInterface]]. * This class should implement [[UploadedFileInterface]].
* @since 2.1.0 * @since 3.0.0
*/ */
public $uploadedFileClass = UploadedFile::class; public $uploadedFileClass = UploadedFile::class;
/** /**
@ -265,17 +265,17 @@ class Request extends \yii\base\Request implements ServerRequestInterface
/** /**
* @var array attributes derived from the request. * @var array attributes derived from the request.
* @since 2.1.0 * @since 3.0.0
*/ */
private $_attributes; private $_attributes;
/** /**
* @var array server parameters. * @var array server parameters.
* @since 2.1.0 * @since 3.0.0
*/ */
private $_serverParams; private $_serverParams;
/** /**
* @var array the cookies sent by the client to the server. * @var array the cookies sent by the client to the server.
* @since 2.1.0 * @since 3.0.0
*/ */
private $_cookieParams; private $_cookieParams;
/** /**
@ -296,7 +296,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
private $_requestTarget; private $_requestTarget;
/** /**
* @var array uploaded files. * @var array uploaded files.
* @since 2.1.0 * @since 3.0.0
*/ */
private $_uploadedFiles; private $_uploadedFiles;
@ -400,7 +400,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
* @since 2.1.0 * @since 3.0.0
*/ */
public function getRequestTarget() public function getRequestTarget()
{ {
@ -413,7 +413,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
/** /**
* Specifies the message's request target * Specifies the message's request target
* @param mixed $requestTarget the message's request target. * @param mixed $requestTarget the message's request target.
* @since 2.1.0 * @since 3.0.0
*/ */
public function setRequestTarget($requestTarget) public function setRequestTarget($requestTarget)
{ {
@ -422,7 +422,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
* @since 2.1.0 * @since 3.0.0
*/ */
public function withRequestTarget($requestTarget) public function withRequestTarget($requestTarget)
{ {
@ -455,7 +455,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
/** /**
* Specifies request HTTP method. * Specifies request HTTP method.
* @param string $method case-sensitive HTTP method. * @param string $method case-sensitive HTTP method.
* @since 2.1.0 * @since 3.0.0
*/ */
public function setMethod($method) public function setMethod($method)
{ {
@ -464,7 +464,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
* @since 2.1.0 * @since 3.0.0
*/ */
public function withMethod($method) public function withMethod($method)
{ {
@ -479,7 +479,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
* @since 2.1.0 * @since 3.0.0
*/ */
public function getUri() public function getUri()
{ {
@ -500,7 +500,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
/** /**
* Specifies the URI instance. * Specifies the URI instance.
* @param UriInterface|\Closure|array $uri URI instance or its DI compatible configuration. * @param UriInterface|\Closure|array $uri URI instance or its DI compatible configuration.
* @since 2.1.0 * @since 3.0.0
*/ */
public function setUri($uri) public function setUri($uri)
{ {
@ -509,7 +509,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
* @since 2.1.0 * @since 3.0.0
*/ */
public function withUri(UriInterface $uri, $preserveHost = false) public function withUri(UriInterface $uri, $preserveHost = false)
{ {
@ -730,7 +730,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
* @since 2.1.0 * @since 3.0.0
*/ */
public function withParsedBody($data) public function withParsedBody($data)
{ {
@ -857,7 +857,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
/** /**
* Sets the data related to the incoming request environment. * Sets the data related to the incoming request environment.
* @param array $serverParams server parameters. * @param array $serverParams server parameters.
* @since 2.1.0 * @since 3.0.0
*/ */
public function setServerParams(array $serverParams) public function setServerParams(array $serverParams)
{ {
@ -866,7 +866,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
* @since 2.1.0 * @since 3.0.0
*/ */
public function getServerParams() public function getServerParams()
{ {
@ -881,7 +881,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
* @param string $name parameter name. * @param string $name parameter name.
* @param mixed $default default value to return if the parameter does not exist. * @param mixed $default default value to return if the parameter does not exist.
* @return mixed parameter value. * @return mixed parameter value.
* @since 2.1.0 * @since 3.0.0
*/ */
public function getServerParam($name, $default = null) public function getServerParam($name, $default = null)
{ {
@ -895,7 +895,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
/** /**
* Specifies cookies. * Specifies cookies.
* @param array $cookies array of key/value pairs representing cookies. * @param array $cookies array of key/value pairs representing cookies.
* @since 2.1.0 * @since 3.0.0
*/ */
public function setCookieParams(array $cookies) public function setCookieParams(array $cookies)
{ {
@ -905,7 +905,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
* @since 2.1.0 * @since 3.0.0
*/ */
public function getCookieParams() public function getCookieParams()
{ {
@ -917,7 +917,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
* @since 2.1.0 * @since 3.0.0
*/ */
public function withCookieParams(array $cookies) public function withCookieParams(array $cookies)
{ {
@ -1850,7 +1850,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
* @since 2.1.0 * @since 3.0.0
*/ */
public function getUploadedFiles() public function getUploadedFiles()
{ {
@ -1867,7 +1867,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
* Sets uploaded files for this request. * Sets uploaded files for this request.
* Data structure for the uploaded files should follow [PSR-7 Uploaded Files specs](http://www.php-fig.org/psr/psr-7/#16-uploaded-files). * Data structure for the uploaded files should follow [PSR-7 Uploaded Files specs](http://www.php-fig.org/psr/psr-7/#16-uploaded-files).
* @param array|null $uploadedFiles uploaded files. * @param array|null $uploadedFiles uploaded files.
* @since 2.1.0 * @since 3.0.0
*/ */
public function setUploadedFiles($uploadedFiles) public function setUploadedFiles($uploadedFiles)
{ {
@ -1876,7 +1876,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
* @since 2.1.0 * @since 3.0.0
*/ */
public function withUploadedFiles(array $uploadedFiles) public function withUploadedFiles(array $uploadedFiles)
{ {
@ -1889,7 +1889,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
* Initializes default uploaded files data structure parsing super-global $_FILES. * Initializes default uploaded files data structure parsing super-global $_FILES.
* @see http://www.php-fig.org/psr/psr-7/#16-uploaded-files * @see http://www.php-fig.org/psr/psr-7/#16-uploaded-files
* @return array uploaded files. * @return array uploaded files.
* @since 2.1.0 * @since 3.0.0
*/ */
protected function defaultUploadedFiles() protected function defaultUploadedFiles()
{ {
@ -1910,7 +1910,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
* @param mixed $types file types provided by PHP * @param mixed $types file types provided by PHP
* @param mixed $sizes file sizes provided by PHP * @param mixed $sizes file sizes provided by PHP
* @param mixed $errors uploading issues provided by PHP * @param mixed $errors uploading issues provided by PHP
* @since 2.1.0 * @since 3.0.0
*/ */
private function populateUploadedFileRecursive(&$files, $names, $tempNames, $types, $sizes, $errors) private function populateUploadedFileRecursive(&$files, $names, $tempNames, $types, $sizes, $errors)
{ {
@ -1937,7 +1937,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
* Note: this method returns `null` in case given name matches multiple files. * Note: this method returns `null` in case given name matches multiple files.
* @param string|array $name HTML form input name or array path. * @param string|array $name HTML form input name or array path.
* @return UploadedFileInterface|null uploaded file instance, `null` - if not found. * @return UploadedFileInterface|null uploaded file instance, `null` - if not found.
* @since 2.1.0 * @since 3.0.0
*/ */
public function getUploadedFileByName($name) public function getUploadedFileByName($name)
{ {
@ -1955,7 +1955,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
* even if they are set by nested keys. * even if they are set by nested keys.
* @param string|array $name HTML form input name or array path. * @param string|array $name HTML form input name or array path.
* @return UploadedFileInterface[] list of uploaded file instances. * @return UploadedFileInterface[] list of uploaded file instances.
* @since 2.1.0 * @since 3.0.0
*/ */
public function getUploadedFilesByName($name) public function getUploadedFilesByName($name)
{ {
@ -1974,7 +1974,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
* Name can be either a string HTML form input name, e.g. 'Item[file]' or array path, e.g. `['Item', 'file']`. * Name can be either a string HTML form input name, e.g. 'Item[file]' or array path, e.g. `['Item', 'file']`.
* @param string|array $name HTML form input name or array path. * @param string|array $name HTML form input name or array path.
* @return UploadedFileInterface|array|null * @return UploadedFileInterface|array|null
* @since 2.1.0 * @since 3.0.0
*/ */
private function findUploadedFiles($name) private function findUploadedFiles($name)
{ {
@ -1988,7 +1988,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
* Reduces complex uploaded files structure to the single-level array (list). * Reduces complex uploaded files structure to the single-level array (list).
* @param array $uploadedFiles raw set of the uploaded files. * @param array $uploadedFiles raw set of the uploaded files.
* @return UploadedFileInterface[] list of uploaded files. * @return UploadedFileInterface[] list of uploaded files.
* @since 2.1.0 * @since 3.0.0
*/ */
private function reduceUploadedFiles($uploadedFiles) private function reduceUploadedFiles($uploadedFiles)
{ {
@ -2134,7 +2134,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
* @since 2.1.0 * @since 3.0.0
*/ */
public function getAttributes() public function getAttributes()
{ {
@ -2154,7 +2154,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
* @since 2.1.0 * @since 3.0.0
*/ */
public function getAttribute($name, $default = null) public function getAttribute($name, $default = null)
{ {
@ -2168,7 +2168,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
* @since 2.1.0 * @since 3.0.0
*/ */
public function withAttribute($name, $value) public function withAttribute($name, $value)
{ {
@ -2186,7 +2186,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
/** /**
* {@inheritdoc} * {@inheritdoc}
* @since 2.1.0 * @since 3.0.0
*/ */
public function withoutAttribute($name) public function withoutAttribute($name)
{ {
@ -2205,7 +2205,7 @@ class Request extends \yii\base\Request implements ServerRequestInterface
/** /**
* Returns default server request attributes to be used in case they are not explicitly set. * Returns default server request attributes to be used in case they are not explicitly set.
* @return array attributes derived from the request. * @return array attributes derived from the request.
* @since 2.1.0 * @since 3.0.0
*/ */
protected function defaultAttributes() protected function defaultAttributes()
{ {

4
framework/web/Response.php

@ -319,7 +319,7 @@ class Response extends \yii\base\Response implements ResponseInterface
/** /**
* @return string body content string. * @return string body content string.
* @since 2.1.0 * @since 3.0.0
*/ */
public function getContent() public function getContent()
{ {
@ -328,7 +328,7 @@ class Response extends \yii\base\Response implements ResponseInterface
/** /**
* @param string $content body content string. * @param string $content body content string.
* @since 2.1.0 * @since 3.0.0
*/ */
public function setContent($content) public function setContent($content)
{ {

2
framework/widgets/ActiveFieldEvent.php

@ -15,7 +15,7 @@ use yii\base\Event;
* @property ActiveForm $sender the sender of this event. * @property ActiveForm $sender the sender of this event.
* *
* @author Paul Klimov <klimov.paul@gmail.com> * @author Paul Klimov <klimov.paul@gmail.com>
* @since 2.1 * @since 3.0.0
*/ */
class ActiveFieldEvent extends Event class ActiveFieldEvent extends Event
{ {

8
framework/widgets/ActiveForm.php

@ -38,12 +38,12 @@ class ActiveForm extends Widget
const VALIDATION_STATE_ON_INPUT = 'input'; const VALIDATION_STATE_ON_INPUT = 'input';
/** /**
* @event ActiveFieldEvent an event raised right before rendering an ActiveField. * @event ActiveFieldEvent an event raised right before rendering an ActiveField.
* @since 2.1.0 * @since 3.0.0
*/ */
const EVENT_BEFORE_FIELD_RENDER = 'beforeFieldRender'; const EVENT_BEFORE_FIELD_RENDER = 'beforeFieldRender';
/** /**
* @event ActionEvent an event raised right after rendering an ActiveField. * @event ActionEvent an event raised right after rendering an ActiveField.
* @since 2.1.0 * @since 3.0.0
*/ */
const EVENT_AFTER_FIELD_RENDER = 'afterFieldRender'; const EVENT_AFTER_FIELD_RENDER = 'afterFieldRender';
@ -404,7 +404,7 @@ class ActiveForm extends Widget
* This method is invoked right before an ActiveField is rendered. * This method is invoked right before an ActiveField is rendered.
* The method will trigger the [[EVENT_BEFORE_FIELD_RENDER]] event. * The method will trigger the [[EVENT_BEFORE_FIELD_RENDER]] event.
* @param ActiveField $field active field to be rendered. * @param ActiveField $field active field to be rendered.
* @since 2.1.0 * @since 3.0.0
*/ */
public function beforeFieldRender($field) public function beforeFieldRender($field)
{ {
@ -416,7 +416,7 @@ class ActiveForm extends Widget
* This method is invoked right after an ActiveField is rendered. * This method is invoked right after an ActiveField is rendered.
* The method will trigger the [[EVENT_AFTER_FIELD_RENDER]] event. * The method will trigger the [[EVENT_AFTER_FIELD_RENDER]] event.
* @param ActiveField $field active field to be rendered. * @param ActiveField $field active field to be rendered.
* @since 2.1.0 * @since 3.0.0
*/ */
public function afterFieldRender($field) public function afterFieldRender($field)
{ {

2
framework/widgets/ActiveFormClientScript.php

@ -21,7 +21,7 @@ use yii\web\JsExpression;
* @property ActiveForm $owner the owner of this behavior. * @property ActiveForm $owner the owner of this behavior.
* *
* @author Paul Klimov <klimov.paul@gmail.com> * @author Paul Klimov <klimov.paul@gmail.com>
* @since 2.1 * @since 3.0.0
*/ */
abstract class ActiveFormClientScript extends Behavior abstract class ActiveFormClientScript extends Behavior
{ {

Loading…
Cancel
Save