【问题标题】:views or controller? symfony mvc视图或控制器? symfony mvc
【发布时间】:2011-06-06 22:41:31
【问题描述】:
<?php foreach ($jobeet_job_list as $jobeet_job): ?>
<tr>
  <td><a href="<?php echo url_for('job/show?id='.$jobeet_job->getId()) ?>"><?php echo $jobeet_job->getId() ?></a></td>

  <td><?php echo $jobeet_job->getCompany() ?></td>

  <td><?php echo $jobeet_job->getIsPublic() ?></td>
  <td><?php echo $jobeet_job->getIsActivated() ?></td>

</tr>
<?php endforeach; ?>

例如想根据IsPublic();向TR添加类

<?php foreach ($jobeet_job_list as $jobeet_job): ?>
<tr class=" <?php if ($jobeet_job->getIsPublic() == 0) { echo "public"; } else {echo "unpublic";})?> ">
 <td> <?php if ($jobeet_job->getIsPublic() == 0) { echo "public"; } else {echo "unpublic";})?> </td>
    </tr>
    <?php endforeach; ?>

给予:

<tr class="public"> or <tr class="unpublic"> and
 <td> public </td> or <td> unpublic </td>

IF ELSE 指令可以在 VIEW 中吗?应该在正确的 MVC 中的控制器中?

【问题讨论】:

  • getIsSomething()?现在这是一个很棒的函数名称(不知道您的框架是否需要您这样命名 getter)。通常布尔值的 getter 命名为 isSomething()
  • 函数返回0(== false)时是否公开?通常情况正好相反。

标签: php model-view-controller symfony1 symfony-1.4


【解决方案1】:

这应该在视图中,因为视图决定需要返回哪个标记。控制器只是提供做出决定所必需的数据(当然还有要显示的数据,但不是这个 CSS 类的名称)。

【讨论】:

  • 同样适用 - 如果需要从某个地方检索要放置的数据 [MVP 方法],这也是控制器的工作。但如果你只需要放“public”/“not public”之类的字符串,这是一个视图责任,因为它“知道”这个字段的含义。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-11
  • 2015-06-25
相关资源
最近更新 更多