我一直在想这个,我无法决定该怎么做。假设我有一个<div>
,如果用户是管理员或只是一个成员,我想在其中回显特定的链接。
最好在HTML中使用<div>
,并在其中只做一些if
回声吗?
或者你应该回应整个div以及其中的所有内容吗?
没有可能div是空的。
答案 0 :(得分:0)
您可能应该使用代码(对于简单的应用程序):
<div class="nav">
<a href="/">Index</a>
<a href="/profile">Profile</a>
<?php
if( $this->isAdmin()){
echo $this->getAdminLinks();
}
?>
</div>
或者更像是这样:
<?php
echo $this->getAdminLinks();
?>
让该功能关心是否显示功能。例如,phtml模板中的Zend uses inline php (我认为Zend很棒的地方可以学习)。
如果您正在构建复杂的应用程序(多种样式,复杂的导航,许多不同类型的页面以及许多条件如何生成菜单)或者您使用MVC框架,那么您应该使用代码:
<?php
echo $this->getNavigation();
?>
这样的代码可能很难阅读(想象这样的70行):
<a href="one">One</a>
<?php echo $this->getSecond(); ?>
<a href="third">Third</a>
<?php // some crazy stuff with 2 submenu levels
?>
无论如何,没有一个“好方法”可以做到这一点,这完全取决于你需要什么以及你喜欢编写的代码。