관리-도구
편집 파일: ConfigCollector.php
<?php /* * This file is part of the DebugBar package. * * (c) 2013 Maxime Bouroumeau-Fuseau * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace DebugBar\DataCollector; /** * Collects array data */ class ConfigCollector extends DataCollector implements Renderable, AssetProvider { protected $name; protected $data; // The HTML var dumper requires debug bar users to support the new inline assets, which not all // may support yet - so return false by default for now. protected $useHtmlVarDumper = false; /** * Sets a flag indicating whether the Symfony HtmlDumper will be used to dump variables for * rich variable rendering. * * @param bool $value * @return $this */ public function useHtmlVarDumper($value = true) { $this->useHtmlVarDumper = $value; return $this; } /** * Indicates whether the Symfony HtmlDumper will be used to dump variables for rich variable * rendering. * * @return mixed */ public function isHtmlVarDumperUsed() { return $this->useHtmlVarDumper; } /** * @param array $data * @param string $name */ public function __construct(array $data = array(), $name = 'config') { $this->name = $name; $this->data = $data; } /** * Sets the data * * @param array $data */ public function setData(array $data) { $this->data = $data; } /** * @return array */ public function collect() { $data = array(); foreach ($this->data as $k => $v) { if ($this->isHtmlVarDumperUsed()) { $v = $this->getVarDumper()->renderVar($v); } else if (!is_string($v)) { $v = $this->getDataFormatter()->formatVar($v); } $data[$k] = $v; } return $data; } /** * @return string */ public function getName() { return $this->name; } /** * @return array */ public function getAssets() { return $this->isHtmlVarDumperUsed() ? $this->getVarDumper()->getAssets() : array(); } /** * @return array */ public function getWidgets() { $name = $this->getName(); $widget = $this->isHtmlVarDumperUsed() ? "PhpDebugBar.Widgets.HtmlVariableListWidget" : "PhpDebugBar.Widgets.VariableListWidget"; return array( "$name" => array( "icon" => "gear", "widget" => $widget, "map" => "$name", "default" => "{}" ) ); } }