RepositoryProviderProvider.php 544 B

123456789101112131415161718192021222324
  1. <?php
  2. namespace Packagist\WebBundle\Repository;
  3. use Packagist\WebBundle\Repository\Provider\RepositoryProviderInterface;
  4. class RepositoryProviderProvider
  5. {
  6. protected $providers = array();
  7. public function addProvider(RepositoryProviderInterface $provider)
  8. {
  9. $this->providers[] = $provider;
  10. }
  11. public function getRepository($url)
  12. {
  13. foreach ($this->providers as $provider){
  14. if($provider->supports($url)){
  15. return $provider->getRepository($url);
  16. }
  17. }
  18. }
  19. }