我想知道哪个是在树枝中渲染控制器或使用宏之间的最佳方法。例如,我们有一个页面,我们用他的评论来发布帖子。
哪一个是最好的方法?我正在使用symfony2
答案 0 :(得分:2)
我想说,根据您提供的详细信息,构建宏来处理显示的第一个选项会更好一些。
原因如下:
通过将帖子中的注释传递给Twig模板,所有内容都被封装,并且在查看模板时(作为开发人员)显得合乎逻辑。该特定的Twig模板处理该页面的所有布局,并且由于注释列表与内容相关,因此模板将简单地遍历注释并使用宏来显示每个项目是合乎逻辑的。控制器也应该很简单,因为它只是在数据库中查询注释,然后将它们传递给Twig。另一个好处是宏也可以很容易地在其他页面上重复使用。虽然控制器也可以重复使用,但它可能不那么容易。
使用这种方法的主要警告是,如果你必须在获取注释时做很多逻辑,那么最好创建一个新的控制器以避免混淆主控器。
如果您希望仅向某些用户显示评论,那么将帖子作为参数传递给单独的控制器会更好的一个主要用例。这将允许控制器确定是否允许用户查看注释,然后将它们返回到Twig模板并显示它们(如果是这样)。虽然Twig理论上可以做到这一点,但最好将其保留在控制器中。
答案 1 :(得分:0)
更好地使用TwigExtension,定义一个获取注释的函数。 渲染控制器也存在some posts abount性能问题......