public FileStorage::listAll($prefix= '')
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
File
- core/lib/Drupal/Core/Config/FileStorage.php, line 217
Class
- FileStorage
- Defines the file storage.
Namespace
Drupal\Core\Config
Code
public function listAll($prefix = '') {
$dir = $this->getCollectionDirectory();
if (!is_dir($dir)) {
return array();
}
$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 = array();
$pattern = '/^' . preg_quote($prefix, '/') . '.*' . preg_quote($extension, '/') . '$/';
foreach ($files as $file) {
if ($file[0] !== '.' && preg_match($pattern, $file)) {
$names[] = basename($file, $extension);
}
}
return $names;
}
Please login to continue.