Mercurial > hg > isophonics-drupal-site
diff core/lib/Drupal/Core/Asset/LibraryDiscoveryInterface.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/lib/Drupal/Core/Asset/LibraryDiscoveryInterface.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,53 @@ +<?php + +namespace Drupal\Core\Asset; + +/** + * Discovers information for asset (CSS/JavaScript) libraries. + * + * Library information is statically cached. Libraries are keyed by extension + * for several reasons: + * - Libraries are not unique. Multiple extensions might ship with the same + * library in a different version or variant. This registry cannot (and does + * not attempt to) prevent library conflicts. + * - Extensions implementing and thereby depending on a library that is + * registered by another extension can only rely on that extension's library. + * - Two (or more) extensions can still register the same library and use it + * without conflicts in case the libraries are loaded on certain pages only. + */ +interface LibraryDiscoveryInterface { + + /** + * Gets all libraries defined by an extension. + * + * @param string $extension + * The name of the extension that registered a library. + * + * @return array + * An associative array of libraries registered by $extension is returned + * (which may be empty). + * + * @see self::getLibraryByName() + */ + public function getLibrariesByExtension($extension); + + /** + * Gets a single library defined by an extension by name. + * + * @param string $extension + * The name of the extension that registered a library. + * @param string $name + * The name of a registered library to retrieve. + * + * @return array|false + * The definition of the requested library, if $name was passed and it + * exists, otherwise FALSE. + */ + public function getLibraryByName($extension, $name); + + /** + * Clears static and persistent library definition caches. + */ + public function clearCachedDefinitions(); + +}