我有一个关于在 Zend 2 中构建自定义路由器的最佳实践问题。我想使用服务管理器在我的路由器中获取一些东西,这将允许我连接到任意数据源(而不向我的路由器公开任何信息)这样我就可以确定我是否可以匹配该路线。
例如,我会在我的match()
方法中做这样的事情:
$serviceManager->get('site_manager')->locateByRequest($request);
但是,没有明确的方法可以访问路由器中的服务定位器。我发现这篇文章本质上创建了一个自定义工厂,以便您将服务定位器注入您的路由器: http ://www.zendexperts.com/2012/12/09/custom-routing-in-zend-framework-2/
这是最好的方法吗?还有其他想法或建议吗?
这里的主要事情是不允许我的路由器知道关于我所谓的site_manager
可能使用 JSON 文本文件或 MongoDB 后端或其他任何东西的实现的任何信息。我不想要任何依赖,我只想公开上面代码示例中的方法调用。
想法、意见、建议?