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 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;
}
doc_Drupal
2016-10-29 09:13:42
Comments
Leave a Comment

Please login to continue.