我知道 Silex 方法的基础是将所有应用程序逻辑放在一个文件中。但是我的应用程序可能有超过 20 个控制器。所以我想要一个方便的地图来管理路由器。
我的问题是寻找能够将路由器制作成单独文件的解决方案。在最好的情况下,文件必须是 YAML 类型:
# config/routing.yml
_home:
pattern: /
defaults: { _controller: MyProject\Controller\MyController::index }
但是原生也是一个很好的案例(对我来说):
$routes = new RouteCollection();
$routes->add(
'home',
new Route('/', array('controller' => 'MyProject\Controller\MyController::index')
));
return $routes;
第二种情况的问题是我必须为每个路由规则使用match()函数。这一点都不清楚。
有哪些方法可以解决这个问题?条件是我想使用现有的 API Silex 或 Symfony2 的组件。
小记:
我没有为我的 Controller 类使用ControllerProviderInterface。这是一个独立的类。