本文整理匯總了PHP中Composer\Factory::createRepositoryManager方法的典型用法代碼示例。如果您正苦於以下問題:PHP Factory::createRepositoryManager方法的具體用法?PHP Factory::createRepositoryManager怎麽用?PHP Factory::createRepositoryManager使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Composer\Factory
的用法示例。
在下文中一共展示了Factory::createRepositoryManager方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: createRepositoryManager
protected function createRepositoryManager(IOInterface $io, Config $config, EventDispatcher $eventDispatcher = null)
{
$rm = parent::createRepositoryManager($io, $config, $eventDispatcher);
$rm->setRepositoryClass('t3git', 'Helhum\\T3Satis\\Composer\\Repository\\Typo3ExtensionRepository');
$repoCollections = $config->get('repository-collections');
if ($repoCollections && is_array($repoCollections)) {
foreach ($repoCollections as $repoCollection) {
if (isset($repoCollection['type'])) {
if (!isset($this->repoCollectionClasses[$repoCollection['type']])) {
throw new \UnexpectedValueException('The collection type ' . $repoCollection['type'] . ' is unkown!', 1439304140);
}
$collectionClass = $this->repoCollectionClasses[$repoCollection['type']];
} elseif (isset($repoCollection['className'])) {
$collectionClass = $repoCollection['className'];
} else {
throw new \UnexpectedValueException('The collection must either be specified with "type" or "className"!', 1439304139);
}
if (!in_array('Helhum\\T3Satis\\Composer\\Repository\\RepositoryCollectionInterface', class_implements($collectionClass))) {
throw new \UnexpectedValueException('The collection class must be autoloadable and must implement the RepositoryCollectionInterface', 1439304139);
}
/** @var RepositoryCollectionInterface $collection */
$collection = new $collectionClass();
$repos = $collection->fetchRepositoryConfiguration();
$config->merge(array('repositories' => $repos));
}
}
return $rm;
}