道歉,如果这已被问到。我做了一些搜索,没有找到一个简单的解决方案。来自Twig参数的呼叫功能
我有一个symfony/doctrine项目。考虑到业务逻辑不应放置在视图中,从小枝调用函数的适当方式是什么。
我有一个对象数组,我想检查登录用户是否是帖子中每个对象的所有者。
例如是这个合适
//in twig template
{% for post in posts %}
{% if post.isOwner(user_id) %}
//do stuff
{% endif %}
{% endfor %}
,并在后的实体有这个
//in entity
public function isOwner(user_id){
if (post.getId() == user_id)
return true;
return false
}
如果这不是最好的做法,这可怎么适当地实现。
在我看来,将逻辑放入实体(适合实体)是非常好的做法。如果你仍然有一些逻辑不适合你的实体,并且你必须在Twig中创建Twig,那么你应该创建Twig扩展。但是,只有当这个逻辑属于视图层时,它才是一个好的解决方案http://symfony.com/doc/current/templating/twig_extension.html –