用HTML编写PHP的更好方法?

用HTML编写PHP的更好方法?,php,html,Php,Html,我想知道是否有更好的方法在HTML中输出这段代码,其中包括PHP变量,以构建导航栏菜单 <ul> <?php echo "<li><a href='$a->url'>$a->title</a>"; echo "<ul class='submenu'>"; echo "<li><a href='$w->url'>$w->title&

我想知道是否有更好的方法在HTML中输出这段代码,其中包括PHP变量,以构建导航栏菜单

<ul>
   <?php
     echo "<li><a href='$a->url'>$a->title</a>";
        echo "<ul class='submenu'>";
           echo "<li><a href='$w->url'>$w->title</li>";
           echo "<li><a href='$b->url'>$b->title</li>";
           echo "<li><a href='$c->url'>$c->title</a></li>";
           echo "<li><a href='$d->url'>$d->title</a></li>";
        echo "</ul>";
    echo "</li>";
   ?>
</ul>

    虽然在性能上几乎没有差别,但您应该始终尝试将HTML和PHP分开。这将导致更干净的代码,更易于阅读

    <ul>
        <li><a href='<?= $a->url;?>'><?= $a->title; ?></a>
           <ul class='submenu'>
              <li>
                  <a href='<?= $w->url;?>'>$w->title</a>
              </li>
              <li>
                  <a href='<?= $b->url; ?>'>$b->title</a>
              </li>
              <li>
                  <a href='<?=$c->url; ?>'>$c->title</a>
              </li>
              <li>
                  <a href='<?= $d->url?>'>$d->title</a>
              </li>
           </ul>
       </li>
    </ul>
    
    另一个好处是:您可以从IDE中突出显示HTML中的语法错误。您没有关闭两个
    -标签
      <ul>
        <li><a href='<?php echo $a->url; ?>'><?php echo $a->title; ?></a>
          <ul class='submenu'>
            <li><a href='<?php echo $w->url; ?>'><?php echo $w->title; ?></a></li>
            <li><a href='<?php echo $b->url; ?>'><?php echo $b->title; ?></a></li>
            <li><a href='<?php echo $c->url; ?>'><?php echo $c->title; ?></a></li>
            <li><a href='<?php echo $d->url; ?>'><?php echo $d->title; ?></a></li>
          </ul>
        </li>
      </ul>
      

    在我看来,仅仅编写HTML,然后使用
    输出PHP变量比通过PHP回显HTML块要干净得多。它还将使大多数IDE的语法突出显示HTML,而当HTML是PHP字符串时,它们往往不会这样做。话虽如此,这个问题实际上是离题的,因为任何答案都是100%基于意见的。不同的开发人员喜欢不同的方法,所以请坚持对您最有意义的方法。我同意,这样输出PHP变量看起来已经更干净了。最后,我在寻找关于格式化的其他意见,因为这段代码工作得很好,只是看起来不漂亮。谢谢我不相信这是100%基于意见的。构建一个由几百行代码组成的非常复杂的html结构可以在PHP中使用吗?那将是一个非常糟糕的做法,不应该推广。这是一个好观点!感谢您指出缺少的结束标记,尽管我曾多次查看此代码,但从未意识到!谢谢你的答案也是正确的,但在我看来,另一个解决方案看起来更好,因为我不想一直重复“echo”。