From 0c3bcc467df010d33cad01e5ac61064a1bf4f7fb Mon Sep 17 00:00:00 2001 From: Qiang Xue Date: Fri, 14 Jun 2013 17:01:20 -0400 Subject: [PATCH] Moved toArray() from YiiBase to ArrayHelper. --- framework/yii/YiiBase.php | 38 ------------------------------ framework/yii/base/Object.php | 3 ++- framework/yii/helpers/base/ArrayHelper.php | 26 ++++++++++++++++++++ 3 files changed, 28 insertions(+), 39 deletions(-) diff --git a/framework/yii/YiiBase.php b/framework/yii/YiiBase.php index 61208dc..4f85cae 100644 --- a/framework/yii/YiiBase.php +++ b/framework/yii/YiiBase.php @@ -624,44 +624,6 @@ class YiiBase $object->$name = $value; } } - - /** - * Returns the public member variables of an object. - * This method is provided such that we can get the public member variables of an object. - * It is different from "get_object_vars()" because the latter will return private - * and protected variables if it is called within the object itself. - * @param object $object the object to be handled - * @return array the public member variables of the object - */ - public static function getObjectVars($object) - { - return get_object_vars($object); - } - - /** - * Converts the object into an array. - * @param object|array $object the object to be converted into an array - * @param boolean $recursive whether to recursively converts properties which are objects into arrays. - * @return array the array representation of the object - */ - public static function toArray($object, $recursive = true) - { - if ($object instanceof Arrayable) { - $object = $object->toArray(); - if (!$recursive) { - return $object; - } - } - $result = array(); - foreach ($object as $key => $value) { - if ($recursive && (is_array($value) || is_object($value))) { - $result[$key] = static::toArray($value, true); - } else { - $result[$key] = $value; - } - } - return $result; - } } YiiBase::$aliases = array( diff --git a/framework/yii/base/Object.php b/framework/yii/base/Object.php index 946be85..b7ab710 100644 --- a/framework/yii/base/Object.php +++ b/framework/yii/base/Object.php @@ -8,6 +8,7 @@ namespace yii\base; use Yii; +use yii\helpers\ArrayHelper; /** * @include @yii/base/Object.md @@ -227,6 +228,6 @@ class Object implements Arrayable */ public function toArray() { - return Yii::toArray($this, false); + return ArrayHelper::toArray($this, false); } } diff --git a/framework/yii/helpers/base/ArrayHelper.php b/framework/yii/helpers/base/ArrayHelper.php index cee39bc..07c7155 100644 --- a/framework/yii/helpers/base/ArrayHelper.php +++ b/framework/yii/helpers/base/ArrayHelper.php @@ -8,6 +8,7 @@ namespace yii\helpers\base; use Yii; +use yii\base\Arrayable; use yii\base\InvalidParamException; /** @@ -20,6 +21,31 @@ use yii\base\InvalidParamException; class ArrayHelper { /** + * Converts the object into an array. + * @param object|array $object the object to be converted into an array + * @param boolean $recursive whether to recursively converts properties which are objects into arrays. + * @return array the array representation of the object + */ + public static function toArray($object, $recursive = true) + { + if ($object instanceof Arrayable) { + $object = $object->toArray(); + if (!$recursive) { + return $object; + } + } + $result = array(); + foreach ($object as $key => $value) { + if ($recursive && (is_array($value) || is_object($value))) { + $result[$key] = static::toArray($value, true); + } else { + $result[$key] = $value; + } + } + return $result; + } + + /** * Merges two or more arrays into one recursively. * If each array has an element with the same string key value, the latter * will overwrite the former (different from array_merge_recursive).