%PDF- %PDF-
| Direktori : /var/www/pjc/vendor/laravel/telescope/src/Http/Controllers/ |
| Current File : /var/www/pjc/vendor/laravel/telescope/src/Http/Controllers/DumpController.php |
<?php
namespace Laravel\Telescope\Http\Controllers;
use Illuminate\Cache\ArrayStore;
use Illuminate\Contracts\Cache\Repository as CacheRepository;
use Illuminate\Http\Request;
use Laravel\Telescope\Contracts\EntriesRepository;
use Laravel\Telescope\EntryType;
use Laravel\Telescope\Storage\EntryQueryOptions;
use Laravel\Telescope\Watchers\DumpWatcher;
use Symfony\Component\VarDumper\Cloner\VarCloner;
use Symfony\Component\VarDumper\Dumper\HtmlDumper;
class DumpController extends EntryController
{
/**
* The cache repository implementation.
*
* @var \Illuminate\Contracts\Cache\Repository
*/
protected $cache;
/**
* Create a new controller instance.
*
* @param \Illuminate\Contracts\Cache\Repository $cache
* @return void
*/
public function __construct(CacheRepository $cache)
{
$this->cache = $cache;
}
/**
* List the entries of the given type.
*
* @param \Illuminate\Http\Request $request
* @param \Laravel\Telescope\Contracts\EntriesRepository $storage
* @return \Illuminate\Http\JsonResponse
*/
public function index(Request $request, EntriesRepository $storage)
{
$this->cache->put('telescope:dump-watcher', true, now()->addSeconds(4));
return response()->json([
'dump' => (new HtmlDumper())->dump((new VarCloner)->cloneVar(true), true),
'entries' => $storage->get(
$this->entryType(),
EntryQueryOptions::fromRequest($request)
),
'status' => $this->status(),
]);
}
/**
* Determine the watcher recording status.
*
* @return string
*/
protected function status()
{
if ($this->cache->getStore() instanceof ArrayStore) {
return 'wrong-cache';
}
return parent::status();
}
/**
* The entry type for the controller.
*
* @return string
*/
protected function entryType()
{
return EntryType::DUMP;
}
/**
* The watcher class for the controller.
*
* @return string
*/
protected function watcher()
{
return DumpWatcher::class;
}
}