/** * @param BlockInterface $block * @param OutputInterface $output * @param int $spance */ public function renderBlock(BlockInterface $block, OutputInterface $output, $extended, $space = 0) { $output->writeln(sprintf("%s <comment>> Id: %d - type: %s - name: %s</comment>", str_repeat(" ", $space), $block->getId(), $block->getType(), $block->getName())); if ($extended) { foreach ($block->getSettings() as $name => $value) { $output->writeln(sprintf("%s %s: %s", str_repeat(" ", $space + 1), $name, var_export($value, 1))); } } foreach ($block->getChildren() as $block) { $this->renderBlock($block, $output, $extended, $space + 1); } }
/** * @param BlockInterface $block * * @return array */ protected function startTracing(BlockInterface $block) { $this->traces[$block->getId()] = $this->stopwatch->start(sprintf('%s (id: %s, type: %s)', $block->getName(), $block->getId(), $block->getType())); return array('name' => $block->getName(), 'type' => $block->getType(), 'duration' => false, 'memory_start' => memory_get_usage(true), 'memory_end' => false, 'memory_peak' => false, 'cache' => array('keys' => array(), 'contextual_keys' => array(), 'handler' => false, 'from_cache' => false, 'ttl' => 0, 'created_at' => false, 'lifetime' => 0, 'age' => 0), 'assets' => array('js' => array(), 'css' => array())); }
/** * @param BlockInterface $block * * @return array */ protected function createBlocks(BlockInterface $block) { $content = array(); $content['id'] = $block->getId(); $content['name'] = $block->getName(); $content['enabled'] = $block->getEnabled(); $content['position'] = $block->getPosition(); $content['settings'] = $block->getSettings(); $content['type'] = $block->getType(); $content['created_at'] = $block->getCreatedAt()->format('U'); $content['updated_at'] = $block->getUpdatedAt()->format('U'); $content['blocks'] = array(); foreach ($block->getChildren() as $child) { $content['blocks'][] = $this->createBlocks($child); } return $content; }