public function FileStorage::listAll in Drupal 9
Same name in this branch
- 9 core/lib/Drupal/Core/Config/FileStorage.php \Drupal\Core\Config\FileStorage::listAll()
- 9 core/lib/Drupal/Component/PhpStorage/FileStorage.php \Drupal\Component\PhpStorage\FileStorage::listAll()
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Config/FileStorage.php \Drupal\Core\Config\FileStorage::listAll()
Gets configuration object names starting with a given prefix.
Given the following configuration objects:
- node.type.article
- node.type.page
Passing the prefix 'node.type.' will return an array containing the above names.
Parameters
string $prefix: (optional) The prefix to search for. If omitted, all configuration object names that exist are returned.
Return value
array An array containing matching configuration object names.
Overrides StorageInterface::listAll
1 call to FileStorage::listAll()
- FileStorage::deleteAll in core/
lib/ Drupal/ Core/ Config/ FileStorage.php - Deletes configuration objects whose names start with a given prefix.
1 method overrides FileStorage::listAll()
- InstallStorage::listAll in core/
lib/ Drupal/ Core/ Config/ InstallStorage.php - Gets configuration object names starting with a given prefix.
File
- core/
lib/ Drupal/ Core/ Config/ FileStorage.php, line 214
Class
- FileStorage
- Defines the file storage.
Namespace
Drupal\Core\ConfigCode
public function listAll($prefix = '') {
$dir = $this
->getCollectionDirectory();
if (!is_dir($dir)) {
return [];
}
$extension = '.' . static::getFileExtension();
// glob() directly calls into libc glob(), which is not aware of PHP stream
// wrappers. Same for \GlobIterator (which additionally requires an absolute
// realpath() on Windows).
// @see https://github.com/mikey179/vfsStream/issues/2
$files = scandir($dir);
$names = [];
$pattern = '/^' . preg_quote($prefix, '/') . '.*' . preg_quote($extension, '/') . '$/';
foreach ($files as $file) {
if ($file[0] !== '.' && preg_match($pattern, $file)) {
$names[] = basename($file, $extension);
}
}
return $names;
}