![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/setup/src/Magento/Setup/Module/Di/Code/Scanner/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Setup\Module\Di\Code\Scanner; class DirectoryScanner { /** * Scan directory * * @param string $dir * @param array $patterns * @param string[] $excludePatterns * @return array */ public function scan($dir, array $patterns = [], array $excludePatterns = []) { $recursiveIterator = new \RecursiveIteratorIterator( new \RecursiveDirectoryIterator($dir, \FilesystemIterator::FOLLOW_SYMLINKS) ); $output = []; foreach ($recursiveIterator as $file) { /** @var $file \SplFileInfo */ if ($file->isDir()) { continue; } $filePath = str_replace('\\', '/', $file->getRealPath()); if (!empty($excludePatterns)) { foreach ($excludePatterns as $excludePattern) { if (preg_match($excludePattern, $filePath)) { continue 2; } } } foreach ($patterns as $type => $pattern) { if (preg_match($pattern, $filePath)) { $output[$type][] = $filePath; break; } } } return $output; } }