FluentDOM\Loader\Lazy::addClasses PHP Метод

addClasses() публичный Метод

Add loader classes for different types
public addClasses ( array[] $classes, string $namespace = '' )
$classes array[] ['class' => ['type/one', 'type/two'], ...]
$namespace string
    public function addClasses($classes, $namespace = '')
    {
        $namespace = substr($namespace, -1) === '\\' ? substr($namespace, 0, -1) : $namespace;
        foreach ($classes as $loader => $types) {
            $loader = substr($loader, 0, 1) === '\\' ? $loader : '\\' . $loader;
            $class = $namespace . $loader;
            $callback = function () use($class) {
                if (!class_exists($class)) {
                    throw new \LogicException(sprintf('Loader class "%s" not found.', $class));
                }
                return new $class();
            };
            if (is_array($types)) {
                foreach ($types as $type) {
                    $this->add($type, $callback);
                }
            } else {
                $this->add($types, $callback);
            }
        }
    }