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);
}
}
}