【发布时间】:2013-03-04 05:02:25
【问题描述】:
我正在将旧代码库迁移到 Symfony 2.2 框架。
在我的旧代码中,我的 Article 实体有一个方法 getUrl(),它返回当前文章的 URL。
在 Symfony 中,我必须使用 Router 服务来生成这样的 URL。
我无法从实体内部访问路由器,因为这是一种不好的做法,而且框架并不真正支持。
我可以使用 Twig 帮助器 path() 从 Twig 模板本身调用路由器,并提供构造 URL 所需的所有参数(来自 Article 实例)。但是这种方法不是很好,因为如果我决定更改 URL 格式规则 - 我将不得不找到所有这些调用并重写它们(不是很DRY)。
我真的想在这里保存业务逻辑封装,而不是将所有胆量都拉到视图层。
在这种情况下我应该如何处理?
【问题讨论】:
标签: symfony model symfony-2.2