本文整理汇总了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;
}