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