我想知道在HTML中使用PHP时最佳做法是什么?你会用echo的短标签吗?你会在if / else语句等上使用大括号吗?
请不要评论使用模板系统或我应该使用MVC。我正在研究一个我被要求更新和修改的项目。
这是我写的一段代码:
<div class="left">
<ul>
<?php foreach ($data['vars']['groupslist'][1] as $key => $group): ?>
<li><?php echo $group->title; ?></li>
<?php endforeach; ?>
</ul>
</div>
注意我使用了:
和endforeach;
。你会做什么?
谢谢!
答案 0 :(得分:4)
在PHP模板中,这也是我的方式(foreach
/ endforeach
)。
但实际上,在语法方面,这只是一个偏好问题。因此,没有“最佳实践”。选择你喜欢的 - 更重要的是 - 坚持下去!
我确信这两种方法都有充分的理由。
答案 1 :(得分:3)
我的代码看起来像这样:
<div class="left">
<ul>
<? foreach ($data['vars']['groupslist'][1] as $group) { ?>
<li><?=$group->title?></li>
<? } ?>
</ul>
</div>
答案 2 :(得分:3)
注意我使用过:和endforeach;你会做什么?
就是这样。在与HTML混合的PHP中,很难弄清楚哪个{与哪个}相关。 endif和endforeach只是更具描述性。
答案 3 :(得分:1)
我建议做一些像
这样的事情<?php
foreach( $data['vars']['groupslist'][1] as $key=>$group)
echo '<li>'.$group->title.'</li>';
?>
晒。
答案 4 :(得分:1)
我会像你一样完成。如果将代码迁移到禁用短标记的服务器,则使用短标记可能会导致问题。我个人觉得很难读,但那可能是因为我不使用它。
使用foreach
块不仅可以让源代码更易于阅读,而且HTML也更容易格式化。
答案 5 :(得分:0)
我更喜欢你为这个案子所做的事情而不是替代品。虽然我会使用<?=
输出$group->title
答案 6 :(得分:0)
你会使用短标签来回声吗?
肯定是的。
这正是短标签的用途。
这取决于。你会在if / else语句等上使用大括号吗?
无论如何,您可以使用任一方法在语句末尾输入;
。