Newer
Older
catch
committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?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.
*
Alex Pott
committed
* @return array|false
catch
committed
* 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();