You are here

interface ProjectCollectorInterface in Upgrade Status 8

Provides an interface for project collection.

Hierarchy

Expanded class hierarchy of ProjectCollectorInterface

All classes that implement ProjectCollectorInterface

1 file declares its use of ProjectCollectorInterface
ScanResultController.php in src/Controller/ScanResultController.php

File

src/ProjectCollectorInterface.php, line 8

Namespace

Drupal\upgrade_status
View source
interface ProjectCollectorInterface {

  /**
   * Collect projects of installed modules grouped by custom and contrib.
   *
   * @return array
   *   An array keyed by 'custom' and 'contrib' where each array is a list
   *   of projects grouped into that project group. Custom modules get a
   *   project name based on their topmost parent custom module and only
   *   that topmost custom module gets included in the list. Each item is
   *   a \Drupal\Core\Extension\Extension object in both arrays.
   */
  public function collectProjects();

  /**
   * Returns a single extension based on type and machine name.
   *
   * @param string $type
   *   One of 'module' or 'theme' or 'profile' to signify the type of the
   *   extension.
   * @param string $project_machine_name
   *   Machine name for the extension.
   *
   * @return \Drupal\Core\Extension\Extension
   *   A project if exists.
   *
   * @throws \InvalidArgumentException
   *   If the type was not one of the allowed ones.
   * @throws \Drupal\Core\Extension\Exception\UnknownExtensionException
   *   If there was no extension with the given name.
   */
  public function loadProject(string $type, string $project_machine_name);

}

Members

Namesort descending Modifiers Type Description Overrides
ProjectCollectorInterface::collectProjects public function Collect projects of installed modules grouped by custom and contrib. 1
ProjectCollectorInterface::loadProject public function Returns a single extension based on type and machine name. 1