mirror of
				https://github.com/yiisoft/yii2.git
				synced 2025-10-31 18:47:33 +08:00 
			
		
		
		
	Merge branch 'master' into controller-array-fix
This commit is contained in:
		
							
								
								
									
										5
									
								
								.github/workflows/ci-mssql.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								.github/workflows/ci-mssql.yml
									
									
									
									
										vendored
									
									
								
							| @ -34,11 +34,6 @@ jobs: | |||||||
|             mssql-tool: /opt/mssql-tools18/bin/sqlcmd -C |             mssql-tool: /opt/mssql-tools18/bin/sqlcmd -C | ||||||
|  |  | ||||||
|         include: |         include: | ||||||
|           - php: 7.4 |  | ||||||
|             mssql: |  | ||||||
|               version: server:2017-latest |  | ||||||
|               mssql-tool: /opt/mssql-tools/bin/sqlcmd |  | ||||||
|               os: ubuntu-22.04 |  | ||||||
|           - php: 8.0 |           - php: 8.0 | ||||||
|             mssql: |             mssql: | ||||||
|               version: server:2019-latest |               version: server:2019-latest | ||||||
|  | |||||||
| @ -1,4 +1,4 @@ | |||||||
| Copyright © 2008 by Yii Software LLC (http://www.yiisoft.com) | Copyright © 2008 by Yii Software (https://www.yiiframework.com/) | ||||||
| All rights reserved. | All rights reserved. | ||||||
|  |  | ||||||
| Redistribution and use in source and binary forms, with or without | Redistribution and use in source and binary forms, with or without | ||||||
| @ -11,7 +11,7 @@ are met: | |||||||
|    notice, this list of conditions and the following disclaimer in |    notice, this list of conditions and the following disclaimer in | ||||||
|    the documentation and/or other materials provided with the |    the documentation and/or other materials provided with the | ||||||
|    distribution. |    distribution. | ||||||
|  * Neither the name of Yii Software LLC nor the names of its |  * Neither the name of Yii Software nor the names of its | ||||||
|    contributors may be used to endorse or promote products derived |    contributors may be used to endorse or promote products derived | ||||||
|    from this software without specific prior written permission. |    from this software without specific prior written permission. | ||||||
|  |  | ||||||
|  | |||||||
							
								
								
									
										11
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								README.md
									
									
									
									
									
								
							| @ -37,16 +37,7 @@ to get an idea of what has changed in 2.0. | |||||||
| Versions & PHP compatibility | Versions & PHP compatibility | ||||||
| ---------------------------- | ---------------------------- | ||||||
|  |  | ||||||
| | Yii2 Version | PHP version    | Development status                | EOL ¹                                                          | | See ["Release Cycle" at the website](https://www.yiiframework.com/release-cycle). | ||||||
| |--------------|----------------|-----------------------------------|----------------------------------------------------------------| |  | ||||||
| | <= 2.0.49.*  | >= 5.4, <= 8.3 | security fixes only               | 23 Nov 2026 ³                                                  | |  | ||||||
| | >= 2.0.50    | >= 7.3, <= 8.4 | bug fixes and security fixes only | bugfixes till 23 Nov 2026 ³, security fixes till 21 Nov 2027 ⁴ | |  | ||||||
| | >= 2.2.0 ²   | >= 8.1         | active development                |                                                                | |  | ||||||
|  |  | ||||||
| ¹ All mentioned dates may be subject to change and no rights can be derived from them.   |  | ||||||
| ² Note: Yii 2.1 was [skipped](https://github.com/yiisoft/yii2/discussions/19831#discussioncomment-5858046), [Yii 2.2](https://github.com/yiisoft/yii2/tree/2.2) has not yet been released.   |  | ||||||
| ³ [PHP 8.3 EOL date](https://www.php.net/supported-versions.php).   |  | ||||||
| ⁴ [Expected PHP 8.4 EOL date](https://wiki.php.net/todo/php84).   |  | ||||||
|  |  | ||||||
| Community | Community | ||||||
| --------- | --------- | ||||||
|  | |||||||
| @ -338,6 +338,12 @@ class BaseYii | |||||||
|      * @return object the created object |      * @return object the created object | ||||||
|      * @throws InvalidConfigException if the configuration is invalid. |      * @throws InvalidConfigException if the configuration is invalid. | ||||||
|      * @see \yii\di\Container |      * @see \yii\di\Container | ||||||
|  |      * | ||||||
|  |      * @template T | ||||||
|  |      * @phpstan-param class-string<T>|array{class: class-string<T>, ...}|callable(): T $type | ||||||
|  |      * @psalm-param class-string<T>|array{class: class-string<T>, ...}|callable(): T $type | ||||||
|  |      * @phpstan-return T | ||||||
|  |      * @psalm-return T | ||||||
|      */ |      */ | ||||||
|     public static function createObject($type, array $params = []) |     public static function createObject($type, array $params = []) | ||||||
|     { |     { | ||||||
|  | |||||||
| @ -9,6 +9,14 @@ Yii Framework 2 Change Log | |||||||
| - Bug #8298: Loading fixtures does not update table sequence for Postgresql database (mtangoo) | - Bug #8298: Loading fixtures does not update table sequence for Postgresql database (mtangoo) | ||||||
| - Bug #20347: Fix compatibility with PHP 8.4: remove usage of `session.use_trans_sid` and `session.use_only_cookies` (tehmaestro) | - Bug #20347: Fix compatibility with PHP 8.4: remove usage of `session.use_trans_sid` and `session.use_only_cookies` (tehmaestro) | ||||||
| - Bug #20351: Fix behavior for `yii\web\Controller::bindActionParams` around union types (chriscpty) | - Bug #20351: Fix behavior for `yii\web\Controller::bindActionParams` around union types (chriscpty) | ||||||
|  | - Bug #20355: Fix SQL syntax for resetting sequence in `QueryBuilder` for `MSSQL` (terabytesoftw) | ||||||
|  | - Bug #20371: Fix "Typed property must not be accessed before initialization" when calling `toArray()` on a model with typed properties without default value (uaoleg) | ||||||
|  | - Enh #20354: Add PHPStan/Psalm annotations for `Container` and `Instance` (max-s-lab) | ||||||
|  | - Enh #20361: Add PHPStan/Psalm annotations for `ActiveQuery` (max-s-lab) | ||||||
|  | - Enh #20363: Add PHPStan/Psalm annotations for `ActiveRecord` and `ActiveQuery` (max-s-lab) | ||||||
|  | - Enh #20372: Add PHPStan/Psalm annotations for `AssetBundle`, `AssetManager` and `View` (max-s-lab) | ||||||
|  | - Bug #20373: Fixed the type of the first parameter `yii\base\Controller::bindInjectedParams()` (max-s-lab) | ||||||
|  | - Enh #20374: Add PHPStan/Psalm annotations for `BaseYii`, `BaseObject`, `Component`, `Model`, `Module` and `yii\base\Controller` (max-s-lab) | ||||||
|  |  | ||||||
|  |  | ||||||
| 2.0.52 February 13, 2025 | 2.0.52 February 13, 2025 | ||||||
|  | |||||||
| @ -123,7 +123,7 @@ trait ArrayableTrait | |||||||
|     { |     { | ||||||
|         $data = []; |         $data = []; | ||||||
|         foreach ($this->resolveFields($fields, $expand) as $field => $definition) { |         foreach ($this->resolveFields($fields, $expand) as $field => $definition) { | ||||||
|             $attribute = is_string($definition) ? $this->$definition : $definition($this, $field); |             $attribute = is_string($definition) ? ($this->$definition ?? null) : $definition($this, $field); | ||||||
|  |  | ||||||
|             if ($recursive) { |             if ($recursive) { | ||||||
|                 $nestedFields = $this->extractFieldsFor($fields, $field); |                 $nestedFields = $this->extractFieldsFor($fields, $field); | ||||||
|  | |||||||
| @ -100,6 +100,9 @@ class BaseObject implements Configurable | |||||||
|      * - call the parent implementation at the end of the constructor. |      * - call the parent implementation at the end of the constructor. | ||||||
|      * |      * | ||||||
|      * @param array $config name-value pairs that will be used to initialize the object properties |      * @param array $config name-value pairs that will be used to initialize the object properties | ||||||
|  |      * | ||||||
|  |      * @phpstan-param array<string, mixed> $config | ||||||
|  |      * @psalm-param array<string, mixed> $config | ||||||
|      */ |      */ | ||||||
|     public function __construct($config = []) |     public function __construct($config = []) | ||||||
|     { |     { | ||||||
|  | |||||||
| @ -461,6 +461,9 @@ class Component extends BaseObject | |||||||
|      * Behaviors declared in this method will be attached to the component automatically (on demand). |      * Behaviors declared in this method will be attached to the component automatically (on demand). | ||||||
|      * |      * | ||||||
|      * @return array the behavior configurations. |      * @return array the behavior configurations. | ||||||
|  |      * | ||||||
|  |      * @phpstan-return array<int|string, class-string|array{class: class-string, ...}> | ||||||
|  |      * @psalm-return array<int|string, class-string|array{class: class-string, ...}> | ||||||
|      */ |      */ | ||||||
|     public function behaviors() |     public function behaviors() | ||||||
|     { |     { | ||||||
|  | |||||||
| @ -87,6 +87,9 @@ class Controller extends Component implements ViewContextInterface | |||||||
|      * @param string $id the ID of this controller. |      * @param string $id the ID of this controller. | ||||||
|      * @param Module $module the module that this controller belongs to. |      * @param Module $module the module that this controller belongs to. | ||||||
|      * @param array $config name-value pairs that will be used to initialize the object properties. |      * @param array $config name-value pairs that will be used to initialize the object properties. | ||||||
|  |      * | ||||||
|  |      * @phpstan-param array<string, mixed> $config | ||||||
|  |      * @psalm-param array<string, mixed> $config | ||||||
|      */ |      */ | ||||||
|     public function __construct($id, $module, $config = []) |     public function __construct($id, $module, $config = []) | ||||||
|     { |     { | ||||||
| @ -127,6 +130,9 @@ class Controller extends Component implements ViewContextInterface | |||||||
|      * [[\Yii::createObject()]] will be used later to create the requested action |      * [[\Yii::createObject()]] will be used later to create the requested action | ||||||
|      * using the configuration provided here. |      * using the configuration provided here. | ||||||
|      * @return array |      * @return array | ||||||
|  |      * | ||||||
|  |      * @phpstan-return array<string, class-string|array{class: class-string, ...} | ||||||
|  |      * @psalm-return array<string, class-string|array{class: class-string, ...} | ||||||
|      */ |      */ | ||||||
|     public function actions() |     public function actions() | ||||||
|     { |     { | ||||||
| @ -548,7 +554,7 @@ class Controller extends Component implements ViewContextInterface | |||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * Fills parameters based on types and names in action method signature. |      * Fills parameters based on types and names in action method signature. | ||||||
|      * @param \ReflectionType $type The reflected type of the action parameter. |      * @param \ReflectionNamedType $type The reflected type of the action parameter. | ||||||
|      * @param string $name The name of the parameter. |      * @param string $name The name of the parameter. | ||||||
|      * @param array &$args The array of arguments for the action, this function may append items to it. |      * @param array &$args The array of arguments for the action, this function may append items to it. | ||||||
|      * @param array &$requestedParams The array with requested params, this function may write specific keys to it. |      * @param array &$requestedParams The array with requested params, this function may write specific keys to it. | ||||||
| @ -558,7 +564,7 @@ class Controller extends Component implements ViewContextInterface | |||||||
|      * (for example an interface type hint) without a proper definition in the container. |      * (for example an interface type hint) without a proper definition in the container. | ||||||
|      * @since 2.0.36 |      * @since 2.0.36 | ||||||
|      */ |      */ | ||||||
|     final protected function bindInjectedParams(\ReflectionType $type, $name, &$args, &$requestedParams) |     final protected function bindInjectedParams(\ReflectionNamedType $type, $name, &$args, &$requestedParams) | ||||||
|     { |     { | ||||||
|         // Since it is not a builtin type it must be DI injection. |         // Since it is not a builtin type it must be DI injection. | ||||||
|         $typeName = $type->getName(); |         $typeName = $type->getName(); | ||||||
|  | |||||||
| @ -52,6 +52,15 @@ use yii\validators\Validator; | |||||||
|  * |  * | ||||||
|  * @author Qiang Xue <qiang.xue@gmail.com> |  * @author Qiang Xue <qiang.xue@gmail.com> | ||||||
|  * @since 2.0 |  * @since 2.0 | ||||||
|  |  * | ||||||
|  |  * @phpstan-property array<string, mixed> $attributes | ||||||
|  |  * @psalm-property array<string, mixed> $attributes | ||||||
|  |  * | ||||||
|  |  * @phpstan-property-read array<string, string[]> $errors | ||||||
|  |  * @psalm-property-read array<string, string[]> $errors | ||||||
|  |  * | ||||||
|  |  * @phpstan-property-read array<string, string> $firstErrors | ||||||
|  |  * @psalm-property-read array<string, string> $firstErrors | ||||||
|  */ |  */ | ||||||
| class Model extends Component implements StaticInstanceInterface, IteratorAggregate, ArrayAccess, Arrayable | class Model extends Component implements StaticInstanceInterface, IteratorAggregate, ArrayAccess, Arrayable | ||||||
| { | { | ||||||
| @ -151,6 +160,9 @@ class Model extends Component implements StaticInstanceInterface, IteratorAggreg | |||||||
|      * |      * | ||||||
|      * @return array validation rules |      * @return array validation rules | ||||||
|      * @see scenarios() |      * @see scenarios() | ||||||
|  |      * | ||||||
|  |      * @phpstan-return array<int|string, mixed>[] | ||||||
|  |      * @psalm-return array<int|string, mixed>[] | ||||||
|      */ |      */ | ||||||
|     public function rules() |     public function rules() | ||||||
|     { |     { | ||||||
| @ -181,6 +193,9 @@ class Model extends Component implements StaticInstanceInterface, IteratorAggreg | |||||||
|      * are being validated by the validation rules that apply to the scenario. |      * are being validated by the validation rules that apply to the scenario. | ||||||
|      * |      * | ||||||
|      * @return array a list of scenarios and the corresponding active attributes. |      * @return array a list of scenarios and the corresponding active attributes. | ||||||
|  |      * | ||||||
|  |      * @phpstan-return array<string, string[]> | ||||||
|  |      * @psalm-return array<string, string[]> | ||||||
|      */ |      */ | ||||||
|     public function scenarios() |     public function scenarios() | ||||||
|     { |     { | ||||||
| @ -293,6 +308,9 @@ class Model extends Component implements StaticInstanceInterface, IteratorAggreg | |||||||
|      * |      * | ||||||
|      * @return array attribute labels (name => label) |      * @return array attribute labels (name => label) | ||||||
|      * @see generateAttributeLabel() |      * @see generateAttributeLabel() | ||||||
|  |      * | ||||||
|  |      * @phpstan-return array<string, string> | ||||||
|  |      * @psalm-return array<string, string> | ||||||
|      */ |      */ | ||||||
|     public function attributeLabels() |     public function attributeLabels() | ||||||
|     { |     { | ||||||
| @ -313,6 +331,9 @@ class Model extends Component implements StaticInstanceInterface, IteratorAggreg | |||||||
|      * |      * | ||||||
|      * @return array attribute hints (name => hint) |      * @return array attribute hints (name => hint) | ||||||
|      * @since 2.0.4 |      * @since 2.0.4 | ||||||
|  |      * | ||||||
|  |      * @phpstan-return array<string, string> | ||||||
|  |      * @psalm-return array<string, string> | ||||||
|      */ |      */ | ||||||
|     public function attributeHints() |     public function attributeHints() | ||||||
|     { |     { | ||||||
| @ -580,6 +601,9 @@ class Model extends Component implements StaticInstanceInterface, IteratorAggreg | |||||||
|      * |      * | ||||||
|      * @see getFirstErrors() |      * @see getFirstErrors() | ||||||
|      * @see getFirstError() |      * @see getFirstError() | ||||||
|  |      * | ||||||
|  |      * @phpstan-return array<string, string[]> | ||||||
|  |      * @psalm-return array<string, string[]> | ||||||
|      */ |      */ | ||||||
|     public function getErrors($attribute = null) |     public function getErrors($attribute = null) | ||||||
|     { |     { | ||||||
| @ -596,6 +620,9 @@ class Model extends Component implements StaticInstanceInterface, IteratorAggreg | |||||||
|      * values are the corresponding error messages. An empty array will be returned if there is no error. |      * values are the corresponding error messages. An empty array will be returned if there is no error. | ||||||
|      * @see getErrors() |      * @see getErrors() | ||||||
|      * @see getFirstError() |      * @see getFirstError() | ||||||
|  |      * | ||||||
|  |      * @phpstan-return array<string, string> | ||||||
|  |      * @psalm-return array<string, string> | ||||||
|      */ |      */ | ||||||
|     public function getFirstErrors() |     public function getFirstErrors() | ||||||
|     { |     { | ||||||
| @ -633,6 +660,9 @@ class Model extends Component implements StaticInstanceInterface, IteratorAggreg | |||||||
|      * @see getErrors() |      * @see getErrors() | ||||||
|      * @see getFirstErrors() |      * @see getFirstErrors() | ||||||
|      * @since 2.0.14 |      * @since 2.0.14 | ||||||
|  |      * | ||||||
|  |      * @phpstan-return string[] | ||||||
|  |      * @psalm-return string[] | ||||||
|      */ |      */ | ||||||
|     public function getErrorSummary($showAllErrors) |     public function getErrorSummary($showAllErrors) | ||||||
|     { |     { | ||||||
| @ -708,6 +738,9 @@ class Model extends Component implements StaticInstanceInterface, IteratorAggreg | |||||||
|      * If it is an array, only the attributes in the array will be returned. |      * If it is an array, only the attributes in the array will be returned. | ||||||
|      * @param array $except list of attributes whose value should NOT be returned. |      * @param array $except list of attributes whose value should NOT be returned. | ||||||
|      * @return array attribute values (name => value). |      * @return array attribute values (name => value). | ||||||
|  |      * | ||||||
|  |      * @phpstan-return array<string, mixed> | ||||||
|  |      * @psalm-return array<string, mixed> | ||||||
|      */ |      */ | ||||||
|     public function getAttributes($names = null, $except = []) |     public function getAttributes($names = null, $except = []) | ||||||
|     { |     { | ||||||
|  | |||||||
| @ -153,6 +153,9 @@ class Module extends ServiceLocator | |||||||
|      * @param string $id the ID of this module. |      * @param string $id the ID of this module. | ||||||
|      * @param Module|null $parent the parent module (if any). |      * @param Module|null $parent the parent module (if any). | ||||||
|      * @param array $config name-value pairs that will be used to initialize the object properties. |      * @param array $config name-value pairs that will be used to initialize the object properties. | ||||||
|  |      * | ||||||
|  |      * @phpstan-param array<string, mixed> $config | ||||||
|  |      * @psalm-param array<string, mixed> $config | ||||||
|      */ |      */ | ||||||
|     public function __construct($id, $parent = null, $config = []) |     public function __construct($id, $parent = null, $config = []) | ||||||
|     { |     { | ||||||
|  | |||||||
| @ -188,6 +188,12 @@ interface CacheInterface extends \ArrayAccess | |||||||
|      * the corresponding value in the cache will be invalidated when it is fetched via [[get()]]. |      * the corresponding value in the cache will be invalidated when it is fetched via [[get()]]. | ||||||
|      * This parameter is ignored if [[serializer]] is `false`. |      * This parameter is ignored if [[serializer]] is `false`. | ||||||
|      * @return mixed result of $callable execution |      * @return mixed result of $callable execution | ||||||
|  |      * | ||||||
|  |      * @template TResult of mixed | ||||||
|  |      * @psalm-param callable():TResult|\Closure():TResult $callable | ||||||
|  |      * @phpstan-param callable():TResult|\Closure():TResult $callable | ||||||
|  |      * @psalm-return TResult | ||||||
|  |      * @phpstan-return TResult | ||||||
|      */ |      */ | ||||||
|     public function getOrSet($key, $callable, $duration = null, $dependency = null); |     public function getOrSet($key, $callable, $duration = null, $dependency = null); | ||||||
| } | } | ||||||
|  | |||||||
| @ -71,6 +71,21 @@ use yii\base\InvalidConfigException; | |||||||
|  * @since 2.0 |  * @since 2.0 | ||||||
|  * |  * | ||||||
|  * @template T of (ActiveRecord|array) |  * @template T of (ActiveRecord|array) | ||||||
|  |  * | ||||||
|  |  * @phpstan-method T|null one($db = null) | ||||||
|  |  * @psalm-method T|null one($db = null) | ||||||
|  |  * | ||||||
|  |  * @phpstan-method T[] all($db = null) | ||||||
|  |  * @psalm-method T[] all($db = null) | ||||||
|  |  * | ||||||
|  |  * @phpstan-method ($value is true ? (T is array ? self<T> : self<array>) : self<T>) asArray($value = true) | ||||||
|  |  * @psalm-method ($value is true ? (T is array ? self<T> : self<array>) : self<T>) asArray($value = true) | ||||||
|  |  * | ||||||
|  |  * @phpstan-method BatchQueryResult<int, T[]> batch($batchSize = 100, $db = null) | ||||||
|  |  * @psalm-method BatchQueryResult<int, T[]> batch($batchSize = 100, $db = null) | ||||||
|  |  * | ||||||
|  |  * @phpstan-method BatchQueryResult<int, T> each($batchSize = 100, $db = null) | ||||||
|  |  * @psalm-method BatchQueryResult<int, T> each($batchSize = 100, $db = null) | ||||||
|  */ |  */ | ||||||
| class ActiveQuery extends Query implements ActiveQueryInterface | class ActiveQuery extends Query implements ActiveQueryInterface | ||||||
| { | { | ||||||
| @ -316,32 +331,6 @@ class ActiveQuery extends Query implements ActiveQueryInterface | |||||||
|         return null; |         return null; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * {@inheritdoc} |  | ||||||
|      * |  | ||||||
|      * @return BatchQueryResult |  | ||||||
|      * @psalm-return T[][]|BatchQueryResult |  | ||||||
|      * @phpstan-return T[][]|BatchQueryResult |  | ||||||
|      * @codeCoverageIgnore |  | ||||||
|      */ |  | ||||||
|     public function batch($batchSize = 100, $db = null) |  | ||||||
|     { |  | ||||||
|         return parent::batch($batchSize, $db); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * {@inheritdoc} |  | ||||||
|      * |  | ||||||
|      * @return BatchQueryResult |  | ||||||
|      * @psalm-return T[]|BatchQueryResult |  | ||||||
|      * @phpstan-return T[]|BatchQueryResult |  | ||||||
|      * @codeCoverageIgnore |  | ||||||
|      */ |  | ||||||
|     public function each($batchSize = 100, $db = null) |  | ||||||
|     { |  | ||||||
|         return parent::each($batchSize, $db); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * Creates a DB command that can be used to execute this query. |      * Creates a DB command that can be used to execute this query. | ||||||
|      * @param Connection|null $db the DB connection used to create the DB command. |      * @param Connection|null $db the DB connection used to create the DB command. | ||||||
|  | |||||||
| @ -156,6 +156,9 @@ class ActiveRecord extends BaseActiveRecord | |||||||
|      * @param string $sql the SQL statement to be executed |      * @param string $sql the SQL statement to be executed | ||||||
|      * @param array $params parameters to be bound to the SQL statement during execution. |      * @param array $params parameters to be bound to the SQL statement during execution. | ||||||
|      * @return ActiveQuery the newly created [[ActiveQuery]] instance |      * @return ActiveQuery the newly created [[ActiveQuery]] instance | ||||||
|  |      * | ||||||
|  |      * @phpstan-return ActiveQuery<static> | ||||||
|  |      * @psalm-return ActiveQuery<static> | ||||||
|      */ |      */ | ||||||
|     public static function findBySql($sql, $params = []) |     public static function findBySql($sql, $params = []) | ||||||
|     { |     { | ||||||
| @ -408,6 +411,9 @@ class ActiveRecord extends BaseActiveRecord | |||||||
|     /** |     /** | ||||||
|      * {@inheritdoc} |      * {@inheritdoc} | ||||||
|      * @return ActiveQuery the newly created [[ActiveQuery]] instance. |      * @return ActiveQuery the newly created [[ActiveQuery]] instance. | ||||||
|  |      * | ||||||
|  |      * @phpstan-return ActiveQuery<static> | ||||||
|  |      * @psalm-return ActiveQuery<static> | ||||||
|      */ |      */ | ||||||
|     public static function find() |     public static function find() | ||||||
|     { |     { | ||||||
|  | |||||||
| @ -247,9 +247,11 @@ class QueryBuilder extends \yii\db\QueryBuilder | |||||||
|         $table = $this->db->getTableSchema($tableName); |         $table = $this->db->getTableSchema($tableName); | ||||||
|         if ($table !== null && $table->sequenceName !== null) { |         if ($table !== null && $table->sequenceName !== null) { | ||||||
|             $tableName = $this->db->quoteTableName($tableName); |             $tableName = $this->db->quoteTableName($tableName); | ||||||
|  |  | ||||||
|             if ($value === null) { |             if ($value === null) { | ||||||
|                 $key = $this->db->quoteColumnName(reset($table->primaryKey)); |                 $key = $this->db->quoteColumnName(reset($table->primaryKey)); | ||||||
|                 $value = "(SELECT COALESCE(MAX({$key}),0) FROM {$tableName})+1"; |                 $sql = "SELECT COALESCE(MAX({$key}), 0) + 1 FROM {$tableName}"; | ||||||
|  |                 $value = $this->db->createCommand($sql)->queryScalar(); | ||||||
|             } else { |             } else { | ||||||
|                 $value = (int) $value; |                 $value = (int) $value; | ||||||
|             } |             } | ||||||
|  | |||||||
| @ -158,12 +158,11 @@ class Container extends Component | |||||||
|      * @throws InvalidConfigException if the class cannot be recognized or correspond to an invalid definition |      * @throws InvalidConfigException if the class cannot be recognized or correspond to an invalid definition | ||||||
|      * @throws NotInstantiableException If resolved to an abstract class or an interface (since 2.0.9) |      * @throws NotInstantiableException If resolved to an abstract class or an interface (since 2.0.9) | ||||||
|      * |      * | ||||||
|      * |      * @template T of object | ||||||
|      * @template T of class-string |      * @psalm-param string|class-string<T>|Instance $class | ||||||
|      * @psalm-param class-string<T>|array{class: class-string<T>} $class |      * @phpstan-param string|class-string<T>|Instance $class | ||||||
|      * @phpstan-param class-string<T>|array{class: class-string<T>} $class |      * @psalm-return ($class is class-string<T> ? T : object) | ||||||
|      * @psalm-return T |      * @phpstan-return ($class is class-string<T> ? T : object) | ||||||
|      * @phpstan-return T |  | ||||||
|      */ |      */ | ||||||
|     public function get($class, $params = [], $config = []) |     public function get($class, $params = [], $config = []) | ||||||
|     { |     { | ||||||
|  | |||||||
| @ -114,6 +114,12 @@ class Instance | |||||||
|      * @param ServiceLocator|Container|null $container the container. This will be passed to [[get()]]. |      * @param ServiceLocator|Container|null $container the container. This will be passed to [[get()]]. | ||||||
|      * @return object the object referenced by the Instance, or `$reference` itself if it is an object. |      * @return object the object referenced by the Instance, or `$reference` itself if it is an object. | ||||||
|      * @throws InvalidConfigException if the reference is invalid |      * @throws InvalidConfigException if the reference is invalid | ||||||
|  |      * | ||||||
|  |      * @template T of object | ||||||
|  |      * @psalm-param class-string<T>|null $type | ||||||
|  |      * @phpstan-param class-string<T>|null $type | ||||||
|  |      * @psalm-return ($type is null ? object : T) | ||||||
|  |      * @phpstan-return ($type is null ? object : T) | ||||||
|      */ |      */ | ||||||
|     public static function ensure($reference, $type = null, $container = null) |     public static function ensure($reference, $type = null, $container = null) | ||||||
|     { |     { | ||||||
|  | |||||||
| @ -14,9 +14,10 @@ return [ | |||||||
|     // array, required, list of language codes that the extracted messages |     // array, required, list of language codes that the extracted messages | ||||||
|     // should be translated to. For example, ['zh-CN', 'de']. |     // should be translated to. For example, ['zh-CN', 'de']. | ||||||
|     'languages' => [ |     'languages' => [ | ||||||
|         'af', 'ar', 'az', 'be', 'bg', 'bs', 'ca', 'cs', 'da', 'de', 'el', 'es', 'et', 'fa', 'fi', 'fr', 'he', 'hi', |         'af', 'ar', 'az', 'be', 'bg', 'bs', 'ca', 'cs', 'da', 'de', 'el', 'es', 'et', 'fa', 'fi', 'fr', 'ga', 'he', | ||||||
|         'pt-BR', 'ro', 'hr', 'hu', 'hy', 'id', 'it', 'ja', 'ka', 'kk', 'ko', 'kz', 'lt', 'lv', 'ms', 'nb-NO', 'nl', |         'hi', 'pt-BR', 'ro', 'hr', 'hu', 'hy', 'id', 'it', 'ja', 'ka', 'kk', 'ko', 'kz', 'lt', 'lv', 'ms', 'mt', | ||||||
|         'pl', 'pt', 'ru', 'sk', 'sl', 'sr', 'sr-Latn', 'sv', 'tg', 'th', 'tr', 'uk', 'uz', 'uz-Cy', 'vi', 'zh', 'zh-TW' |         'nb-NO', 'nl', 'pl', 'pt', 'ru', 'sk', 'sl', 'sr', 'sr-Latn', 'sv', 'tg', 'th', 'tr', 'uk', 'uz', 'uz-Cy', 'vi', | ||||||
|  |         'zh', 'zh-TW' | ||||||
|     ], |     ], | ||||||
|     // string, the name of the function for translating messages. |     // string, the name of the function for translating messages. | ||||||
|     // Defaults to 'Yii::t'. This is used as a mark to find the messages to be |     // Defaults to 'Yii::t'. This is used as a mark to find the messages to be | ||||||
|  | |||||||
							
								
								
									
										148
									
								
								framework/messages/ga/yii.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										148
									
								
								framework/messages/ga/yii.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,148 @@ | |||||||
|  | <?php | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * @link https://www.yiiframework.com/ | ||||||
|  |  * @copyright Copyright (c) 2008 Yii Software LLC | ||||||
|  |  * @license https://www.yiiframework.com/license/ | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Message translations. | ||||||
|  |  * | ||||||
|  |  * This file is automatically generated by 'yii message/extract' command. | ||||||
|  |  * It contains the localizable messages extracted from source code. | ||||||
|  |  * You may modify this file by translating the extracted messages. | ||||||
|  |  * | ||||||
|  |  * Each array element represents the translation (value) of a message (key). | ||||||
|  |  * If the value is empty, the message is considered as not translated. | ||||||
|  |  * Messages that no longer need translation will have their translations | ||||||
|  |  * enclosed between a pair of '@@' marks. | ||||||
|  |  * | ||||||
|  |  * Message string can be used with plural forms format. Check i18n section | ||||||
|  |  * of the guide for details. | ||||||
|  |  * | ||||||
|  |  * NOTE: this file must be saved in UTF-8 encoding. | ||||||
|  |  */ | ||||||
|  | return [ | ||||||
|  |     ' and ' => ' agus ', | ||||||
|  |     '"{attribute}" does not support operator "{operator}".' => '"{attribute}" ní thacaíonn oibreoir "{operator}".', | ||||||
|  |     '(not set)' => '(gan socrú)', | ||||||
|  |     'Action not found.' => 'Gníomh gan aimsiú.', | ||||||
|  |     'Aliases available: {aliases}' => 'Ailiasanna ar fáil: {aliases}', | ||||||
|  |     'An internal server error occurred.' => 'Tharla earráid freastalaí inmheánach.', | ||||||
|  |     'Are you sure you want to delete this item?' => 'An bhfuil tú cinnte gur mhaith leat an mhír seo a scriosadh?', | ||||||
|  |     'Condition for "{attribute}" should be either a value or valid operator specification.' => 'Ba cheart go mbeadh an coinníoll le haghaidh "{attribute}" ina luach nó ina shonraíocht oibritheora bailí.', | ||||||
|  |     'Delete' => 'Scrios', | ||||||
|  |     'Error' => 'Earráid', | ||||||
|  |     'File upload failed.' => 'Theip ar uaslódáil an chomhaid.', | ||||||
|  |     'Home' => 'Baile', | ||||||
|  |     'Invalid data received for parameter "{param}".' => 'Sonraí neamhbhailí faighte don pharaiméadar "{param}".', | ||||||
|  |     'Login Required' => 'Logáil Isteach ag Teastáil', | ||||||
|  |     'Missing required arguments: {params}' => 'Argóintí riachtanacha in easnamh: {params}', | ||||||
|  |     'Missing required parameters: {params}' => 'Paraiméadair riachtanacha in easnamh: {params}', | ||||||
|  |     'No' => 'Níl', | ||||||
|  |     'No results found.' => 'Níor aimsíodh aon torthaí.', | ||||||
|  |     'Only files with these MIME types are allowed: {mimeTypes}.' => 'Ní cheadaítear ach comhaid leis na cineálacha MIME seo: {mimeTypes}', | ||||||
|  |     'Only files with these extensions are allowed: {extensions}.' => 'Ní cheadaítear ach comhaid leis na síntí seo: {extensions}', | ||||||
|  |     'Operator "{operator}" must be used with a search attribute.' => 'Oibreoir "{operator}" Ní mór é a úsáid le tréith cuardaigh.', | ||||||
|  |     'Operator "{operator}" requires multiple operands.' => 'Oibreoir "{operator}" éilíonn oibríochtaí iolracha.', | ||||||
|  |     'Options available: {options}' => 'Roghanna ar fáil: {options}', | ||||||
|  |     'Page not found.' => 'Ní bhfuarthas an leathanach.', | ||||||
|  |     'Please fix the following errors:' => 'Ceartaigh na hearráidí seo a leanas le do thoil:', | ||||||
|  |     'Please upload a file.' => 'Le do thoil uaslódáil comhad.', | ||||||
|  |     'Showing <b>{begin, number}-{end, number}</b> of <b>{totalCount, number}</b> {totalCount, plural, one{item} other{items}}.' => 'Ag taispeáint <b>{begin, number}-{end, number}</b> de <b>{totalCount, number}</b> {totalCount, plural, one{mír} other{míreanna}}.', | ||||||
|  |     'The combination {values} of {attributes} has already been taken.' => 'An meascán {values} de {attributes} Tá glactha cheana féin.', | ||||||
|  |     'The file "{file}" is not an image.' => 'An comhad "{file}" nach íomhá í.', | ||||||
|  |     'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'An comhad "{file}" ró-mhór. Ní féidir a mhéid a shárú  {formattedLimit}.', | ||||||
|  |     'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'An comhad "{file}" ró-bheag. Ní féidir a mhéid a bheith níos lú ná {formattedLimit}.', | ||||||
|  |     'The format of {attribute} is invalid.' => 'Formáid na {attribute} neamhbhailí.', | ||||||
|  |     'The format of {filter} is invalid.' => 'Formáid na {filter} neamhbhailí.', | ||||||
|  |     'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'An íomhá "{file}" ró-mhór. Ní féidir leis an airde a bheith níos mó ná {limit, number} {limit, plural, one{pixel} other{pixels}}.', | ||||||
|  |     'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'An íomhá "{file}" ró-mhór. Ní féidir leis an leithead a bheith níos mó ná {limit, number} {limit, plural, one{pixel} other{pixels}}.', | ||||||
|  |     'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'An íomhá "{file}" ró-bheag. Ní féidir leis an airde a bheith níos lú ná {limit, number} {limit, plural, one{pixel} other{pixels}}.', | ||||||
|  |     'The image "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'An íomhá "{file}" ró-bheag. Ní féidir leis an leithead a bheith níos lú ná {limit, number} {limit, plural, one{pixel} other{pixels}}.', | ||||||
|  |     'The requested view "{name}" was not found.' => 'An radharc iarrtha "{name}" níor aimsíodh', | ||||||
|  |     'The verification code is incorrect.' => 'Tá an cód fíoraithe mícheart', | ||||||
|  |     'Total <b>{count, number}</b> {count, plural, one{item} other{items}}.' => 'Iomlán <b>{count, number}</b> {count, plural, one{mír} other{míreanna}}.', | ||||||
|  |     'Unable to verify your data submission.' => 'Ní féidir d\'aighneacht sonraí a fhíorú', | ||||||
|  |     'Unknown alias: -{name}' => 'Ailias anaithnid: -{name}', | ||||||
|  |     'Unknown filter attribute "{attribute}"' => 'Aitreabúid scagaire anaithnid "{attribute}"', | ||||||
|  |     'Unknown option: --{name}' => 'Rogha anaithnid: --{name}', | ||||||
|  |     'Update' => 'Nuashonrú', | ||||||
|  |     'View' => 'Amharc', | ||||||
|  |     'Yes' => 'Tá', | ||||||
|  |     'You are not allowed to perform this action.' => 'Níl cead agat an gníomh seo a dhéanamh.', | ||||||
|  |     'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Is féidir leat a uaslódáil ar a mhéad {limit, number} {limit, plural, one{file} other{files}}.', | ||||||
|  |     'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => 'Ba chóir duit a uaslódáil ar a laghad {limit, number} {limit, plural, one{file} other{files}}.', | ||||||
|  |     'in {delta, plural, =1{a day} other{# days}}' => 'isteach {delta, plural, =1{lá} other{# laethanta}}', | ||||||
|  |     'in {delta, plural, =1{a minute} other{# minutes}}' => 'isteach {delta, plural, =1{nóiméad} other{# nóiméad}}', | ||||||
|  |     'in {delta, plural, =1{a month} other{# months}}' => 'isteach {delta, plural, =1{mí} other{# mhí}}', | ||||||
|  |     'in {delta, plural, =1{a second} other{# seconds}}' => 'isteach {delta, plural, =1{dara} other{# soicind}}', | ||||||
|  |     'in {delta, plural, =1{a year} other{# years}}' => 'isteach {delta, plural, =1{bliain} other{# blianta}}', | ||||||
|  |     'in {delta, plural, =1{an hour} other{# hours}}' => 'isteach {delta, plural, =1{uair an chloig} other{# uair an chloig}}', | ||||||
|  |     'just now' => 'díreach anois', | ||||||
|  |     'the input value' => 'an luach ionchuir', | ||||||
|  |     '{attribute} "{value}" has already been taken.' => '{attribute} "{value}" Tá glactha cheana féin', | ||||||
|  |     '{attribute} cannot be blank.' => '{attribute} Ní féidir a bheith bán.', | ||||||
|  |     '{attribute} contains wrong subnet mask.' => '{attribute} Tá masc subnet mícheart.', | ||||||
|  |     '{attribute} is invalid.' => '{attribute} neamhbhailí.', | ||||||
|  |     '{attribute} is not a valid URL.' => '{attribute} nach URL bailí é.', | ||||||
|  |     '{attribute} is not a valid email address.' => '{attribute} nach seoladh ríomhphoist bailí é.', | ||||||
|  |     '{attribute} is not in the allowed range.' => '{attribute} nach bhfuil sa raon ceadaithe.', | ||||||
|  |     '{attribute} must be "{requiredValue}".' => '{attribute} caithfidh go bhfuil "{requiredValue}".', | ||||||
|  |     '{attribute} must be a number.' => '{attribute} caithfidh gur uimhir é.', | ||||||
|  |     '{attribute} must be a string.' => '{attribute} Ní mór a bheith ina teaghrán.', | ||||||
|  |     '{attribute} must be a valid IP address.' => '{attribute} caithfidh gur seoladh IP bailí é.', | ||||||
|  |     '{attribute} must be an IP address with specified subnet.' => '{attribute} Ní mór seoladh IP a bheith ann le folíon sonraithe.', | ||||||
|  |     '{attribute} must be an integer.' => '{attribute} Ní mór a bheith ina slánuimhir.', | ||||||
|  |     '{attribute} must be either "{true}" or "{false}".' => '{attribute} Ní mór ceachtar "{true}" nó "{false}".', | ||||||
|  |     '{attribute} must be equal to "{compareValueOrAttribute}".' => '{attribute} Ní mór a bheith comhionann le "{compareValueOrAttribute}".', | ||||||
|  |     '{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} ní mór a bheith níos mó ná "{compareValueOrAttribute}".', | ||||||
|  |     '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute} a bheith níos mó ná nó cothrom le "{compareValueOrAttribute}".', | ||||||
|  |     '{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute} Ní mór a bheith níos lú ná "{compareValueOrAttribute}".', | ||||||
|  |     '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute} ní mór a bheith níos lú ná nó cothrom le "{compareValueOrAttribute}".', | ||||||
|  |     '{attribute} must be no greater than {max}.' => '{attribute} Ní mór a bheith níos mó ná {max}.', | ||||||
|  |     '{attribute} must be no less than {min}.' => '{attribute} Ní mór a bheith níos lú ná{min}.', | ||||||
|  |     '{attribute} must not be a subnet.' => '{attribute} Ní mór a bheith ina subnet.', | ||||||
|  |     '{attribute} must not be an IPv4 address.' => '{attribute} níor cheart gur seoladh IPv4 é.', | ||||||
|  |     '{attribute} must not be an IPv6 address.' => '{attribute} níor cheart gur seoladh IPv6 é.', | ||||||
|  |     '{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} Ní mór a bheith comhionann le "{compareValueOrAttribute}".', | ||||||
|  |     '{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} chóir go bhfuil ar a laghad {min, number} {min, plural, one{carachtar} other{carachtair}}.', | ||||||
|  |     '{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} chóir go bhfuil ar a mhéad {max, number} {max, plural, one{carachtar} other{carachtair}}.', | ||||||
|  |     '{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} chóir go bhfuil {length, number} {length, plural, one{carachtar} other{carachtair}}.', | ||||||
|  |     '{compareAttribute} is invalid.' => '{compareAttribute} neamhbhailí.', | ||||||
|  |     '{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, =1{1 lá} eile{# laethanta}}', | ||||||
|  |     '{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, =1{1 uair an chloig} eile{# uair an chloig}}', | ||||||
|  |     '{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, =1{1 nóiméad} eile{# nóiméad}}', | ||||||
|  |     '{delta, plural, =1{1 month} other{# months}}' => '{delta, plural, =1{1 mí} eile{# mhí}}', | ||||||
|  |     '{delta, plural, =1{1 second} other{# seconds}}' => '{delta, plural, =1{1 dara} eile{# soicind}}', | ||||||
|  |     '{delta, plural, =1{1 year} other{# years}}' => '{delta, plural, =1{1 bliain} eile{# blianta}}', | ||||||
|  |     '{delta, plural, =1{a day} other{# days}} ago' => '{delta, plural, =1{1 lá} eile{# laethanta}} ó shin', | ||||||
|  |     '{delta, plural, =1{a minute} other{# minutes}} ago' => '{delta, plural, =1{1 nóiméad} eile{# nóiméad}} ó shin', | ||||||
|  |     '{delta, plural, =1{a month} other{# months}} ago' => '{delta, plural, =1{1 mí} eile{# mhí}} ó shin', | ||||||
|  |     '{delta, plural, =1{a second} other{# seconds}} ago' => '{delta, plural, =1{1 dara} eile{# soicind}} ó shin', | ||||||
|  |     '{delta, plural, =1{a year} other{# years}} ago' => '{delta, plural, =1{1 bliain} eile{# blianta}} ó shin', | ||||||
|  |     '{delta, plural, =1{an hour} other{# hours}} ago' => '{delta, plural, =1{1 uair an chloig} eile{# uair an chloig}} ó shin', | ||||||
|  |     '{nFormatted} B' => '{nFormatted} B', | ||||||
|  |     '{nFormatted} GB' => '{nFormatted} GB', | ||||||
|  |     '{nFormatted} GiB' => '{nFormatted} GiB', | ||||||
|  |     '{nFormatted} KiB' => '{nFormatted} KiB', | ||||||
|  |     '{nFormatted} MB' => '{nFormatted} MB', | ||||||
|  |     '{nFormatted} MiB' => '{nFormatted} MiB', | ||||||
|  |     '{nFormatted} PB' => '{nFormatted} PB', | ||||||
|  |     '{nFormatted} PiB' => '{nFormatted} PiB', | ||||||
|  |     '{nFormatted} TB' => '{nFormatted} TB', | ||||||
|  |     '{nFormatted} TiB' => '{nFormatted} TiB', | ||||||
|  |     '{nFormatted} kB' => '{nFormatted} kB', | ||||||
|  |     '{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, =1{beart} eile{bearta}}', | ||||||
|  |     '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, =1{gibibheart} eile{gibítí}}', | ||||||
|  |     '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, =1{gigabyte} eile{ghigibheart}}', | ||||||
|  |     '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '{nFormatted} {n, plural, =1{cibeibít} eile{cibítí}}', | ||||||
|  |     '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '{nFormatted} {n, plural, =1{cilibheart} eile{cilibheart}}', | ||||||
|  |     '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '{nFormatted} {n, plural, =1{meibít} eile{meibítí}}', | ||||||
|  |     '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '{nFormatted} {n, plural, =1{meigibheart} eile{megabytes}}', | ||||||
|  |     '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '{nFormatted} {n, plural, =1{peibít} eile{peibít}}', | ||||||
|  |     '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} {n, plural, =1{peitibít} eile{peiteabóid}}', | ||||||
|  |     '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '{nFormatted} {n, plural, =1{teibít} eile{teibítí}}', | ||||||
|  |     '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} {n, plural, =1{teiribíte} eile{teiribít}}', | ||||||
|  | ]; | ||||||
							
								
								
									
										141
									
								
								framework/messages/mt/yii.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										141
									
								
								framework/messages/mt/yii.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,141 @@ | |||||||
|  | <?php | ||||||
|  | /** | ||||||
|  |  * Message translations. | ||||||
|  |  * | ||||||
|  |  * This file is automatically generated by 'yii message/extract' command. | ||||||
|  |  * It contains the localizable messages extracted from source code. | ||||||
|  |  * You may modify this file by translating the extracted messages. | ||||||
|  |  * | ||||||
|  |  * Each array element represents the translation (value) of a message (key). | ||||||
|  |  * If the value is empty, the message is considered as not translated. | ||||||
|  |  * Messages that no longer need translation will have their translations | ||||||
|  |  * enclosed between a pair of '@@' marks. | ||||||
|  |  * | ||||||
|  |  * Message string can be used with plural forms format. Check i18n section | ||||||
|  |  * of the guide for details. | ||||||
|  |  * | ||||||
|  |  * NOTE: this file must be saved in UTF-8 encoding. | ||||||
|  |  */ | ||||||
|  | return [ | ||||||
|  |     ' and ' => ' u ', | ||||||
|  |     '"{attribute}" does not support operator "{operator}".' => '"{attribute}" ma jappoġġjax l-operatur "{operator}".', | ||||||
|  |     '(not set)' => '(mhux issettjat)', | ||||||
|  |     'Action not found.' => 'Azzjoni ma nstabitx.', | ||||||
|  |     'Aliases available: {aliases}' => 'Alias disponibbli: {aliases}', | ||||||
|  |     'An internal server error occurred.' => 'Sar żball intern tas-server.', | ||||||
|  |     'Are you sure you want to delete this item?' => 'Int żgur li trid tħassar dan l-oġġett?', | ||||||
|  |     'Condition for "{attribute}" should be either a value or valid operator specification.' => 'Kundizzjoni għal "{attribute}" għandu jkun jew valur jew speċifikazzjoni valida tal-operatur.', | ||||||
|  |     'Delete' => 'Ħassar', | ||||||
|  |     'Error' => 'Żball', | ||||||
|  |     'File upload failed.' => 'It-tlugħ tal-fajl falla.', | ||||||
|  |     'Home' => 'Dar', | ||||||
|  |     'Invalid data received for parameter "{param}".' => 'Data invalida riċevuta għall-parametru "{param}".', | ||||||
|  |     'Login Required' => 'Login Meħtieġa', | ||||||
|  |     'Missing required arguments: {params}' => 'Argumenti meħtieġa nieqsa: {params}', | ||||||
|  |     'Missing required parameters: {params}' => 'Parametri meħtieġa nieqsa: {params}', | ||||||
|  |     'No' => 'Nru', | ||||||
|  |     'No results found.' => 'Ma nstab l-ebda riżultat.', | ||||||
|  |     'Only files with these MIME types are allowed: {mimeTypes}.' => 'Fajls b\'dawn it-tipi MIME biss huma permessi: {mimeTypes}.', | ||||||
|  |     'Only files with these extensions are allowed: {extensions}.' => 'Fajls b\'dawn l-estensjonijiet biss huma permessi: {extensions}.', | ||||||
|  |     'Operator "{operator}" must be used with a search attribute.' => 'Operatur "{operator}" għandu jintuża ma\' attribut ta\' tfittxija.', | ||||||
|  |     'Operator "{operator}" requires multiple operands.' => 'Operatur "{operator}" teħtieġ operandi multipli.', | ||||||
|  |     'Options available: {options}' => 'Għażliet disponibbli: {options}', | ||||||
|  |     'Page not found.' => 'Paġna mhux misjuba.', | ||||||
|  |     'Please fix the following errors:' => 'Jekk jogħġbok waħħal l-iżbalji li ġejjin:', | ||||||
|  |     'Please upload a file.' => 'Jekk jogħġbok ittella\' fajl.', | ||||||
|  |     'Showing <b>{begin, number}-{end, number}</b> of <b>{totalCount, number}</b> {totalCount, plural, one{item} other{items}}.' => 'Wiri <b>{begin, number}-{end, number}</b> ta <b>{totalCount, number}</b> {totalCount, plural, one{oġġett} other{oġġetti}}.', | ||||||
|  |     'The combination {values} of {attributes} has already been taken.' => 'Il-kombinazzjoni {values} ta {attributes} diġà ttieħdet.', | ||||||
|  |     'The file "{file}" is not an image.' => 'Il-fajl "{file}" mhix immaġni', | ||||||
|  |     'The file "{file}" is too big. Its size cannot exceed {formattedLimit}.' => 'Il-fajl "{file}" hija kbira wisq. Id-daqs tiegħu ma jistax jaqbeż {formattedLimit}.', | ||||||
|  |     'The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.' => 'Il-fajl "{file}" huwa żgħir wisq. Id-daqs tiegħu ma jistax ikun iżgħar minn {formattedLimit}.', | ||||||
|  |     'The format of {attribute} is invalid.' => 'Il-format ta\'  {attribute} hija invalida.', | ||||||
|  |     'The format of {filter} is invalid.' => 'Il-format ta\'  {filter}  hija invalida.', | ||||||
|  |     'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'L-immaġni "{file}" hija kbira wisq. L-għoli ma jistax ikun akbar minn {limit, number} {limit, plural, one{pixel} other{pixels}}.', | ||||||
|  |     'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'L-immaġni "{file}" hija kbira wisq. Il-wisa \'ma tistax tkun akbar minn {limit, number} {limit, plural, one{pixel} other{pixels}}.', | ||||||
|  |     'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'L-immaġni "{file}" huwa żgħir wisq. L-għoli ma jistax ikun iżgħar minn {limit, number} {limit, plural, one{pixel} other{pixels}}.', | ||||||
|  |     'The image "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'L-immaġni "{file}" huwa żgħir wisq. Il-wisa \'ma tistax tkun iżgħar minn {limit, number} {limit, plural, one{pixel} other{pixels}}.', | ||||||
|  |     'The requested view "{name}" was not found.' => 'Il-veduta mitluba "{name}" ma nstabx.', | ||||||
|  |     'The verification code is incorrect.' => 'Il-kodiċi ta\' verifika mhux korrett.', | ||||||
|  |     'Total <b>{count, number}</b> {count, plural, one{item} other{items}}.' => 'Total <b>{count, number}</b> {count, plural, one{oġġett} other{oġġetti}}.', | ||||||
|  |     'Unable to verify your data submission.' => 'Ma tistax tivverifika s-sottomissjoni tad-dejta tiegħek.', | ||||||
|  |     'Unknown alias: -{name}' => 'Psewdonimu mhux magħruf: -{name}', | ||||||
|  |     'Unknown filter attribute "{attribute}"' => 'Attribut tal-filtru mhux magħruf "{attribute}"', | ||||||
|  |     'Unknown option: --{name}' => 'Għażla mhux magħrufa: --{name}', | ||||||
|  |     'Update' => 'Aġġornament', | ||||||
|  |     'View' => 'Ara', | ||||||
|  |     'Yes' => 'Iva', | ||||||
|  |     'You are not allowed to perform this action.' => 'M\'intix permess li twettaq din l-azzjoni.', | ||||||
|  |     'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Tista \'ttella\' l-aktar {limit, number} {limit, plural, one{file} other{files}}.', | ||||||
|  |     'You should upload at least {limit, number} {limit, plural, one{file} other{files}}.' => 'Għandek ittella mill-inqas {limit, number} {limit, plural, one{file} other{files}}.', | ||||||
|  |     'in {delta, plural, =1{a day} other{# days}}' => 'fi {delta, plural, =1{a jum} other{# jiem}}', | ||||||
|  |     'in {delta, plural, =1{a minute} other{# minutes}}' => 'fi {delta, plural, =1{minuta} other{# minuti}}', | ||||||
|  |     'in {delta, plural, =1{a month} other{# months}}' => 'fi {delta, plural, =1{xahar} other{# xhur}}', | ||||||
|  |     'in {delta, plural, =1{a second} other{# seconds}}' => 'fi {delta, plural, =1{it-tieni} other{# sekondi}}', | ||||||
|  |     'in {delta, plural, =1{a year} other{# years}}' => 'fi {delta, plural, =1{sena} other{# snin}}', | ||||||
|  |     'in {delta, plural, =1{an hour} other{# hours}}' => 'fi {delta, plural, =1{siegħa} other{# sigħat}}', | ||||||
|  |     'just now' => 'biss issa', | ||||||
|  |     'the input value' => 'il-valur tad-dħul', | ||||||
|  |     '{attribute} "{value}" has already been taken.' => '{attribute} "{value}" diġà ttieħdet.', | ||||||
|  |     '{attribute} cannot be blank.' => '{attribute} ma jistax ikun vojt.', | ||||||
|  |     '{attribute} contains wrong subnet mask.' => '{attribute} fih subnet mask ħażina.', | ||||||
|  |     '{attribute} is invalid.' => '{attribute} hija invalida.', | ||||||
|  |     '{attribute} is not a valid URL.' => '{attribute} mhuwiex URL validu.', | ||||||
|  |     '{attribute} is not a valid email address.' => '{attribute} mhuwiex indirizz elettroniku validu.', | ||||||
|  |     '{attribute} is not in the allowed range.' => '{attribute} mhix fil-medda permessa.', | ||||||
|  |     '{attribute} must be "{requiredValue}".' => '{attribute} għandu jkun "{requiredValue}".', | ||||||
|  |     '{attribute} must be a number.' => '{attribute} irid ikun numru.', | ||||||
|  |     '{attribute} must be a string.' => '{attribute} għandu jkun spag.', | ||||||
|  |     '{attribute} must be a valid IP address.' => '{attribute} għandu jkun indirizz IP validu.', | ||||||
|  |     '{attribute} must be an IP address with specified subnet.' => '{attribute} ', | ||||||
|  |     '{attribute} must be an integer.' => '{attribute} għandu jkun numru sħiħ.', | ||||||
|  |     '{attribute} must be either "{true}" or "{false}".' => '{attribute} trid tkun jew "{true}" jew "{false}".', | ||||||
|  |     '{attribute} must be equal to "{compareValueOrAttribute}".' => '{attribute} trid tkun ugwali għal "{compareValueOrAttribute}".', | ||||||
|  |     '{attribute} must be greater than "{compareValueOrAttribute}".' => '{attribute} għandu jkun akbar minn "{compareValueOrAttribute}".', | ||||||
|  |     '{attribute} must be greater than or equal to "{compareValueOrAttribute}".' => '{attribute} għandu jkun akbar minn jew ugwali għal "{compareValueOrAttribute}".', | ||||||
|  |     '{attribute} must be less than "{compareValueOrAttribute}".' => '{attribute} għandu jkun inqas minn "{compareValueOrAttribute}".', | ||||||
|  |     '{attribute} must be less than or equal to "{compareValueOrAttribute}".' => '{attribute} għandu jkun inqas minn jew ugwali għal "{compareValueOrAttribute}".', | ||||||
|  |     '{attribute} must be no greater than {max}.' => '{attribute} m\'għandux ikun akbar minn {max}.', | ||||||
|  |     '{attribute} must be no less than {min}.' => '{attribute} għandu jkun mhux inqas minn {min}.', | ||||||
|  |     '{attribute} must not be a subnet.' => '{attribute} m\'għandux ikun subnet.', | ||||||
|  |     '{attribute} must not be an IPv4 address.' => '{attribute} m\'għandux ikun indirizz IPv4.', | ||||||
|  |     '{attribute} must not be an IPv6 address.' => '{attribute} m\'għandux ikun indirizz IPv6.', | ||||||
|  |     '{attribute} must not be equal to "{compareValueOrAttribute}".' => '{attribute} m\'għandux ikun ugwali għal "{compareValueOrAttribute}".', | ||||||
|  |     '{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} għandu jkun fih mill-inqas {min, number} {min, plural, one{character} other{characters}}.', | ||||||
|  |     '{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} għandu jkun fih l-aktar {max, number} {max, plural, one{character} other{characters}}.', | ||||||
|  |     '{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} għandu jkun fih {length, number} {length, plural, one{character} other{characters}}.', | ||||||
|  |     '{compareAttribute} is invalid.' => '{compareAttribute} hija invalida', | ||||||
|  |     '{delta, plural, =1{1 day} other{# days}}' => '{delta, plural, =1{1 jum} other{# jiem}}', | ||||||
|  |     '{delta, plural, =1{1 hour} other{# hours}}' => '{delta, plural, =1{1 siegħa} other{# sigħat}}', | ||||||
|  |     '{delta, plural, =1{1 minute} other{# minutes}}' => '{delta, plural, =1{1 minuta} other{# minuti}}', | ||||||
|  |     '{delta, plural, =1{1 month} other{# months}}' => '{delta, plural, =1{1 xahar} other{# xhur}}', | ||||||
|  |     '{delta, plural, =1{1 second} other{# seconds}}' => '{delta, plural, =1{1 it-tieni} other{# sekondi}}', | ||||||
|  |     '{delta, plural, =1{1 year} other{# years}}' => '{delta, plural, =1{1 sena} other{# snin}}', | ||||||
|  |     '{delta, plural, =1{a day} other{# days}} ago' => '{delta, plural, =1{jum} other{# jiem}} ago', | ||||||
|  |     '{delta, plural, =1{a minute} other{# minutes}} ago' => '{delta, plural, =1{minuta} other{# minuti}} ago', | ||||||
|  |     '{delta, plural, =1{a month} other{# months}} ago' => '{delta, plural, =1{xahar} other{# xhur}} ago', | ||||||
|  |     '{delta, plural, =1{a second} other{# seconds}} ago' => '{delta, plural, =1{it-tieni} other{# sekondi}} ago', | ||||||
|  |     '{delta, plural, =1{a year} other{# years}} ago' => '{delta, plural, =1{sena} other{# snin}} ago', | ||||||
|  |     '{delta, plural, =1{an hour} other{# hours}} ago' => '{delta, plural, =1{siegħa} other{# sigħat}} ago', | ||||||
|  |     '{nFormatted} B' => '{nFormatted} B', | ||||||
|  |     '{nFormatted} GB' => '{nFormatted} GB', | ||||||
|  |     '{nFormatted} GiB' => '{nFormatted} GiB', | ||||||
|  |     '{nFormatted} KiB' => '{nFormatted} KiB', | ||||||
|  |     '{nFormatted} MB' => '{nFormatted} MB', | ||||||
|  |     '{nFormatted} MiB' => '{nFormatted} MiB', | ||||||
|  |     '{nFormatted} PB' => '{nFormatted} PB', | ||||||
|  |     '{nFormatted} PiB' => '{nFormatted} PiB', | ||||||
|  |     '{nFormatted} TB' => '{nFormatted} TB', | ||||||
|  |     '{nFormatted} TiB' => '{nFormatted} TiB', | ||||||
|  |     '{nFormatted} kB' => '{nFormatted} kB', | ||||||
|  |     '{nFormatted} {n, plural, =1{byte} other{bytes}}' => '{nFormatted} {n, plural, =1{byte} other{bytes}}', | ||||||
|  |     '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}' => '{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}', | ||||||
|  |     '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}' => '{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}', | ||||||
|  |     '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}' => '{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}', | ||||||
|  |     '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}' => '{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}', | ||||||
|  |     '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}' => '{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}', | ||||||
|  |     '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}' => '{nFormatted} {n, plural, =1{megabyte} other{megabytes}}', | ||||||
|  |     '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}' => '{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}', | ||||||
|  |     '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}' => '{nFormatted} {n, plural, =1{petabyte} other{petabytes}}', | ||||||
|  |     '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}' => '{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}', | ||||||
|  |     '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}' => '{nFormatted} {n, plural, =1{terabyte} other{terabytes}}', | ||||||
|  | ]; | ||||||
| @ -26,6 +26,15 @@ use yii\helpers\Url; | |||||||
|  * |  * | ||||||
|  * @author Qiang Xue <qiang.xue@gmail.com> |  * @author Qiang Xue <qiang.xue@gmail.com> | ||||||
|  * @since 2.0 |  * @since 2.0 | ||||||
|  |  * | ||||||
|  |  * @phpstan-import-type RegisterJsFileOptions from View | ||||||
|  |  * @psalm-import-type RegisterJsFileOptions from View | ||||||
|  |  * | ||||||
|  |  * @phpstan-import-type RegisterCssFileOptions from View | ||||||
|  |  * @psalm-import-type RegisterCssFileOptions from View | ||||||
|  |  * | ||||||
|  |  * @phpstan-import-type PublishOptions from AssetManager | ||||||
|  |  * @psalm-import-type PublishOptions from AssetManager | ||||||
|  */ |  */ | ||||||
| class AssetBundle extends BaseObject | class AssetBundle extends BaseObject | ||||||
| { | { | ||||||
| @ -72,6 +81,9 @@ class AssetBundle extends BaseObject | |||||||
|      *    'yii\bootstrap\BootstrapAsset', |      *    'yii\bootstrap\BootstrapAsset', | ||||||
|      * ]; |      * ]; | ||||||
|      * ``` |      * ``` | ||||||
|  |      * | ||||||
|  |      * @phpstan-var class-string[] | ||||||
|  |      * @psalm-var class-string[] | ||||||
|      */ |      */ | ||||||
|     public $depends = []; |     public $depends = []; | ||||||
|     /** |     /** | ||||||
| @ -89,6 +101,9 @@ class AssetBundle extends BaseObject | |||||||
|      *   This functionality is available since version 2.0.7. |      *   This functionality is available since version 2.0.7. | ||||||
|      * |      * | ||||||
|      * Note that only a forward slash "/" should be used as directory separator. |      * Note that only a forward slash "/" should be used as directory separator. | ||||||
|  |      * | ||||||
|  |      * @phpstan-var (string|array<int|string, mixed>)[] | ||||||
|  |      * @psalm-var (string|array<int|string, mixed>)[] | ||||||
|      */ |      */ | ||||||
|     public $js = []; |     public $js = []; | ||||||
|     /** |     /** | ||||||
| @ -96,21 +111,33 @@ class AssetBundle extends BaseObject | |||||||
|      * in one of the three formats as explained in [[js]]. |      * in one of the three formats as explained in [[js]]. | ||||||
|      * |      * | ||||||
|      * Note that only a forward slash "/" should be used as directory separator. |      * Note that only a forward slash "/" should be used as directory separator. | ||||||
|  |      * | ||||||
|  |      * @phpstan-var (string|array<int|string, mixed>)[] | ||||||
|  |      * @psalm-var (string|array<int|string, mixed>)[] | ||||||
|      */ |      */ | ||||||
|     public $css = []; |     public $css = []; | ||||||
|     /** |     /** | ||||||
|      * @var array the options that will be passed to [[View::registerJsFile()]] |      * @var array the options that will be passed to [[View::registerJsFile()]] | ||||||
|      * when registering the JS files in this bundle. |      * when registering the JS files in this bundle. | ||||||
|  |      * | ||||||
|  |      * @phpstan-var RegisterJsFileOptions | ||||||
|  |      * @psalm-var RegisterJsFileOptions | ||||||
|      */ |      */ | ||||||
|     public $jsOptions = []; |     public $jsOptions = []; | ||||||
|     /** |     /** | ||||||
|      * @var array the options that will be passed to [[View::registerCssFile()]] |      * @var array the options that will be passed to [[View::registerCssFile()]] | ||||||
|      * when registering the CSS files in this bundle. |      * when registering the CSS files in this bundle. | ||||||
|  |      * | ||||||
|  |      * @phpstan-var RegisterCssFileOptions | ||||||
|  |      * @psalm-var RegisterCssFileOptions | ||||||
|      */ |      */ | ||||||
|     public $cssOptions = []; |     public $cssOptions = []; | ||||||
|     /** |     /** | ||||||
|      * @var array the options to be passed to [[AssetManager::publish()]] when the asset bundle |      * @var array the options to be passed to [[AssetManager::publish()]] when the asset bundle | ||||||
|      * is being published. This property is used only when [[sourcePath]] is set. |      * is being published. This property is used only when [[sourcePath]] is set. | ||||||
|  |      * | ||||||
|  |      * @phpstan-var PublishOptions | ||||||
|  |      * @psalm-var PublishOptions | ||||||
|      */ |      */ | ||||||
|     public $publishOptions = []; |     public $publishOptions = []; | ||||||
|  |  | ||||||
|  | |||||||
| @ -38,6 +38,24 @@ use yii\helpers\Url; | |||||||
|  * |  * | ||||||
|  * @author Qiang Xue <qiang.xue@gmail.com> |  * @author Qiang Xue <qiang.xue@gmail.com> | ||||||
|  * @since 2.0 |  * @since 2.0 | ||||||
|  |  * | ||||||
|  |  * @phpstan-type PublishOptions array{ | ||||||
|  |  *     only?: string[], | ||||||
|  |  *     except?: string[], | ||||||
|  |  *     caseSensitive?: bool, | ||||||
|  |  *     beforeCopy?: callable, | ||||||
|  |  *     afterCopy?: callable, | ||||||
|  |  *     forceCopy?: bool, | ||||||
|  |  * } | ||||||
|  |  * | ||||||
|  |  * @psalm-type PublishOptions = array{ | ||||||
|  |  *     only?: string[], | ||||||
|  |  *     except?: string[], | ||||||
|  |  *     caseSensitive?: bool, | ||||||
|  |  *     beforeCopy?: callable, | ||||||
|  |  *     afterCopy?: callable, | ||||||
|  |  *     forceCopy?: bool, | ||||||
|  |  * } | ||||||
|  */ |  */ | ||||||
| class AssetManager extends Component | class AssetManager extends Component | ||||||
| { | { | ||||||
| @ -463,6 +481,9 @@ class AssetManager extends Component | |||||||
|      * @return array the path (directory or file path) and the URL that the asset is published as. |      * @return array the path (directory or file path) and the URL that the asset is published as. | ||||||
|      * @throws InvalidArgumentException if the asset to be published does not exist. |      * @throws InvalidArgumentException if the asset to be published does not exist. | ||||||
|      * @throws InvalidConfigException if the target directory [[basePath]] is not writeable. |      * @throws InvalidConfigException if the target directory [[basePath]] is not writeable. | ||||||
|  |      * | ||||||
|  |      * @phpstan-param PublishOptions $options | ||||||
|  |      * @psalm-param PublishOptions $options | ||||||
|      */ |      */ | ||||||
|     public function publish($path, $options = []) |     public function publish($path, $options = []) | ||||||
|     { |     { | ||||||
|  | |||||||
| @ -41,6 +41,28 @@ use yii\helpers\Url; | |||||||
|  * |  * | ||||||
|  * @author Qiang Xue <qiang.xue@gmail.com> |  * @author Qiang Xue <qiang.xue@gmail.com> | ||||||
|  * @since 2.0 |  * @since 2.0 | ||||||
|  |  * | ||||||
|  |  * @phpstan-type RegisterJsFileOptions array{ | ||||||
|  |  *     depends?: class-string[], | ||||||
|  |  *     position?: int, | ||||||
|  |  *     appendTimestamp?: boolean | ||||||
|  |  * } | ||||||
|  |  * | ||||||
|  |  * @psalm-type RegisterJsFileOptions = array{ | ||||||
|  |  *     depends?: class-string[], | ||||||
|  |  *     position?: int, | ||||||
|  |  *     appendTimestamp?: boolean | ||||||
|  |  * } | ||||||
|  |  * | ||||||
|  |  * @phpstan-type RegisterCssFileOptions array{ | ||||||
|  |  *     depends?: class-string[], | ||||||
|  |  *     appendTimestamp?: boolean | ||||||
|  |  * } | ||||||
|  |  * | ||||||
|  |  * @psalm-type RegisterCssFileOptions = array{ | ||||||
|  |  *     depends?: class-string[], | ||||||
|  |  *     appendTimestamp?: boolean | ||||||
|  |  * } | ||||||
|  */ |  */ | ||||||
| class View extends \yii\base\View | class View extends \yii\base\View | ||||||
| { | { | ||||||
| @ -445,6 +467,9 @@ class View extends \yii\base\View | |||||||
|      * $url as the key. If two CSS files are registered with the same key, the latter |      * $url as the key. If two CSS files are registered with the same key, the latter | ||||||
|      * will overwrite the former. |      * will overwrite the former. | ||||||
|      * @throws InvalidConfigException |      * @throws InvalidConfigException | ||||||
|  |      * | ||||||
|  |      * @phpstan-param RegisterCssFileOptions $options | ||||||
|  |      * @psalm-param RegisterCssFileOptions $options | ||||||
|      */ |      */ | ||||||
|     public function registerCssFile($url, $options = [], $key = null) |     public function registerCssFile($url, $options = [], $key = null) | ||||||
|     { |     { | ||||||
| @ -569,6 +594,9 @@ class View extends \yii\base\View | |||||||
|      * will overwrite the former. Note that position option takes precedence, thus files registered with the same key, |      * will overwrite the former. Note that position option takes precedence, thus files registered with the same key, | ||||||
|      * but different position option will not override each other. |      * but different position option will not override each other. | ||||||
|      * @throws InvalidConfigException |      * @throws InvalidConfigException | ||||||
|  |      * | ||||||
|  |      * @phpstan-param RegisterJsFileOptions $options | ||||||
|  |      * @psalm-param RegisterJsFileOptions $options | ||||||
|      */ |      */ | ||||||
|     public function registerJsFile($url, $options = [], $key = null) |     public function registerJsFile($url, $options = [], $key = null) | ||||||
|     { |     { | ||||||
|  | |||||||
| @ -364,7 +364,7 @@ class QueryBuilderTest extends \yiiunit\framework\db\QueryBuilderTest | |||||||
|     { |     { | ||||||
|         $qb = $this->getQueryBuilder(); |         $qb = $this->getQueryBuilder(); | ||||||
|  |  | ||||||
|         $expected = "DBCC CHECKIDENT ('[item]', RESEED, (SELECT COALESCE(MAX([id]),0) FROM [item])+1)"; |         $expected = "DBCC CHECKIDENT ('[item]', RESEED, 6)"; | ||||||
|         $sql = $qb->resetSequence('item'); |         $sql = $qb->resetSequence('item'); | ||||||
|         $this->assertEquals($expected, $sql); |         $this->assertEquals($expected, $sql); | ||||||
|  |  | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 Christina Reichel
					Christina Reichel