PHP - Echo Just Text或Divs和Layout?

时间:2012-02-06 19:50:55

标签: php

我一直在想这个,我无法决定该怎么做。假设我有一个<div>,如果用户是管理员或只是一个成员,我想在其中回显特定的链接。

最好在HTML中使用<div>,并在其中只做一些if回声吗?

或者你应该回应整个div以及其中的所有内容吗?

没有可能div是空的。

1 个答案:

答案 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
?>

无论如何,没有一个“好方法”可以做到这一点,这完全取决于你需要什么以及你喜欢编写的代码。