class LibraryDefinitionsStream in Libraries API 8.3
Provides a stream wrapper for library definitions.
Can be used with the 'library-definitions' scheme, for example 'library-definitions://example.json' for a library ID of 'example'.
By default this stream wrapper reads from a single directory that is configurable and points to the 'library-definitions' directory within the public files directory by default. This makes library definitions writable by the webserver by default, which is in anticipation of a user interface that fetches definitions from a remote repository and stores them locally. For improved security the library definitions can be managed manually (or put under version control) and placed in a directory that is not writable by the webserver.
The idea of using a stream wrapper for this as well as the default location is taken from the 'translations' stream wrapper provided by the Interface Translation module.
@todo Use a setting instead of configuration for the directory.
Hierarchy
- class \Drupal\Core\StreamWrapper\LocalStream implements StreamWrapperInterface
- class \Drupal\libraries\StreamWrapper\LibraryDefinitionsStream uses LocalHiddenStreamTrait, PrivateStreamTrait
Expanded class hierarchy of LibraryDefinitionsStream
See also
\Drupal\locale\StreamWrapper\TranslationsStream
1 string reference to 'LibraryDefinitionsStream'
1 service uses LibraryDefinitionsStream
File
- src/
StreamWrapper/ LibraryDefinitionsStream.php, line 31
Namespace
Drupal\libraries\StreamWrapperView source
class LibraryDefinitionsStream extends LocalStream {
use LocalHiddenStreamTrait;
use PrivateStreamTrait;
/**
* The config factory.
*
* @var \Drupal\Core\Config\ConfigFactoryInterface
*/
protected $configFactory;
/**
* Constructs an external library registry.
*
* @todo Dependency injection.
*/
public function __construct(ConfigFactory $config_factory) {
$this->configFactory = $config_factory;
}
/**
* {@inheritdoc}
*/
public function getName() {
return t('Library definitions');
}
/**
* {@inheritdoc}
*/
public function getDescription() {
return t('Provides access to library definition files.');
}
/**
* {@inheritdoc}
*/
public function getDirectoryPath() {
return $this
->getConfig('local.path');
}
/**
* Fetches a configuration value from the library definitions configuration.
* @param $key
* The configuration key to fetch.
*
* @return array|mixed|null
* The configuration value.
*/
protected function getConfig($key) {
return $this->configFactory
->get('libraries.settings')
->get("definitions.{$key}");
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
LibraryDefinitionsStream:: |
protected | property | The config factory. | |
LibraryDefinitionsStream:: |
protected | function | Fetches a configuration value from the library definitions configuration. | |
LibraryDefinitionsStream:: |
public | function |
Returns the description of the stream wrapper for use in the UI. Overrides StreamWrapperInterface:: |
|
LibraryDefinitionsStream:: |
public | function |
Gets the path that the wrapper is responsible for. Overrides LocalStream:: |
|
LibraryDefinitionsStream:: |
public | function |
Returns the name of the stream wrapper for use in the UI. Overrides PrivateStreamTrait:: |
|
LibraryDefinitionsStream:: |
public | function | Constructs an external library registry. | |
LocalHiddenStreamTrait:: |
public static | function | Returns the type of stream wrapper. | |
LocalStream:: |
public | property | Stream context resource. | |
LocalStream:: |
public | property | A generic resource handle. | |
LocalStream:: |
protected | property | Instance URI (stream). | |
LocalStream:: |
public | function |
Gets the name of the directory from a given path. Overrides StreamWrapperInterface:: |
|
LocalStream:: |
public | function |
Support for closedir(). Overrides PhpStreamWrapperInterface:: |
|
LocalStream:: |
public | function |
Support for opendir(). Overrides PhpStreamWrapperInterface:: |
|
LocalStream:: |
public | function |
Support for readdir(). Overrides PhpStreamWrapperInterface:: |
|
LocalStream:: |
public | function |
Support for rewinddir(). Overrides PhpStreamWrapperInterface:: |
|
LocalStream:: |
private | function | Returns file system service. | |
LocalStream:: |
protected | function | Returns the canonical absolute path of the URI, if possible. | |
LocalStream:: |
protected | function | Returns the local writable target of the resource within the stream. | |
LocalStream:: |
public | function |
Returns the stream resource URI. Overrides StreamWrapperInterface:: |
|
LocalStream:: |
public | function |
Support for mkdir(). Overrides PhpStreamWrapperInterface:: |
1 |
LocalStream:: |
public | function |
Returns canonical, absolute path of the resource. Overrides StreamWrapperInterface:: |
1 |
LocalStream:: |
public | function |
Support for rename(). Overrides PhpStreamWrapperInterface:: |
1 |
LocalStream:: |
public | function |
Support for rmdir(). Overrides PhpStreamWrapperInterface:: |
1 |
LocalStream:: |
public | function |
Sets the absolute stream resource URI. Overrides StreamWrapperInterface:: |
|
LocalStream:: |
public | function |
Retrieve the underlying stream resource. Overrides PhpStreamWrapperInterface:: |
|
LocalStream:: |
public | function |
Support for fclose(). Overrides PhpStreamWrapperInterface:: |
|
LocalStream:: |
public | function |
Support for feof(). Overrides PhpStreamWrapperInterface:: |
|
LocalStream:: |
public | function |
Support for fflush(). Overrides PhpStreamWrapperInterface:: |
1 |
LocalStream:: |
public | function |
Support for flock(). Overrides PhpStreamWrapperInterface:: |
1 |
LocalStream:: |
public | function |
Sets metadata on the stream. Overrides PhpStreamWrapperInterface:: |
1 |
LocalStream:: |
public | function |
Support for fopen(), file_get_contents(), file_put_contents() etc. Overrides PhpStreamWrapperInterface:: |
1 |
LocalStream:: |
public | function |
Support for fread(), file_get_contents() etc. Overrides PhpStreamWrapperInterface:: |
|
LocalStream:: |
public | function |
Seeks to specific location in a stream. Overrides PhpStreamWrapperInterface:: |
|
LocalStream:: |
public | function |
Since Windows systems do not allow it and it is not needed for most use
cases anyway, this method is not supported on local files and will trigger
an error and return false. If needed, custom subclasses can provide
OS-specific implementations for… Overrides PhpStreamWrapperInterface:: |
|
LocalStream:: |
public | function |
Support for fstat(). Overrides PhpStreamWrapperInterface:: |
|
LocalStream:: |
public | function |
Support for ftell(). Overrides PhpStreamWrapperInterface:: |
|
LocalStream:: |
public | function |
Truncate stream. Overrides PhpStreamWrapperInterface:: |
1 |
LocalStream:: |
public | function |
Support for fwrite(), file_put_contents() etc. Overrides PhpStreamWrapperInterface:: |
1 |
LocalStream:: |
public | function |
Support for unlink(). Overrides PhpStreamWrapperInterface:: |
1 |
LocalStream:: |
public | function |
Support for stat(). Overrides PhpStreamWrapperInterface:: |
|
PrivateStreamTrait:: |
function | Returns a web accessible URL for the resource. | ||
StreamWrapperInterface:: |
constant | A filter that matches all wrappers. | ||
StreamWrapperInterface:: |
constant | Defines the stream wrapper bit flag for a hidden file. | ||
StreamWrapperInterface:: |
constant | Refers to a local file system location. | ||
StreamWrapperInterface:: |
constant | Hidden, readable and writable using local files. | ||
StreamWrapperInterface:: |
constant | Visible, readable and writable using local files. | ||
StreamWrapperInterface:: |
constant | This is the default 'type' flag. This does not include StreamWrapperInterface::LOCAL, because PHP grants a greater trust level to local files (for example, they can be used in an "include" statement, regardless of the… | ||
StreamWrapperInterface:: |
constant | Wrapper is readable (almost always true). | ||
StreamWrapperInterface:: |
constant | Visible and read-only. | ||
StreamWrapperInterface:: |
constant | Exposed in the UI and potentially web accessible. | ||
StreamWrapperInterface:: |
constant | Wrapper is writable. | ||
StreamWrapperInterface:: |
constant | Visible, readable and writable. |