예제 #1
0
 /**
  * Gets the names of all mapped classes known to this driver.
  * 
  * @return array The names of all mapped classes known to this driver.
  */
 public function getAllClassNames()
 {
     $classes = array();
     if ($this->_paths) {
         foreach ((array) $this->_paths as $path) {
             if (!is_dir($path)) {
                 throw MappingException::driverRequiresConfiguredDirectoryPath();
             }
             $iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($path), \RecursiveIteratorIterator::LEAVES_ONLY);
             foreach ($iterator as $file) {
                 if (($fileName = $file->getBasename($this->_fileExtension)) == $file->getBasename()) {
                     continue;
                 }
                 // NOTE: All files found here means classes are not transient!
                 $classes[] = str_replace('.', '\\', $fileName);
             }
         }
     }
     return $classes;
 }