道歉,如果這已被問到。我做了一些搜索,沒有找到一個簡單的解決方案。來自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 –