Yii2Debug::prepareData PHP Method

prepareData() public static method

Convert data to plain array in recursive manner.
public static prepareData ( mixed $data ) : array
$data mixed
return array
    public static function prepareData($data)
    {
        static $parents = array();
        $result = array();
        if (is_array($data) || $data instanceof CMap) {
            foreach ($data as $key => $value) {
                $result[$key] = self::prepareData($value);
            }
        } elseif (is_object($data)) {
            if (!in_array($data, $parents, true)) {
                array_push($parents, $data);
                $result['class'] = get_class($data);
                if ($data instanceof CActiveRecord) {
                    foreach ($data->attributes as $field => $value) {
                        $result[$field] = $value;
                    }
                }
                foreach (get_object_vars($data) as $key => $value) {
                    $result[$key] = self::prepareData($value);
                }
                array_pop($parents);
            } else {
                $result = get_class($data) . '()';
            }
        } else {
            $result = $data;
        }
        return $result;
    }

Usage Example

Beispiel #1
0
 public function save()
 {
     $renderer = Yii::app()->getComponent('viewRenderer');
     if ($renderer instanceof Yii2DebugViewRenderer) {
         return Yii2Debug::prepareData($renderer->getStack());
     }
     return null;
 }
All Usage Examples Of Yii2Debug::prepareData