Browse Source
Conflicts: .travis.yml framework/classes.php tests/framework/ChangeLogTest.php tests/framework/filters/auth/CompositeAuthTest.phptags/3.0.0-alpha1
Paul Klimov
7 years ago
64 changed files with 687 additions and 127 deletions
@ -0,0 +1,63 @@
|
||||
<?php |
||||
/** |
||||
* @link http://www.yiiframework.com/ |
||||
* @copyright Copyright (c) 2008 Yii Software LLC |
||||
* @license http://www.yiiframework.com/license/ |
||||
*/ |
||||
|
||||
namespace yii\db\mysql; |
||||
|
||||
use yii\db\ExpressionInterface; |
||||
use yii\db\JsonExpression; |
||||
|
||||
/** |
||||
* Class ColumnSchema for MySQL database |
||||
* |
||||
* @author Dmytro Naumenko <d.naumenko.a@gmail.com> |
||||
* @since 2.0.14.1 |
||||
*/ |
||||
class ColumnSchema extends \yii\db\ColumnSchema |
||||
{ |
||||
/** |
||||
* @var bool whether the column schema should OMIT using JSON support feature. |
||||
* You can use this property to make upgrade to Yii 2.0.14 easier. |
||||
* Default to `false`, meaning JSON support is enabled. |
||||
* |
||||
* @since 2.0.14.1 |
||||
* @deprecated Since 2.0.14.1 and will be removed in 2.1. |
||||
*/ |
||||
public $disableJsonSupport = false; |
||||
|
||||
|
||||
/** |
||||
* {@inheritdoc} |
||||
*/ |
||||
public function dbTypecast($value) |
||||
{ |
||||
if ($value instanceof ExpressionInterface) { |
||||
return $value; |
||||
} |
||||
|
||||
if (!$this->disableJsonSupport && $this->dbType === Schema::TYPE_JSON) { |
||||
return new JsonExpression($value, $this->type); |
||||
} |
||||
|
||||
return $this->typecast($value); |
||||
} |
||||
|
||||
/** |
||||
* {@inheritdoc} |
||||
*/ |
||||
public function phpTypecast($value) |
||||
{ |
||||
if ($value === null) { |
||||
return null; |
||||
} |
||||
|
||||
if (!$this->disableJsonSupport && $this->type === Schema::TYPE_JSON) { |
||||
return json_decode($value, true); |
||||
} |
||||
|
||||
return parent::phpTypecast($value); |
||||
} |
||||
} |
@ -0,0 +1,23 @@
|
||||
<?php |
||||
/** |
||||
* @link http://www.yiiframework.com/ |
||||
* @copyright Copyright (c) 2008 Yii Software LLC |
||||
* @license http://www.yiiframework.com/license/ |
||||
*/ |
||||
|
||||
namespace yiiunit\data\ar; |
||||
|
||||
/** |
||||
* Class Animal |
||||
* |
||||
* @author Dmytro Naumenko <d.naumenko.a@gmail.com> |
||||
* @property int $id |
||||
* @property array $data |
||||
*/ |
||||
class Storage extends ActiveRecord |
||||
{ |
||||
public static function tableName() |
||||
{ |
||||
return 'storage'; |
||||
} |
||||
} |
@ -0,0 +1,84 @@
|
||||
<?php |
||||
/** |
||||
* @link http://www.yiiframework.com/ |
||||
* @copyright Copyright (c) 2008 Yii Software LLC |
||||
* @license http://www.yiiframework.com/license/ |
||||
*/ |
||||
|
||||
namespace yiiunit\data\base; |
||||
|
||||
/** |
||||
* ArrayAccessObject |
||||
* Object that extends [[TraversableObject]] and implements `\ArrayAccess` |
||||
* Used for testing support for ArrayAccess object instead of arrays. |
||||
* @author Dmytro Naumenko <d.naumenko.a@gmail.com> |
||||
* @since 2.0.14.1 |
||||
*/ |
||||
class ArrayAccessObject extends TraversableObject implements \ArrayAccess |
||||
{ |
||||
/** |
||||
* Whether a offset exists |
||||
* |
||||
* @link http://php.net/manual/en/arrayaccess.offsetexists.php |
||||
* @param mixed $offset <p> |
||||
* An offset to check for. |
||||
* </p> |
||||
* @return boolean true on success or false on failure. |
||||
* </p> |
||||
* <p> |
||||
* The return value will be casted to boolean if non-boolean was returned. |
||||
* @since 2.0.14.1 |
||||
*/ |
||||
public function offsetExists($offset) |
||||
{ |
||||
return isset($this->data[$offset]); |
||||
} |
||||
|
||||
/** |
||||
* Offset to retrieve |
||||
* |
||||
* @link http://php.net/manual/en/arrayaccess.offsetget.php |
||||
* @param mixed $offset <p> |
||||
* The offset to retrieve. |
||||
* </p> |
||||
* @return mixed Can return all value types. |
||||
* @since 2.0.14.1 |
||||
*/ |
||||
public function offsetGet($offset) |
||||
{ |
||||
return $this->data[$offset]; |
||||
} |
||||
|
||||
/** |
||||
* Offset to set |
||||
* |
||||
* @link http://php.net/manual/en/arrayaccess.offsetset.php |
||||
* @param mixed $offset <p> |
||||
* The offset to assign the value to. |
||||
* </p> |
||||
* @param mixed $value <p> |
||||
* The value to set. |
||||
* </p> |
||||
* @return void |
||||
* @since 2.0.14.1 |
||||
*/ |
||||
public function offsetSet($offset, $value) |
||||
{ |
||||
$this->data[$offset] = $value; |
||||
} |
||||
|
||||
/** |
||||
* Offset to unset |
||||
* |
||||
* @link http://php.net/manual/en/arrayaccess.offsetunset.php |
||||
* @param mixed $offset <p> |
||||
* The offset to unset. |
||||
* </p> |
||||
* @return void |
||||
* @since 2.0.14.1 |
||||
*/ |
||||
public function offsetUnset($offset) |
||||
{ |
||||
unset($this->data[$offset]); |
||||
} |
||||
} |
Loading…
Reference in new issue