/** * Recherche de toutes les classes dans les répertoires donnés */ private function _includesAll() { //Inclusion de toute les classes connues foreach ($this->_directories as $directory => $recursive) { $directories = new AppendIterator(); //On ajoute tous les chemins à parcourir if ($recursive) { $directories->append(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory))); } else { $directories->append(new DirectoryIterator($directory)); } //On va filtrer les fichiers php depuis les répertoires trouvés. $files = new ExtensionFilterIteratorDecorator($directories); $files->setExtension('.php'); foreach ($files as $fileName) { $classes = $this->_extractClasses((string) $fileName); foreach ($classes as $className => $fileName) { $this->_classes[strtolower($className)] = $fileName; } } } }
public function dirFilterIterator($directory) { $directories = new AppendIterator(); $directories->append(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory))); //$directories->append (new RecursiveIteratorIterator (new RecursiveDirectoryIterator ('/autre_repertoire/'))); $itFiles = new ExtensionFilterIteratorDecorator($directories); $itFiles->setExtension('.phtml'); foreach ($itFiles as $Item) { //applique le traitement à $Item return $t[] = $Item; } }