function StreamWrapperManagerInterface::getWrappers
Same name in other branches
- 9 core/lib/Drupal/Core/StreamWrapper/StreamWrapperManagerInterface.php \Drupal\Core\StreamWrapper\StreamWrapperManagerInterface::getWrappers()
- 8.9.x core/lib/Drupal/Core/StreamWrapper/StreamWrapperManagerInterface.php \Drupal\Core\StreamWrapper\StreamWrapperManagerInterface::getWrappers()
- 10 core/lib/Drupal/Core/StreamWrapper/StreamWrapperManagerInterface.php \Drupal\Core\StreamWrapper\StreamWrapperManagerInterface::getWrappers()
Provides Drupal stream wrapper registry.
A stream wrapper is an abstraction of a file system that allows Drupal to use the same set of methods to access both local files and remote resources.
Provide a facility for managing and querying user-defined stream wrappers in PHP. PHP's internal stream_get_wrappers() doesn't return the class registered to handle a stream, which we need to be able to find the handler for class instantiation.
If a module registers a scheme that is already registered with PHP, the existing scheme will be unregistered and replaced with the specified class.
A stream is referenced as "scheme://target".
The optional $filter parameter can be used to retrieve only the stream wrappers that are appropriate for particular usage. For example, this returns only stream wrappers that use local file storage:
$stream_wrapper_manager = \Drupal::service('stream_wrapper_manager');
$local_stream_wrappers = $stream_wrapper_manager->getWrappers(StreamWrapperInterface::LOCAL);
The $filter parameter can only filter to types containing a particular flag. In some cases, you may want to filter to types that do not contain a particular flag. For example, you may want to retrieve all stream wrappers that are not writable, or all stream wrappers that are not local. PHP's array_diff_key() function can be used to help with this. For example, this returns only stream wrappers that do not use local file storage:
$stream_wrapper_manager = \Drupal::service('stream_wrapper_manager');
$remote_stream_wrappers = array_diff_key($stream_wrapper_manager->getWrappers(StreamWrapperInterface::ALL), $stream_wrapper_manager->getWrappers(StreamWrapperInterface::LOCAL));
Parameters
int $filter: (Optional) Filters out all types except those with an on bit for each on bit in $filter. For example, if $filter is StreamWrapperInterface::WRITE_VISIBLE, which is equal to (StreamWrapperInterface::READ | StreamWrapperInterface::WRITE | StreamWrapperInterface::VISIBLE), then only stream wrappers with all three of these bits set are returned. Defaults to StreamWrapperInterface::ALL, which returns all registered stream wrappers.
Return value
array An array keyed by scheme, with values containing an array of information about the stream wrapper, as returned by hook_stream_wrappers(). If $filter is omitted or set to StreamWrapperInterface::ALL, the entire Drupal stream wrapper registry is returned. Otherwise only the stream wrappers whose 'type' bitmask has an on bit for each bit specified in $filter are returned.
1 method overrides StreamWrapperManagerInterface::getWrappers()
- StreamWrapperManager::getWrappers in core/
lib/ Drupal/ Core/ StreamWrapper/ StreamWrapperManager.php - Provides Drupal stream wrapper registry.
File
-
core/
lib/ Drupal/ Core/ StreamWrapper/ StreamWrapperManagerInterface.php, line 72
Class
- StreamWrapperManagerInterface
- Provides a StreamWrapper manager.
Namespace
Drupal\Core\StreamWrapperCode
public function getWrappers($filter = StreamWrapperInterface::ALL);
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.