一起使用PHP和HTML代码?

时间:2012-01-07 02:12:30

标签: php html

在网站的整个页面中使用PHP代码和HTML时,是否更快地陈述条件而不是定义整个页面,或者在页面的不同部分继续回到那个条件?例如:

<?php if(isset($_SESSION['token'])) { ?>
<html> Lots of HTML </html>
<?php } else if (!isset($_SESSION['token'])) { ?>
<html> Lots of HTML </html> <?php } ?>

所以我在这里基本上用不同的东西定义整个页面两次,具体取决于用户是否登录。

或者我可以做..

<?php if(isset($_SESSION['token'])) $loggedIn = true; 
else if (!isset($_SESSION['token'])) $LoggedIn = false; ?>

<html>
Some HTML stuff ...
<?php if($LoggedIn == true) echo "<div>You are now logged in</div>";
else if($LoggedIn == false) echo "<div>Please log in to continue</div>"; ?>

Some more HTML ...
<?php if($LoggedIn == true) // Etc. ?>

</html>

在这里,我只是回顾用户是否登录了相同的HTML标签并显示相应的内容。

此外,任何人都可以告诉我它是否更适合echo HTML,或者只是切断PHP,使用普通的HTML,然后重新打开PHP并关闭括号。

我试图尽可能清楚,但发现很难。

3 个答案:

答案 0 :(得分:3)

使用第二种变体;重复的东西很糟糕。但请注意,你可以写得更简洁:

<?php $loggedIn = isset($_SESSION['token']); ?>

<html>
..some html stuff..
<?php if($LoggedIn) echo "<div>You are now logged in</div>";
else echo "<div>Please log in to continue</div>"; ?>

..some more html...
<?php if($LoggedIn) // etc....................... ?>

</html>

但请注意,一般情况下,像这样混合PHP和HTML内容变得难以维护。您应该考虑使用模板引擎将两者分开。

答案 1 :(得分:1)

一般来说,我正在尝试保持HTML原封不动,只需在任何需要的地方注入PHP代码。如果我可以避免它,我不喜欢回复HTML。我只是在回显部分留下HTML的小片段,比如在文本周围添加

我会避免使用你的第一个例子(整个页面“重复”)。尽量避免重复HTML,只需覆盖PHP逻辑中的更改。

答案 2 :(得分:0)

切断PHP是更好的做法,更常见。此外,无论您编写什么软件,它都会将其识别为html,如果它是一个字符串则不会。