在你关闭这个问题之前,我知道这是一个主观问题。一个人认为最好的方式,不会是另一个人的意见。但是,我愿意尝试任何我需要的东西,因为这个问题的作者应该是答案的判断。
我正在开发一个相当复杂的网站,该网站依赖于对数据库的多个查询来提取某些信息。我遍历数据集并开始构建HTML标记。
这只是一个普遍问题,因此不需要包含细节。一般来说,我的网站PHP格式(排除大多数结构HTML)如下:
CREATE OR REPLACE TRIGGER customer_bu
BEFORE INSERT OR UPDATE
ON customer
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
-- If the new name contains a digit, strip it.
if regexp_like(:new.name, '\d') then
:new.name := regexp_replace(:new.name, '\d', NULL);
end if;
END customer_bu;
/
以下示例看起来很好,但随着添加更多标记,这会很快变得混乱。我不是在寻找模板引擎,也不一定是库,而只是其他PHP开发人员为保持这样的代码更易于管理而做的一般实践。还请注意,将数据分成逻辑和布局是一种选择,但我正在寻求更多。
答案 0 :(得分:3)
当然,在PHP中编写HTML会让其他PHP和HTML开发人员每次都加热。就个人而言,我认为它没有任何问题。我就是这样做的:
$query = $mysqli->query("SELECT SOMETHING");
while ($row = $query->fetch_assoc()) {
$class = "";
// do some more queries based on these rows
if ($error) {
$class = "error";
} else { // note, I realize
$class = "success";
}
?>
<div class='something'>
<?php
if ($conditionTrue) { ?>
<div class='$class'>More information..</div>
<?php } ?>
</div>
<?php } ?>
这是基本的想法,在SO中缩进是一种痛苦。您可以关闭php标记,编写HTML并再次打开它以关闭语句。
修改强>!我应该补充一点,如果你在写一些HTML之后尝试将标题放在PHP中,它会给你一个错误。具体来说,标题已经发送。如果你想使用标题重定向页面,它需要在任何HTML之前!