Commit 9d7bd733 authored by guilhermeblanco's avatar guilhermeblanco

[2.0] Fixing issue with multiple class directory loading in Annotations driver

parent 8336bcc7
......@@ -346,25 +346,35 @@ class AnnotationDriver implements Driver
public function getAllClassNames()
{
if ($this->_classDirectory) {
$iter = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($this->_classDirectory),
\RecursiveIteratorIterator::LEAVES_ONLY);
$classes = array();
foreach ((array) $this->_classDirectory as $dir) {
$iter = new \RecursiveIteratorIterator(
new \RecursiveDirectoryIterator($this->_classDirectory),
\RecursiveIteratorIterator::LEAVES_ONLY
);
$declared = get_declared_classes();
foreach ($iter as $item) {
$info = pathinfo($item->getPathName());
if ( ! isset($info['extension']) || $info['extension'] != 'php') {
continue;
$declared = get_declared_classes();
foreach ($iter as $item) {
$info = pathinfo($item->getPathName());
if ( ! isset($info['extension']) || $info['extension'] != 'php') {
continue;
}
require_once $item->getPathName();
}
require_once $item->getPathName();
}
$declared = array_diff(get_declared_classes(), $declared);
$declared = array_diff(get_declared_classes(), $declared);
$classes = array();
foreach ($declared as $className) {
if ( ! $this->isTransient($className)) {
$classes[] = $className;
foreach ($declared as $className) {
if ( ! $this->isTransient($className)) {
$classes[] = $className;
}
}
}
}
return $classes;
} else {
return array();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment