Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yii2
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PSDI Army
yii2
Commits
0c3bcc46
Commit
0c3bcc46
authored
Jun 14, 2013
by
Qiang Xue
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Moved toArray() from YiiBase to ArrayHelper.
parent
a951e1c8
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
28 additions
and
39 deletions
+28
-39
YiiBase.php
framework/yii/YiiBase.php
+0
-38
Object.php
framework/yii/base/Object.php
+2
-1
ArrayHelper.php
framework/yii/helpers/base/ArrayHelper.php
+26
-0
No files found.
framework/yii/YiiBase.php
View file @
0c3bcc46
...
...
@@ -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
(
...
...
framework/yii/base/Object.php
View file @
0c3bcc46
...
...
@@ -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
);
}
}
framework/yii/helpers/base/ArrayHelper.php
View file @
0c3bcc46
...
...
@@ -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).
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment