public function __construct(ClassLoader $loader, Engine $engine = null) { if (!$engine) { $engine = new Engine(); } $this->engine = $engine; $this->add(null, $loader->getFallbackDirs()); $this->addPsr4(null, $loader->getFallbackDirsPsr4()); foreach ($loader->getPrefixes() as $prefix => $path) { $this->add($prefix, $path); } foreach ($loader->getPrefixesPsr4() as $prefix => $path) { $this->addPsr4($prefix, $path); } $this->setUseIncludePath($loader->getUseIncludePath()); }