public function load($resource, $type = null)
{
if (true === $this->loaded) {
throw new \RuntimeException('Do not add this loader twice');
}
$routes = new \Symfony\Component\Routing\RouteCollection();
$availablePlugins = $this->pluginsManager->getInstalledPlugins();
$dirs = array();
foreach ($availablePlugins as $plugin) {
$pluginPath = explode('\\', $plugin);
$directoryPath = realpath(__DIR__ . '/../../../../plugins/' . $pluginPath[0] . '/' . $pluginPath[1] . '/Resources/config/routing.yml');
if ($directoryPath) {
$dirs[] = realpath(__DIR__ . '/../../../../plugins/' . $pluginPath[0] . '/' . $pluginPath[1] . '/Resources/config/');
}
}
$routesCollection = new \Symfony\Component\Routing\RouteCollection();
foreach ($dirs as $directory) {
$importedRoutes = $this->import($directory . '/routing.yml', 'yaml');
$routesCollection->addCollection($importedRoutes);
}
return $routesCollection;
}