39 lines
		
	
	
		
			966 B
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			39 lines
		
	
	
		
			966 B
		
	
	
	
		
			PHP
		
	
	
|  | <?php | ||
|  | 
 | ||
|  | include_once __DIR__ . '/Autoloader.php'; | ||
|  | 
 | ||
|  | \Complex\Autoloader::Register(); | ||
|  | 
 | ||
|  | 
 | ||
|  | abstract class FilesystemRegexFilter extends RecursiveRegexIterator | ||
|  | { | ||
|  |     protected $regex; | ||
|  |     public function __construct(RecursiveIterator $it, $regex) | ||
|  |     { | ||
|  |         $this->regex = $regex; | ||
|  |         parent::__construct($it, $regex); | ||
|  |     } | ||
|  | } | ||
|  | 
 | ||
|  | class FilenameFilter extends FilesystemRegexFilter | ||
|  | { | ||
|  |     // Filter files against the regex
 | ||
|  |     public function accept() | ||
|  |     { | ||
|  |         return (!$this->isFile() || preg_match($this->regex, $this->getFilename())); | ||
|  |     } | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | $srcFolder = __DIR__ . DIRECTORY_SEPARATOR . 'src'; | ||
|  | $srcDirectory = new RecursiveDirectoryIterator($srcFolder); | ||
|  | 
 | ||
|  | $filteredFileList = new FilenameFilter($srcDirectory, '/(?:php)$/i'); | ||
|  | $filteredFileList = new FilenameFilter($filteredFileList, '/^(?!.*(Complex|Exception)\.php).*$/i'); | ||
|  | 
 | ||
|  | foreach (new RecursiveIteratorIterator($filteredFileList) as $file) { | ||
|  |     if ($file->isFile()) { | ||
|  |         include_once $file; | ||
|  |     } | ||
|  | } |