gpt4 book ai didi

php - 我如何将逻辑与表示分开?

转载 作者:太空狗 更新时间:2023-10-29 16:50:18 28 4
gpt4 key购买 nike

通常我正在开发网站并编写 PHPHTML 类似这样的代码 -

while (mysqli_stmt_fetch($stmt)) {      
// Create Table Body
$html .= "<tr>\n";
$html .= " <td>$title</td>\n";
$html .= " <td>$date</td>";
$html .= " <td align='center'>\n";
$html .= " <a href='#'>\n";
$html .= " <span class='view' title='View This Comment'></span>\n";
$html .= " </a>\n";
$html .= " </td>\n";
$html .= " <td class='td_catchall' align='center'>\n";
$html .= " <a href='#'>\n";
$html .= " <span class='edit' title='Edit This Comment'></span>\n";
$html .= " </a>\n";
$html .= " </td>\n";
$html .= " <td align='center'>\n";
$html .= " <a href='#'>\n";
$html .= " <span class='delete' title='Delete This Comment'></span>\n";
$html .= " </a>\n";
$html .= " </td>\n";
$html .= "</tr>\n";
}

//Create View Blog Dialog Box
$viewBlog = "<div id='dialog-view'>\n";
$viewBlog .= " <h2>$title</h2>\n";
$viewBlog .= " <p>$date</p>\n";
$viewBlog .= " <p>";
$viewBlog .= " <img src='".UPLOAD_DIR.$userName."/".$image."' />";
$viewBlog .= " $comment</p>";
$viewBlog .= "</div>\n";

但最近我认识了我的一个 friend ,将 HTML 保存在 PHP 变量中是一种不好的做法。并且还说我需要将逻辑与表示分开。

如果是真的,有人能告诉我该怎么做吗?

如有任何意见,我们将不胜感激。谢谢你。

最佳答案

我强烈推荐像 Twig 这样的模板库或 Mustache .但是,基础知识是将外部 PHP 文件用作 HTML,并使用 require。这是一个有点老套的例子:

<?php
$comments = array();

while (mysqli_stmt_fetch($stmt)) {
$comments[] = $stmt;
}

require 'comments.php';

然后在 comments.php 中:

<?php foreach ($comments as $comment) : ?>
<tr>
<td><?php echo $comment['title'] ?></td>
<td><?php echo $comment['date'] ?></td>
<td align='center'>
<a href='#'>
<span class='view' title='View This Comment'></span>
</a>
</td>
<td class='td_catchall' align='center'>
<a href='#'>
<span class='edit' title='Edit This Comment'></span>
</a>
</td>
<td align='center'>
<a href='#'>
<span class='delete' title='Delete This Comment'></span>
</a>
</td>
</tr>
<?php endforeach ?>

在这里,我将每条评论(或任何评论)添加到一个数组中。然后,我包含一个名为 comments.php 的文件。您的主文件应该主要是 PHP 并且应该处理任何逻辑,而 comments.php 应该主要是 HTML 并且只使用 PHP 来表示(也就是遍历数组并回显变量)。

如果它是内联的,您所需的文件可以访问它可以访问的所有变量。

关于php - 我如何将逻辑与表示分开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18641738/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com