使用包含HTML的条件语句的最有效方法

Que*_*ery 0 php conditional-statements

要在用户登录时显示表单,是否最好将其存储在变量中并将其回显?

选项1

<?php $form  =    "<div><form id=\"login\"></form></div>"; ?>

<html>
<?php 
if (!isset($_SESSION['username']))
      { 
       echo $form;
      }
 else {
       echo"<li><a href=\"logout.php\">Sign Out</a></li>";
      } ?>
</html>
Run Code Online (Sandbox Code Playgroud)

或者进出php?

选项2

<?php  if (!isset($_SESSION['username'])) 
          {?>
            <div><form id=\"login\"></form><div>
    <?php } 
       else
          { ?>
            <li><a href="logout.php">Sign Out</a></li>
          }?>
Run Code Online (Sandbox Code Playgroud)

Kai*_*ing 8

您还可以在条件中包括:

<?php 
if (!isset($_SESSION['username'])):
    include('login-form.php');
else: ?>
    <li><a href=\"logout.php\">Sign Out</a></li>
<?php endif; ?>
Run Code Online (Sandbox Code Playgroud)

我不知道这种情况下的效率,因为差异很小.但为了便于阅读,有助于使用书面声明:

<?php if($condition): ?>
    Do not echo out html in php. Instead just break out of it like this
<?php else: ?>
    Some else condition
<?php endif; ?>
Run Code Online (Sandbox Code Playgroud)