DevelGenerateRoutes.php in Devel 8
Same filename and directory in other branches
Namespace
Drupal\devel_generate\RoutingFile
devel_generate/src/Routing/DevelGenerateRoutes.phpView source
<?php
namespace Drupal\devel_generate\Routing;
use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
use Drupal\Component\Plugin\PluginManagerInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\Routing\Route;
/**
* Provides dynamic routes for devel_generate.
*/
class DevelGenerateRoutes implements ContainerInjectionInterface {
/**
* Constructs a new devel_generate route subscriber.
*
* @param \Drupal\Component\Plugin\PluginManagerInterface $devel_generate_manager
* The DevelGeneratePluginManager.
*/
public function __construct(PluginManagerInterface $devel_generate_manager) {
$this->DevelGenerateManager = $devel_generate_manager;
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container) {
return new static($container
->get('plugin.manager.develgenerate'));
}
public function routes() {
$devel_generate_plugins = $this->DevelGenerateManager
->getDefinitions();
$routes = array();
foreach ($devel_generate_plugins as $id => $plugin) {
$label = $plugin['label'];
$type_url_str = str_replace('_', '-', $plugin['url']);
$routes["devel_generate.{$id}"] = new Route("admin/config/development/generate/{$type_url_str}", array(
'_form' => '\\Drupal\\devel_generate\\Form\\DevelGenerateForm',
'_title' => "Generate {$label}",
'_plugin_id' => $id,
), array(
'_permission' => $plugin['permission'],
));
}
return $routes;
}
}
Classes
Name | Description |
---|---|
DevelGenerateRoutes | Provides dynamic routes for devel_generate. |