function AttributeRouteDiscovery::collectRoutes
Same name and namespace in other branches
- 11.x core/lib/Drupal/Core/Routing/AttributeRouteDiscovery.php \Drupal\Core\Routing\AttributeRouteDiscovery::collectRoutes()
File
-
core/
lib/ Drupal/ Core/ Routing/ AttributeRouteDiscovery.php, line 39
Class
- AttributeRouteDiscovery
- Discovers routes using Symfony's Route attribute.
Namespace
Drupal\Core\RoutingCode
protected function collectRoutes() : iterable {
foreach ($this->namespaces as $namespace => $directory) {
$directory .= '/Controller';
$namespace .= '\\Controller';
if (is_dir($directory)) {
$iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($directory, \RecursiveDirectoryIterator::SKIP_DOTS));
foreach ($iterator as $fileinfo) {
if ($fileinfo->getExtension() == 'php') {
$subPath = $iterator->getSubIterator()
->getSubPath();
$subPath = $subPath ? str_replace(DIRECTORY_SEPARATOR, '\\', $subPath) . '\\' : '';
$class = $namespace . '\\' . $subPath . $fileinfo->getBasename('.php');
yield $this->createRouteCollection($class);
}
}
}
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.