Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. PackageRepository.php

class PackageRepository

Package repository.

@author Jordi Boggiano <j.boggiano@seld.be>

Hierarchy

  • class \Composer\Repository\ArrayRepository implements \Composer\Repository\RepositoryInterface
    • class \Composer\Repository\PackageRepository extends \Composer\Repository\ArrayRepository

Expanded class hierarchy of PackageRepository

File

vendor/composer/composer/src/Composer/Repository/PackageRepository.php, line 24

Namespace

Composer\Repository
View source
class PackageRepository extends ArrayRepository {
    
    /** @var mixed[] */
    private $config;
    
    /**
     * Initializes filesystem repository.
     *
     * @param array{package: mixed[]} $config package definition
     */
    public function __construct(array $config) {
        parent::__construct();
        $this->config = $config['package'];
        // make sure we have an array of package definitions
        if (!is_numeric(key($this->config))) {
            $this->config = [
                $this->config,
            ];
        }
    }
    
    /**
     * Initializes repository (reads file, or remote address).
     */
    protected function initialize() : void {
        parent::initialize();
        $loader = new ValidatingArrayLoader(new ArrayLoader(null, true), true);
        foreach ($this->config as $package) {
            try {
                $package = $loader->load($package);
            } catch (\Exception $e) {
                throw new InvalidRepositoryException('A repository of type "package" contains an invalid package definition: ' . $e->getMessage() . "\n\nInvalid package definition:\n" . json_encode($package));
            }
            $this->addPackage($package);
        }
    }
    public function getRepoName() : string {
        return Preg::replace('{^array }', 'package ', parent::getRepoName());
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
ArrayRepository::$packageMap protected property
ArrayRepository::$packages protected property @var ?array&lt;BasePackage&gt;
ArrayRepository::addPackage public function Adds a new package to the repository 2
ArrayRepository::count public function Returns the number of packages in this repository
ArrayRepository::createAliasPackage protected function
ArrayRepository::findPackage public function @inheritDoc Overrides RepositoryInterface::findPackage 1
ArrayRepository::findPackages public function @inheritDoc Overrides RepositoryInterface::findPackages 1
ArrayRepository::getPackages public function @inheritDoc Overrides RepositoryInterface::getPackages 1
ArrayRepository::getProviders public function @inheritDoc Overrides RepositoryInterface::getProviders 1
ArrayRepository::hasPackage public function @inheritDoc Overrides RepositoryInterface::hasPackage
ArrayRepository::loadPackages public function @inheritDoc Overrides RepositoryInterface::loadPackages 1
ArrayRepository::removePackage public function Removes package from repository.
ArrayRepository::search public function @inheritDoc Overrides RepositoryInterface::search 2
PackageRepository::$config private property @var mixed[]
PackageRepository::getRepoName public function Returns a name representing this repository to the user Overrides ArrayRepository::getRepoName
PackageRepository::initialize protected function Initializes repository (reads file, or remote address). Overrides ArrayRepository::initialize
PackageRepository::__construct public function Initializes filesystem repository. Overrides ArrayRepository::__construct
RepositoryInterface::SEARCH_FULLTEXT public constant
RepositoryInterface::SEARCH_NAME public constant
RepositoryInterface::SEARCH_VENDOR public constant

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal