%PDF- %PDF-
Direktori : /home/forge/api-takeaseat.eco-n-tech.co.uk/vendor/laravel/telescope/src/Watchers/ |
Current File : //home/forge/api-takeaseat.eco-n-tech.co.uk/vendor/laravel/telescope/src/Watchers/DumpWatcher.php |
<?php namespace Laravel\Telescope\Watchers; use Illuminate\Contracts\Cache\Factory as CacheFactory; use Laravel\Telescope\IncomingDumpEntry; use Laravel\Telescope\Telescope; use Symfony\Component\VarDumper\Cloner\VarCloner; use Symfony\Component\VarDumper\Dumper\HtmlDumper; use Symfony\Component\VarDumper\VarDumper; class DumpWatcher extends Watcher { /** * The cache factory implementation. * * @var \Illuminate\Contracts\Cache\Factory */ protected $cache; /** * Create a new watcher instance. * * @param \Illuminate\Contracts\Cache\Factory $cache * @param array $options * @return void */ public function __construct(CacheFactory $cache, array $options = []) { parent::__construct($options); $this->cache = $cache; } /** * Register the watcher. * * @param \Illuminate\Contracts\Foundation\Application $app * @return void */ public function register($app) { if (! $this->cache->get('telescope:dump-watcher')) { return; } $htmlDumper = new HtmlDumper(); $htmlDumper->setDumpHeader(''); VarDumper::setHandler(function ($var) use ($htmlDumper) { $this->recordDump($htmlDumper->dump( (new VarCloner)->cloneVar($var), true )); }); } /** * Record a dumped variable. * * @param string $dump * @return void */ public function recordDump($dump) { Telescope::recordDump( IncomingDumpEntry::make(['dump' => $dump]) ); } }