first commit
This commit is contained in:
93
vendor/yiisoft/yii2/helpers/ReplaceArrayValue.php
vendored
Normal file
93
vendor/yiisoft/yii2/helpers/ReplaceArrayValue.php
vendored
Normal file
@ -0,0 +1,93 @@
|
||||
<?php
|
||||
/**
|
||||
* @link https://www.yiiframework.com/
|
||||
* @copyright Copyright (c) 2008 Yii Software LLC
|
||||
* @license https://www.yiiframework.com/license/
|
||||
*/
|
||||
|
||||
namespace yii\helpers;
|
||||
|
||||
use yii\base\InvalidConfigException;
|
||||
|
||||
/**
|
||||
* Object that represents the replacement of array value while performing [[ArrayHelper::merge()]].
|
||||
*
|
||||
* Usage example:
|
||||
*
|
||||
* ```
|
||||
* $array1 = [
|
||||
* 'ids' => [
|
||||
* 1,
|
||||
* ],
|
||||
* 'validDomains' => [
|
||||
* 'example.com',
|
||||
* 'www.example.com',
|
||||
* ],
|
||||
* ];
|
||||
*
|
||||
* $array2 = [
|
||||
* 'ids' => [
|
||||
* 2,
|
||||
* ],
|
||||
* 'validDomains' => new \yii\helpers\ReplaceArrayValue([
|
||||
* 'yiiframework.com',
|
||||
* 'www.yiiframework.com',
|
||||
* ]),
|
||||
* ];
|
||||
*
|
||||
* $result = \yii\helpers\ArrayHelper::merge($array1, $array2);
|
||||
* ```
|
||||
*
|
||||
* The result will be
|
||||
*
|
||||
* ```
|
||||
* [
|
||||
* 'ids' => [
|
||||
* 1,
|
||||
* 2,
|
||||
* ],
|
||||
* 'validDomains' => [
|
||||
* 'yiiframework.com',
|
||||
* 'www.yiiframework.com',
|
||||
* ],
|
||||
* ]
|
||||
* ```
|
||||
*
|
||||
* @author Robert Korulczyk <robert@korulczyk.pl>
|
||||
* @since 2.0.10
|
||||
*/
|
||||
class ReplaceArrayValue
|
||||
{
|
||||
/**
|
||||
* @var mixed value used as replacement.
|
||||
*/
|
||||
public $value;
|
||||
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
* @param mixed $value value used as replacement.
|
||||
*/
|
||||
public function __construct($value)
|
||||
{
|
||||
$this->value = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Restores class state after using `var_export()`.
|
||||
*
|
||||
* @param array $state
|
||||
* @return ReplaceArrayValue
|
||||
* @throws InvalidConfigException when $state property does not contain `value` parameter
|
||||
* @see https://www.php.net/manual/en/function.var-export.php
|
||||
* @since 2.0.16
|
||||
*/
|
||||
public static function __set_state($state)
|
||||
{
|
||||
if (!isset($state['value'])) {
|
||||
throw new InvalidConfigException('Failed to instantiate class "ReplaceArrayValue". Required parameter "value" is missing');
|
||||
}
|
||||
|
||||
return new self($state['value']);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user