Source of file PartialCacheCollector.php
Size: 2,281 Bytes - Last Modified: 2021-12-23T10:00:22+00:00
/var/www/docs.ssmods.com/process/src/code/Collector/PartialCacheCollector.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 | <?php namespace LeKoala\DebugBar\Collector; use LeKoala\DebugBar\DebugBar; use SilverStripe\Control\Director; use DebugBar\DataCollector\Renderable; use DebugBar\DataCollector\DataCollector; use DebugBar\DataCollector\AssetProvider; /** * Collects data about the partial cache hits and misses during a SilverStripe request */ class PartialCacheCollector extends DataCollector implements Renderable, AssetProvider { /** * Contains a list of all partial caches found. * @var array */ protected static $templateCache = []; public function getName() { return 'partial-cache'; } public function getAssets() { // This depends on ConfigCollector assets return [ 'base_path' => '/' . DebugBar::moduleResource('javascript')->getRelativePath(), 'base_url' => Director::makeRelative(DebugBar::moduleResource('javascript')->getURL()), 'css' => 'config/widget.css', 'js' => 'config/widget.js' ]; } public function collect() { $result = self::getTemplateCache(); return [ 'count' => count($result), 'calls' => $result ]; } public function getWidgets() { $widgets = [ 'Partial Cache' => [ 'icon' => 'cube', 'widget' => 'PhpDebugBar.Widgets.ConfigWidget', 'map' => 'partial-cache.calls', 'default' => '{}' ] ]; if (count(self::getTemplateCache()) > 0) { $widgets['Partial Cache:badge'] = [ 'map' => 'partial-cache.count', 'default' => 0 ]; } return $widgets; } /** * @return array */ public static function getTemplateCache() { return (self::$templateCache) ?: []; } /** * Adds an item to the templateCache array * @param string $key * @param array $item */ public static function addTemplateCache($key, $item) { self::$templateCache[$key] = $item; } /** * @param array $templateCache */ public static function setTemplateCache($templateCache) { self::$templateCache = $templateCache; } } |