From 731769241bb727a259552ec0e66aaf30d44e9b66 Mon Sep 17 00:00:00 2001 From: Carsten Brandt Date: Thu, 28 Apr 2016 16:50:20 +0200 Subject: [PATCH] release version 2.0.8 --- framework/BaseYii.php | 2 +- framework/CHANGELOG.md | 56 +++++++++---------- framework/behaviors/AttributeBehavior.php | 3 +- framework/behaviors/TimestampBehavior.php | 2 +- framework/classes.php | 6 +- .../controllers/BaseMigrateController.php | 2 +- .../console/controllers/MigrateController.php | 1 - framework/data/BaseDataProvider.php | 4 +- framework/db/ColumnSchemaBuilder.php | 3 +- framework/db/Transaction.php | 1 + framework/db/mysql/QueryBuilder.php | 1 + framework/db/mysql/Schema.php | 1 + framework/db/oci/QueryBuilder.php | 1 + framework/db/sqlite/QueryBuilder.php | 1 + framework/log/Dispatcher.php | 3 +- framework/web/Request.php | 19 +++---- framework/web/UrlManager.php | 2 +- 17 files changed, 57 insertions(+), 51 deletions(-) diff --git a/framework/BaseYii.php b/framework/BaseYii.php index 269796d7a9..d051e8b41d 100644 --- a/framework/BaseYii.php +++ b/framework/BaseYii.php @@ -93,7 +93,7 @@ class BaseYii */ public static function getVersion() { - return '2.0.8-dev'; + return '2.0.8'; } /** diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md index fc9bc39771..13a002219b 100644 --- a/framework/CHANGELOG.md +++ b/framework/CHANGELOG.md @@ -1,19 +1,14 @@ Yii Framework 2 Change Log ========================== -2.0.8 under development ------------------------ +2.0.8 April 28, 2016 +-------------------- -- Bug #7717: Fixed the bug that `$properties` parameter in `ArrayHelper::toArray()` was not passed to recursive calls (quantum13) -- Bug #11088: Fixed bug with column name not being quoted correctly, when a quoted table name or a table name in prefix syntax was used (cebe, edgardmessias, Ni-san) -- Bug #9074: Fixed JS call `$('#grid').yiiGridView('getSelectedRows')` when `GridView::$showHeader` is set to false (NekitoSP, silverfire) -- Bug #9935: Fixed `yii\validators\EachValidator` does not invoke `validateAttribute()` method of the embedded validator (klimov-paul) -- Bug #11270: Fixed `BaseActiveRecord::link()` method in order to support closure in `indexBy` for relations declaration (iushev) -- Bug #11333: Avoid serializing PHP 7 errors (zuozp8) -- Bug #11262: Enabled use of yii2 inside of PHAR packaged console applications (hiqsol) -- Bug #11196: Fixed VarDumper throws PHP Fatal when dumping `__PHP_Incomplete_Class` (DamianZ) - Bug #7627: Fixed `yii\widgets\ActiveField` to handle inputs AJAX validation with changed ID properly (dizeee) +- Bug #7717: Fixed the bug that `$properties` parameter in `ArrayHelper::toArray()` was not passed to recursive calls (quantum13) +- Bug #9074: Fixed JS call `$('#grid').yiiGridView('getSelectedRows')` when `GridView::$showHeader` is set to false (NekitoSP, silverfire) - Bug #9851: Fixed partial commit / rollback in nested transactions (sammousa) +- Bug #9935: Fixed `yii\validators\EachValidator` does not invoke `validateAttribute()` method of the embedded validator (klimov-paul) - Bug #10201: Fixed bug in ActiveRecord, where relational data could not be fetched in case with composite key and join with IN condition (PaulVanSchayck, airmoi, joe-meyer, cebe) - Bug #10235: Fixed `yii\console\Application::runAction` to not to corrupt response object (hiqsol) - Bug #10480: Fixed removing old identity cookie when loggin in as another user without logging out first (maine-mike) @@ -21,32 +16,33 @@ Yii Framework 2 Change Log - Bug #10784: Fixed `yii\grid\CheckboxColumn` to set correct value when `yii\grid\CheckboxColumn::$checkboxOptions` closure is used (nukkumatti) - Bug #10850: Fixed unable to use 'definitions' and 'aliases' at `yii\widgets\MaskedInput` (rahimov, klimov-paul) - Bug #10884: Fixed MessageFormatter for formatting messages when not all parameters are given (laxity7, cebe) -- Enh #10910: Fixed Captcha client side validation after image refresh, when controller is under module (silverfire) - Bug #10935: Fixed cache key collision in `yii\web\UrlManager::createUrl()` (sammousa) - Bug #10946: Fixed parameters binding to the SQL query in `yii\db\mysqlSchema::findConstraints()` (silverfire) - Bug #10969: Fixed generator migration tool with decimal params in column (pana1990) - Bug #10974: `yii.js` - fixed error in ajaxPrefilter event handler, caused by blocked frame (maximal) -- Bug #11038: Fixed handling of intervals of 0 seconds in `yii\i18n\Formatter::asDuration()` (VirtualRJ) -- Bug #11052: Fixed `HtmlPurifier` configuration sequence (samdark) -- Bug #11066: `yii.js` - fixed `getQueryParams()` function to handle URLs with anchors correctly (DrDeath72) -- Bug #11093: Fixed `yii\db\QueryBuilder::buildAndCondition()` to add query params passed directly by `yii\db\Expression` (CedricYii, silverfire) - Bug #11012: Fixed `yii\web\UploadedFile::getBaseName()` to work with UTF-8 file names (hiscaler, silverfire) - Bug #11026: Fixed `StringHelper::truncateWords()` to count words properly for non-English text (samdark, tol17) +- Bug #11038: Fixed handling of intervals of 0 seconds in `yii\i18n\Formatter::asDuration()` (VirtualRJ) - Bug #11040: Check parameter 'recursive' and disable recursive copying with option 'recursive' => false in method BaseFileHelper::copyDirectory (Ni-san) +- Bug #11052: Fixed `HtmlPurifier` configuration sequence (samdark) +- Bug #11066: `yii.js` - fixed `getQueryParams()` function to handle URLs with anchors correctly (DrDeath72) +- Bug #11088: Fixed bug with column name not being quoted correctly, when a quoted table name or a table name in prefix syntax was used (cebe, edgardmessias, Ni-san) +- Bug #11093: Fixed `yii\db\QueryBuilder::buildAndCondition()` to add query params passed directly by `yii\db\Expression` (CedricYii, silverfire) - Bug #11125: Fixed `JSON_ERROR_SYNTAX` for `json_decode(null)` in PHP 7 (fps01) - Bug #11132: Fixed `yii\widgets\FragmentCache` not handling empty content correctly in all cases (kidol) - Bug #11188: Fixed wrong index usage in `CaptchaAction` when calling `imagefilledrectangle` (alsopub) +- Bug #11196: Fixed VarDumper throws PHP Fatal when dumping `__PHP_Incomplete_Class` (DamianZ) - Bug #11220: NumberValidator now handles objects properly (samdark) - Bug #11221: Boolean validator generates incorrect error message (azaikin, githubjeka) - Bug #11223: Fixed returning an empty array when DbManager::getRolesByUser() was called on a user with user id 0 (VirtualRJ) - Bug #11228: `yii.activeForm.js` - AJAX validation will not be triggered if client side validation failed (silverfire) +- Bug #11262: Enabled use of yii2 inside of PHAR packaged console applications (hiqsol) +- Bug #11270: Fixed `BaseActiveRecord::link()` method in order to support closure in `indexBy` for relations declaration (iushev) - Bug #11280: Descendants of `yii\console\controllers\BaseMigrateController`, like the one for MongoDB, unable to create new migration (klimov-paul) +- Bug #11333: Avoid serializing PHP 7 errors (zuozp8) - Bug #11425: Fixed namespace conflict with Markdown helper and Console helper (cebe, mdmunir) - Bug: SQlite querybuilder did not create primary key with bigint for `TYPE_BIGPK` (cebe) - Enh #5469: Add mimetype validation by mask in FileValidator (kirsenn, samdark, silverfire) -- Enh #11336: Allow resettting `$hostInfo`, `$scriptUrl`, and `$pathInfo` in `yii\web\Request` and `$baseUrl`, and `$hostInfo` in `yii\web\UrlManager` to `null`, to make Yii determine the value again (cebe) -- Enh #10322: `yii.activeForm.js` now respects the `formtarget` attribute of submit button (anatolyrugalev) -- Enh #9425: `yii\db\Query::exists()` now uses SQL standard `EXISTS()` query via new `yii\db\QueryBuilder::selectExists()` method to improving performance in some cases (PowerGamer1) - Enh #7177, #10165: Added support for validating datetime and time values using intl short format to `DateValidator` (VirtualRJ, cebe) - Enh #8145, #8139, #10234 #11153: `yii\validators\Validator::$attributes` property now supports `!attribute` notation to validate attribute, but do not mark it as safe (mdmunir) - Enh #8148: Implemented ability to add comment on table and column in migration (vaseninm, silverfire) @@ -55,9 +51,12 @@ Yii Framework 2 Change Log - Enh #8639: Improve ActiveRecord to not create new instances of classes when objects are available (cebe) - Enh #8779: Automatically set enctype form option when using file input field (pana1990, arogachev) - Enh #9340: Adds `after()` and `first()` column schema builder modifiers (df2) +- Enh #9425: `yii\db\Query::exists()` now uses SQL standard `EXISTS()` query via new `yii\db\QueryBuilder::selectExists()` method to improving performance in some cases (PowerGamer1) - Enh #9562: Adds `char` datatype to framework (df2) - Enh #9604: `yii\db\BaseActiveRecord` now triggers event `EVENT_AFTER_REFRESH` after a record is refreshed (raoul2000) - Enh #9893: `yii.js` handleAction enhanced to support for data-form attribute, so links can trigger specific forms (SamMousa) +- Enh #10309: Extracted `yii\web\UrlManager` rule cache key into `$cacheKey` protected property (lordthorzonus) +- Enh #10322: `yii.activeForm.js` now respects the `formtarget` attribute of submit button (anatolyrugalev) - Enh #10322: ActiveForm now respects formtarget attribute of submit button (AnatolyRugalev) - Enh #10451: Check of existence of `$_SERVER` in `\yii\web\Request` before using it (quantum13) - Enh #10475: Extracted `getUrlFromCache()` and `setRuleToCache()` protected methods from `yii\web\UrlManager::createUrl()` (dmdark) @@ -69,37 +68,38 @@ Yii Framework 2 Change Log - Enh #10840: Added `yii\console\Controller::optionAliases()` method to support aliases for commands (pana1990) - Enh #10889: Allows unsigned primary key column definitions (df2) - Enh #10908: Added Dependency Injection for Closure configuration (SamMousa) +- Enh #10910: Fixed Captcha client side validation after image refresh, when controller is under module (silverfire) - Enh #10921: `__toString()` of column schema builder now adapts to column types (df2) - Enh #10931: Removed hard dependency of `yii\di\Container` on `Yii::$app` (SamMousa) - Enh #10937: `yii\web\User` will now confirm the request accepts an HTML response before redirecting to the login page. Added optional `$checkAcceptHeader` to `yii\web\User::loginRequired()` (sammousa) - Enh #10941: Added `yii\helpers\ArrayHelper::isTraversable`, added support for traversable selections for dropdownList, radioList and checkboxList in `yii\helpers\Html` (sammousa) +- Enh #10941: Added `yii\helpers\ArrayHelper::isTraversable`, added support for traversable selections for dropdownList, radioList and checkboxList in `yii\helpers\Html`. +- Enh #10954: `yii\db\QueryBuilder` now accepts `\Traversable` objects for `in` condition (SamMousa, silverfire) - Enh #10967: Simplified Javascript on the exception debug page (SamMousa) +- Enh #10976: `Inflector::transliterate()` now uses `strtr` instead of `str_replace` (DrDeath72) +- Enh #11002: `AttributeBehavior::$skipUpdateOnClean` which determines whether to skip a behavior when the behavior owner has not been modified (Faryshta) - Enh #11056: Allow setting a custom logger configuration for `yii\log\Dispatcher` in configuration (bionoren, cebe) - Enh #11058: `yii\web\User::loginRequired()` now does not set return URL when request method is not GET (dawei101, silverfire) +- Enh #11110: Added migrations for DB session (mdmunir) - Enh #11137: Added weak ETag support to `yii\filters\HttpCache`. It could be turned on via setting `$weakEtag` to `true` (particleflux) - Enh #11139: `yii\validators\EachValidator` injects specific attribute value in error message parameters (silverfire) +- Enh #11166: migrate command new option `useTablePrefix` (Faryshta) - Enh #11187: migrate command now generates phpdoc for table migrations (Faryshta) +- Enh #11207: migrate command can create foreign keys. (Faryshta) - Enh #11254: Added ability to attach RBAC rule using class name (mdmunir) - Enh #11285: `yii\base\Security` enhancements (tom--, samdark) - Avoid reading more bytes than needed from `/dev/urandom` and `/dev/random`. - Pefer `/dev/random` to `/dev/urandom` when running on FreeBSD. - Better RNG performance. +- Enh #11336: Allow resettting `$hostInfo`, `$scriptUrl`, and `$pathInfo` in `yii\web\Request` and `$baseUrl`, and `$hostInfo` in `yii\web\UrlManager` to `null`, to make Yii determine the value again (cebe) - Enh: Added `StringHelper::countWords()` that given a string returns number of words in it (samdark) -- Enh #11207: migrate command can create foreign keys. (Faryshta) -- Enh #11166: migrate command new option `useTablePrefix` (Faryshta) -- Enh #11002: `AttributeBehavior::$skipUpdateOnClean` which determines whether to skip a behavior when the behavior owner has not been modified (Faryshta) -- Chg #11283: `ActiveRecord::unlink()` is not setting FK to `null` before deleting itself anymore (samdark) -- Eng #10976: `Inflector::transliterate()` now uses `strtr` instead of `str_replace` (DrDeath72) -- Enh #11110: Added migrations for DB session (mdmunir) -- Enh #10941: Added `yii\helpers\ArrayHelper::isTraversable`, added support for traversable selections for dropdownList, radioList and checkboxList in `yii\helpers\Html`. -- Enh #10954: `yii\db\QueryBuilder` now accepts `\Traversable` objects for `in` condition (SamMousa, silverfire) -- Chg: HTMLPurifier dependency updated to `~4.6` (samdark) - Chg #9854: Added `ActiveRecordInterface::populateRelation()` to respect the methods called by the implementation (SamMousa) - Chg #10726: Added `yii\rbac\ManagerInterface::canAddChild()` (dkhlystov, samdark) - Chg #10921: Inverts responsibility of database specific column schema builder classes (df2) - Chg #11071: `yii\helpers\BaseArrayHelper::isIn()` and `isTraversable()` since now throw `\yii\base\InvalidParamException` instead of `\InvalidArgumentException` (nukkumatti) +- Chg #11283: `ActiveRecord::unlink()` is not setting FK to `null` before deleting itself anymore (samdark) +- Chg: HTMLPurifier dependency updated to `~4.6` (samdark) - New #8920: Added `yii\mutex\PgsqlMutex` which implements mutex "lock" mechanism via PgSQL locks (nineinchnick, CSharpRU) -- Enh #10309: Extracted `yii\web\UrlManager` rule cache key into `$cacheKey` protected property (lordthorzonus) 2.0.7 February 14, 2016 diff --git a/framework/behaviors/AttributeBehavior.php b/framework/behaviors/AttributeBehavior.php index dfabe031b4..f24d306eee 100644 --- a/framework/behaviors/AttributeBehavior.php +++ b/framework/behaviors/AttributeBehavior.php @@ -62,7 +62,6 @@ class AttributeBehavior extends Behavior * ``` */ public $attributes = []; - /** * @var mixed the value that will be assigned to the current attributes. This can be an anonymous function, * callable in array format (e.g. `[$this, 'methodName']`), an [[Expression]] object representing a DB expression @@ -78,7 +77,6 @@ class AttributeBehavior extends Behavior * ``` */ public $value; - /** * @var boolean whether to skip this behavior when the `$owner` has not been * modified @@ -86,6 +84,7 @@ class AttributeBehavior extends Behavior */ public $skipUpdateOnClean = true; + /** * @inheritdoc */ diff --git a/framework/behaviors/TimestampBehavior.php b/framework/behaviors/TimestampBehavior.php index 3b595d245e..e8d781739d 100644 --- a/framework/behaviors/TimestampBehavior.php +++ b/framework/behaviors/TimestampBehavior.php @@ -29,7 +29,7 @@ use yii\db\BaseActiveRecord; * By default, TimestampBehavior will fill the `created_at` and `updated_at` attributes with the current timestamp * when the associated AR object is being inserted; it will fill the `updated_at` attribute * with the timestamp when the AR object is being updated. The timestamp value is obtained by `time()`. - * + * * For the above implementation to work with MySQL database, please declare the columns(`created_at`, `updated_at`) as int(11) for being UNIX timestamp. * * If your attribute names are different or you want to use a different way of calculating the timestamp, diff --git a/framework/classes.php b/framework/classes.php index d11666ec1f..af49488447 100644 --- a/framework/classes.php +++ b/framework/classes.php @@ -113,22 +113,23 @@ return [ 'yii\db\StaleObjectException' => YII2_PATH . '/db/StaleObjectException.php', 'yii\db\TableSchema' => YII2_PATH . '/db/TableSchema.php', 'yii\db\Transaction' => YII2_PATH . '/db/Transaction.php', + 'yii\db\cubrid\ColumnSchemaBuilder' => YII2_PATH . '/db/cubrid/ColumnSchemaBuilder.php', 'yii\db\cubrid\QueryBuilder' => YII2_PATH . '/db/cubrid/QueryBuilder.php', 'yii\db\cubrid\Schema' => YII2_PATH . '/db/cubrid/Schema.php', - 'yii\db\mssql\ColumnSchemaBuilder' => YII2_PATH . '/db/mssql/ColumnSchemaBuilder.php', 'yii\db\mssql\PDO' => YII2_PATH . '/db/mssql/PDO.php', 'yii\db\mssql\QueryBuilder' => YII2_PATH . '/db/mssql/QueryBuilder.php', 'yii\db\mssql\Schema' => YII2_PATH . '/db/mssql/Schema.php', 'yii\db\mssql\SqlsrvPDO' => YII2_PATH . '/db/mssql/SqlsrvPDO.php', 'yii\db\mssql\TableSchema' => YII2_PATH . '/db/mssql/TableSchema.php', + 'yii\db\mysql\ColumnSchemaBuilder' => YII2_PATH . '/db/mysql/ColumnSchemaBuilder.php', 'yii\db\mysql\QueryBuilder' => YII2_PATH . '/db/mysql/QueryBuilder.php', 'yii\db\mysql\Schema' => YII2_PATH . '/db/mysql/Schema.php', 'yii\db\oci\ColumnSchemaBuilder' => YII2_PATH . '/db/oci/ColumnSchemaBuilder.php', 'yii\db\oci\QueryBuilder' => YII2_PATH . '/db/oci/QueryBuilder.php', 'yii\db\oci\Schema' => YII2_PATH . '/db/oci/Schema.php', - 'yii\db\pgsql\ColumnSchemaBuilder' => YII2_PATH . '/db/pgsql/ColumnSchemaBuilder.php', 'yii\db\pgsql\QueryBuilder' => YII2_PATH . '/db/pgsql/QueryBuilder.php', 'yii\db\pgsql\Schema' => YII2_PATH . '/db/pgsql/Schema.php', + 'yii\db\sqlite\ColumnSchemaBuilder' => YII2_PATH . '/db/sqlite/ColumnSchemaBuilder.php', 'yii\db\sqlite\QueryBuilder' => YII2_PATH . '/db/sqlite/QueryBuilder.php', 'yii\db\sqlite\Schema' => YII2_PATH . '/db/sqlite/Schema.php', 'yii\di\Container' => YII2_PATH . '/di/Container.php', @@ -207,6 +208,7 @@ return [ 'yii\mutex\FileMutex' => YII2_PATH . '/mutex/FileMutex.php', 'yii\mutex\Mutex' => YII2_PATH . '/mutex/Mutex.php', 'yii\mutex\MysqlMutex' => YII2_PATH . '/mutex/MysqlMutex.php', + 'yii\mutex\PgsqlMutex' => YII2_PATH . '/mutex/PgsqlMutex.php', 'yii\rbac\Assignment' => YII2_PATH . '/rbac/Assignment.php', 'yii\rbac\BaseManager' => YII2_PATH . '/rbac/BaseManager.php', 'yii\rbac\DbManager' => YII2_PATH . '/rbac/DbManager.php', diff --git a/framework/console/controllers/BaseMigrateController.php b/framework/console/controllers/BaseMigrateController.php index 11218a459f..adad1dd7c5 100644 --- a/framework/console/controllers/BaseMigrateController.php +++ b/framework/console/controllers/BaseMigrateController.php @@ -467,7 +467,7 @@ abstract class BaseMigrateController extends Controller * * @param string $name the name of the new migration. This should only contain * letters, digits and/or underscores. - * + * * Note: If the migration name is of a special form, for example create_xxx or * drop_xxx then the generated migration file will contain extra code, * in this case for creating/dropping tables. diff --git a/framework/console/controllers/MigrateController.php b/framework/console/controllers/MigrateController.php index 18b3861054..11f59606e0 100644 --- a/framework/console/controllers/MigrateController.php +++ b/framework/console/controllers/MigrateController.php @@ -89,7 +89,6 @@ class MigrateController extends BaseMigrateController * @since 2.0.8 */ public $useTablePrefix = false; - /** * @var array column definition strings used for creating migration code. * diff --git a/framework/data/BaseDataProvider.php b/framework/data/BaseDataProvider.php index e69a7cdaaf..01ea42b347 100644 --- a/framework/data/BaseDataProvider.php +++ b/framework/data/BaseDataProvider.php @@ -18,10 +18,10 @@ use yii\base\InvalidParamException; * @property array $keys The list of key values corresponding to [[models]]. Each data model in [[models]] is * uniquely identified by the corresponding key value in this array. * @property array $models The list of data models in the current page. - * @property Pagination|false $pagination The pagination object. If this is false, it means the pagination + * @property Pagination|boolean $pagination The pagination object. If this is false, it means the pagination * is disabled. Note that the type of this property differs in getter and setter. See [[getPagination()]] and * [[setPagination()]] for details. - * @property Sort|false $sort The sorting object. If this is false, it means the sorting is disabled. Note + * @property Sort|boolean $sort The sorting object. If this is false, it means the sorting is disabled. Note * that the type of this property differs in getter and setter. See [[getSort()]] and [[setSort()]] for details. * @property integer $totalCount Total number of possible data models. * diff --git a/framework/db/ColumnSchemaBuilder.php b/framework/db/ColumnSchemaBuilder.php index 6db12c889b..e50b6c8578 100644 --- a/framework/db/ColumnSchemaBuilder.php +++ b/framework/db/ColumnSchemaBuilder.php @@ -70,6 +70,8 @@ class ColumnSchemaBuilder extends Object * @since 2.0.8 */ protected $isFirst; + + /** * @var array mapping of abstract column types (keys) to type categories (values). * @since 2.0.8 @@ -108,7 +110,6 @@ class ColumnSchemaBuilder extends Object */ public $comment; - /** * Create a column schema builder instance giving the type and value precision. * diff --git a/framework/db/Transaction.php b/framework/db/Transaction.php index 49e431e304..63595ed42a 100644 --- a/framework/db/Transaction.php +++ b/framework/db/Transaction.php @@ -37,6 +37,7 @@ use yii\base\InvalidConfigException; * one of [[READ_UNCOMMITTED]], [[READ_COMMITTED]], [[REPEATABLE_READ]] and [[SERIALIZABLE]] but also a string * containing DBMS specific syntax to be used after `SET TRANSACTION ISOLATION LEVEL`. This property is * write-only. + * @property integer $level The current nesting level of the transaction. This property is read-only. * * @author Qiang Xue * @since 2.0 diff --git a/framework/db/mysql/QueryBuilder.php b/framework/db/mysql/QueryBuilder.php index e33e528ded..065c461f89 100644 --- a/framework/db/mysql/QueryBuilder.php +++ b/framework/db/mysql/QueryBuilder.php @@ -45,6 +45,7 @@ class QueryBuilder extends \yii\db\QueryBuilder Schema::TYPE_MONEY => 'decimal(19,4)', ]; + /** * Builds a SQL statement for renaming a column. * @param string $table the table whose column is to be renamed. The name will be properly quoted by the method. diff --git a/framework/db/mysql/Schema.php b/framework/db/mysql/Schema.php index fec034fc7d..1b67be2cdc 100644 --- a/framework/db/mysql/Schema.php +++ b/framework/db/mysql/Schema.php @@ -52,6 +52,7 @@ class Schema extends \yii\db\Schema 'enum' => self::TYPE_STRING, ]; + /** * Quotes a table name for use in a query. * A simple table name has no schema prefix. diff --git a/framework/db/oci/QueryBuilder.php b/framework/db/oci/QueryBuilder.php index 792520ac01..2d43483146 100644 --- a/framework/db/oci/QueryBuilder.php +++ b/framework/db/oci/QueryBuilder.php @@ -46,6 +46,7 @@ class QueryBuilder extends \yii\db\QueryBuilder Schema::TYPE_MONEY => 'NUMBER(19,4)', ]; + /** * @inheritdoc */ diff --git a/framework/db/sqlite/QueryBuilder.php b/framework/db/sqlite/QueryBuilder.php index eaed10325c..1847b30477 100644 --- a/framework/db/sqlite/QueryBuilder.php +++ b/framework/db/sqlite/QueryBuilder.php @@ -48,6 +48,7 @@ class QueryBuilder extends \yii\db\QueryBuilder Schema::TYPE_MONEY => 'decimal(19,4)', ]; + /** * Generates a batch INSERT SQL statement. * For example, diff --git a/framework/log/Dispatcher.php b/framework/log/Dispatcher.php index 1bcddba6ca..3caf8f570f 100644 --- a/framework/log/Dispatcher.php +++ b/framework/log/Dispatcher.php @@ -52,7 +52,8 @@ use yii\base\ErrorHandler; * * @property integer $flushInterval How many messages should be logged before they are sent to targets. This * method returns the value of [[Logger::flushInterval]]. - * @property Logger $logger The logger. If not set, [[\Yii::getLogger()]] will be used. + * @property Logger $logger The logger. If not set, [[\Yii::getLogger()]] will be used. Note that the type of + * this property differs in getter and setter. See [[getLogger()]] and [[setLogger()]] for details. * @property integer $traceLevel How many application call stacks should be logged together with each message. * This method returns the value of [[Logger::traceLevel]]. Defaults to 0. * diff --git a/framework/web/Request.php b/framework/web/Request.php index d95ccc572c..de81447253 100644 --- a/framework/web/Request.php +++ b/framework/web/Request.php @@ -27,10 +27,10 @@ use yii\helpers\StringHelper; * corresponding quality score and other parameters as given in the header. * @property array $acceptableLanguages The languages ordered by the preference level. The first element * represents the most preferred language. - * @property string $authPassword The password sent via HTTP authentication, null if the password is not + * @property string|null $authPassword The password sent via HTTP authentication, null if the password is not + * given. This property is read-only. + * @property string|null $authUser The username sent via HTTP authentication, null if the username is not * given. This property is read-only. - * @property string $authUser The username sent via HTTP authentication, null if the username is not given. - * This property is read-only. * @property string $baseUrl The relative URL for the application. * @property array $bodyParams The request parameters given in the request body. * @property string $contentType Request content-type. Null is returned if this information is not available. @@ -42,7 +42,7 @@ use yii\helpers\StringHelper; * @property array $eTags The entity tags. This property is read-only. * @property HeaderCollection $headers The header collection. This property is read-only. * @property string $hostInfo Schema and hostname part (with port number if needed) of the request URL (e.g. - * `http://www.yiiframework.com`), null in case it can't be obtained from `$_SERVER` and wasn't set. + * `http://www.yiiframework.com`), null if can't be obtained from `$_SERVER` and wasn't set. * @property boolean $isAjax Whether this is an AJAX (XMLHttpRequest) request. This property is read-only. * @property boolean $isDelete Whether this is a DELETE request. This property is read-only. * @property boolean $isFlash Whether this is an Adobe Flash or Adobe Flex request. This property is @@ -65,17 +65,16 @@ use yii\helpers\StringHelper; * @property string $queryString Part of the request URL that is after the question mark. This property is * read-only. * @property string $rawBody The request body. - * @property string $referrer URL referrer, null if not present. This property is read-only. + * @property string|null $referrer URL referrer, null if not available. This property is read-only. * @property string $scriptFile The entry script file path. * @property string $scriptUrl The relative URL of the entry script. * @property integer $securePort Port number for secure requests. * @property string $serverName Server name, null if not available. This property is read-only. - * @property integer $serverPort Server port number, null if not available. This property is read-only. + * @property integer|null $serverPort Server port number, null if not available. This property is read-only. * @property string $url The currently requested relative URL. Note that the URI returned is URL-encoded. - * @property string $userAgent User agent, null if not present. This property is read-only. - * @property string $userHost User host name, null if cannot be determined. This property is read-only. - * @property string $userIP User IP address. Null is returned if the user IP address cannot be detected. This - * property is read-only. + * @property string|null $userAgent User agent, null if not available. This property is read-only. + * @property string|null $userHost User host name, null if not available. This property is read-only. + * @property string|null $userIP User IP address, null if not available. This property is read-only. * * @author Qiang Xue * @since 2.0 diff --git a/framework/web/UrlManager.php b/framework/web/UrlManager.php index fd772d73fd..bfdd944784 100644 --- a/framework/web/UrlManager.php +++ b/framework/web/UrlManager.php @@ -382,7 +382,7 @@ class UrlManager extends Component * @param string $cacheKey generated cache key to store data. * @param string $route the route (e.g. `site/index`). * @param array $params rule params. - * @return bool|string the created URL + * @return boolean|string the created URL * @see createUrl() * @since 2.0.8 */