public function __construct($owner)
{
$this->owner = $owner;
$availabelCollectors = array_merge(['ExceptionCollector' => ['inspector' => true, 'fullscreen' => true], 'MessageCollector' => ['inspector' => true, 'fullscreen' => true], 'DBCollector' => ['inspector' => true, 'fullscreen' => true], 'ServerCollector' => ['inspector' => true, 'fullscreen' => true], 'SessionCollector' => ['inspector' => true, 'fullscreen' => true], 'RequestCollector' => ['inspector' => true, 'fullscreen' => true], 'ResponseCollector' => ['inspector' => true, 'fullscreen' => true], 'RoutesCollector' => ['inspector' => false, 'fullscreen' => true], 'TimerCollector' => ['inspector' => true, 'fullscreen' => true]], \Config::get('inspector.collectors', []));
$this->collectors = collect($availabelCollectors)->map(function ($item, $key) {
$class = "\\Lsrur\\Inspector\\Collectors\\" . $key;
if (class_exists($class)) {
// Extract public methods starting with 'b_' from collector classes
collect(get_class_methods($class))->each(function ($item) use($key) {
if (strpos($item, 'b_') === 0) {
$this->collectorMethods[substr($item, 2)] = $key;
}
})->filter()->toArray();
return array_merge($item, ['obj' => new $class()]);
}
})->filter()->toArray();
}