Bolt\Extension\Manager::addManagedExtension PHP Method

addManagedExtension() private method

Load a single extension.
private addManagedExtension ( Bolt\Composer\EventListener\PackageDescriptor $descriptor )
$descriptor Bolt\Composer\EventListener\PackageDescriptor
    private function addManagedExtension(PackageDescriptor $descriptor)
    {
        $className = $descriptor->getClass();
        if ($this->isClassLoadable($className) === false) {
            $this->flashLogger->error(Trans::__("Extension package %NAME% has an invalid class '%CLASS%' and has been skipped.", ['%NAME%' => $descriptor->getName(), '%CLASS%' => $className]));
            return;
        }
        /** @var ExtensionInterface $extension */
        $extension = new $className();
        if ($extension instanceof ExtensionInterface) {
            $baseDir = $this->extFs->getDir($descriptor->getPath());
            $webDir = $this->webFs->getDir($descriptor->getWebPath());
            $this->add($extension, $baseDir, $webDir, $descriptor->getName())->setDescriptor($descriptor);
        } else {
            $this->flashLogger->error(Trans::__("Extension package %NAME% base class '%CLASS%' does not implement \\Bolt\\Extension\\ExtensionInterface and has been skipped.", ['%NAME%' => $descriptor->getName(), '%CLASS%' => $className]));
        }
    }