Php Symfony 2/3中的业务逻辑

Php Symfony 2/3中的业务逻辑,php,symfony,doctrine,Php,Symfony,Doctrine,我不明白业务逻辑应该在哪里 例如: 我应该根据用户角色使用实体中的一些数据呈现标记。 如果我使用yii(不要恨我)框架,在视图方面,它将是这样的: <td> <?php if ($model->isEngineer()): ?> <?= $model->getEngineerData(); ?> <?php elseif ($model->isAdmin()): ?> <?

我不明白业务逻辑应该在哪里

例如: 我应该根据用户角色使用实体中的一些数据呈现标记。 如果我使用yii(不要恨我)框架,在视图方面,它将是这样的:

<td>
    <?php if ($model->isEngineer()): ?>
         <?= $model->getEngineerData(); ?>
    <?php elseif ($model->isAdmin()): ?>
         <?= $model->getAdminData(); ?>
    <?php else? ?>
         <?= $model->getOtherData(); ?>
    <?php endif ?>
<td>


根据最佳Symfony最佳实践,我不应该在实体类中有IsEnginer、getEngineerData等方法,也不应该从模型方面调用任何方法。所以我创建了一些twig扩展,但是如何将变量(对象/属性不仅仅是stings)从.html.twig发送到twig扩展,或者如何处理业务逻辑

看看MVC架构。控制器从模型中获取信息并将其显示给视图…可能的重复:我的表中有大约30列,每列大约有10-30行带有html和“if”的代码,我可以处理模型内的逻辑,但我不能处理模型内的html。getEngineerData和getAdminData中有什么?可以是:一组检查(带有对DB的查询)返回的字符串是什么,而不是带有插入的getEngineerData 8-10 html代码