W3cubDocs

/Drupal 8

public function FileStorage::listAll

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 191

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;
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Config!FileStorage.php/function/FileStorage::listAll/8.1.x