php - 在 HTML 中嵌入 PHP 代码?

标签 php html

我只是想知道将 PHP 嵌入到 HTML 中是正常的,还是被认为是肮脏的/不专业的。例如考虑以下几行:

<? if($photo == 0) { ?>
    <div class ="reminder">Hey <?=$name;?>, You don't have any photo. </div>
<?  } else { ?>
    <div class ="ok">Do you want to change your photo? </div>
<? } ?>

这样的代码可以吗?如何以干净/专业的方式完成类似的工作(没有 PHP 框架?) 谢谢。

最佳答案

只要你把程序的逻辑放在html之外就可以了。例如,您需要将它混合在您的模板中。像 smarty 这样的模板引擎将 {$myVar} 替换为 < ? php echo $myVar; ? >(简单来说),所以不可能完全避免。但是像

<?php

include "db.php";
connect_db();

// check login

echo "< html >< head><body>...";

?>

不是好的做法,因为您将所有内容混合在一起:程序逻辑(登录检查、数据库资料)和输出(echo html)。看看MVC并牢记“关注点分离”。

您的示例看起来不错,因为您的 html 中只有直接控制输出所需的逻辑。但是计算 $photo 的值(例如,取决于数据库条目)在您的 html 中并不好,因为这是程序逻辑。输出(HTML)和逻辑应该始终分开。

关于php - 在 HTML 中嵌入 PHP 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5522015/

相关文章:

php - 无法使用 xpath 获取 span 标记

javascript - 表单在页面加载时发送结果

javascript - 执行一个函数?仅适用于调整大小

html - 初学者,如何在与 HTML 文件不同的文件中添加 CSS?

php - 是否可以使用 DOMDocument 查询前 5 个图像?

php - 如何使用 AJAX 返回两个字符串?

php - 当我从 URL 中删除 public 并且在 url 上添加 Public 时,Laravel Bootstrap Styling 不起作用

html - 具有多个元素的 CSS 文本溢出省略号

jquery - Div 不会跨越文档的边界并且具有屏幕的高度

javascript - 三路类切换