public function getComponentNames(array
$list) { $extension = '.' .
$this->
getFileExtension();
$pattern = '/' .
preg_quote($extension, '/'
) . '$/';
$folders =
[];
foreach ($list as $extension_object) { // We don't have to use ExtensionDiscovery here because our list of
// extensions was already obtained through an ExtensionDiscovery scan.
$directory =
$this->
getComponentFolder($extension_object);
if (is_dir($directory)) { // 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($directory);
foreach ($files as $file) { if ($file[0
] !== '.' &&
preg_match($pattern,
$file)) { $folders[basename($file,
$extension)] =
$directory;
} }