PhpBrew\Extension\ExtensionManager::installExtension PHP Method

installExtension() public method

Whenever you call this method, you shall have already downloaded the extension And have set the source directory on the Extension object.
public installExtension ( Extension $ext, array $options = [] )
$ext Extension
$options array
    public function installExtension(Extension $ext, array $options = array())
    {
        $this->disableExtension($ext);
        $sourceDir = $ext->getSourceDirectory();
        $name = $ext->getName();
        if (!file_exists($sourceDir)) {
            throw new Exception("Source directory {$sourceDir} does not exist.");
        }
        // Install local extension
        $installer = new ExtensionInstaller($this->logger);
        $this->logger->info("===> Installing {$name} extension...");
        $this->logger->debug("Extension path {$sourceDir}");
        // $installer->runInstall($name, $sourceDir, $options);
        $installer->install($ext, $options);
        $this->createExtensionConfig($ext);
        $this->enableExtension($ext);
        $this->logger->info('Done.');
        return $sourceDir;
    }

Usage Example

 /**
  * @dataProvider packageNameProvider
  */
 public function testInstallPackages($extensionName, $extensionVersion = 'latest')
 {
     $logger = new Logger();
     $logger->setDebug();
     $manager = new ExtensionManager($logger);
     $peclProvider = new PeclProvider();
     $downloader = new ExtensionDownloader($logger, new OptionResult());
     $peclProvider->setPackageName($extensionName);
     $downloader->download($peclProvider, $extensionVersion);
     $ext = ExtensionFactory::lookup($extensionName);
     $this->assertNotNull($ext);
     $manager->installExtension($ext, array());
 }
All Usage Examples Of PhpBrew\Extension\ExtensionManager::installExtension