Hoa central
Dump.php
Go to the documentation of this file.
1 <?php
2 
38 
39 use Hoa\Visitor;
40 
49 class Dump implements Visitor\Visit
50 {
56  protected static $_i = 0;
57 
58 
59 
68  public function visit(
69  Visitor\Element $element,
70  &$handle = null,
71  $eldnah = null
72  ) {
73  ++self::$_i;
74 
75  $out = str_repeat('> ', self::$_i) . $element->getId();
76 
77  if (null !== $value = $element->getValue()) {
78  $out .=
79  '(' .
80  ('default' !== $value['namespace']
81  ? $value['namespace'] . ':'
82  : '') .
83  $value['token'] . ', ' .
84  $value['value'] . ')';
85  }
86 
87  $data = $element->getData();
88 
89  if (!empty($data)) {
90  $out .= ' ' . $this->dumpData($data);
91  }
92 
93  $out .= "\n";
94 
95  foreach ($element->getChildren() as $child) {
96  $out .= $child->accept($this, $handle, $eldnah);
97  }
98 
99  --self::$_i;
100 
101  return $out;
102  }
103 
110  protected function dumpData($data)
111  {
112  $out = null;
113 
114  if (!is_array($data)) {
115  return $data;
116  }
117 
118  foreach ($data as $key => $value) {
119  $out .= '[' . $key . ' => ' . $this->dumpData($value) . ']';
120  }
121 
122  return $out;
123  }
124 }
visit(Visitor\Element $element, &$handle=null, $eldnah=null)
Definition: Dump.php:68