46 lines
802 B
PHP
46 lines
802 B
PHP
<?php
|
|
|
|
namespace Modules\Support;
|
|
|
|
abstract class Manager
|
|
{
|
|
private $drivers = [];
|
|
|
|
public function all()
|
|
{
|
|
return collect($this->drivers);
|
|
}
|
|
|
|
public function names()
|
|
{
|
|
return array_keys($this->drivers);
|
|
}
|
|
|
|
public function get($name)
|
|
{
|
|
return array_get($this->drivers, $name);
|
|
}
|
|
|
|
public function register($name, $driver)
|
|
{
|
|
$this->drivers[$name] = is_callable($driver) ? call_user_func($driver) : $driver;
|
|
|
|
return $this;
|
|
}
|
|
|
|
public function count()
|
|
{
|
|
return count($this->drivers);
|
|
}
|
|
|
|
public function isEmpty()
|
|
{
|
|
return empty($this->drivers);
|
|
}
|
|
|
|
public function isNotEmpty()
|
|
{
|
|
return ! $this->isEmpty();
|
|
}
|
|
}
|