public function process() { $profiler = $this->getProfiler(); if ($profiler) { $profiler->block('<b style="color:#900;">ctr:</b> ' . $this->getSignature()); } $result = parent::process(); if (is_string($result) || is_bool($result)) { return $result; } if ($result === null) { $result = array(); } if (is_array($result) || $result instanceof \ArrayAccess) { $result = array_merge_recursive($result, $this->_result); if (!isset($result['_meta'])) { $result['_meta'] = array(); } $result['_meta'] = array_merge_recursive($result['_meta'], $this->_meta); } if ($profiler) { $profiler->stop(); } return $result; }