这更像是一个令人疑惑而不是技术问题而且我很抱歉,如果这些问题看起来很愚蠢,或者答案对某些人来说很明显,但我很想知道...
当您需要编写HTML并在之后重新打开HTML时,总是回显您需要编写的任何HTML或关闭PHP标记是否更好?基本上将PHP嵌入到HTML中?
以下是每个例子:
for($x=0;$x<count($customers);$x++)
{
echo '<tr>';
echo '<td><a class=summary href=mailto:'.$customers[$x]["Email"].'>'.$customers[$x]["Email"].'</td>';
echo '<td>'.$customers[$x]["Title"].'</td>';
echo '<td>'.$customers[$x]["FirstName"].'</td>';
echo '<td>'.$customers[$x]["Surname"].'</td>';
echo '<td>'.$customers[$x]["DeliveryCountryID"].'</td>';
echo '<td>'.$customers[$x]["LanguageID"].'</td>';
echo '</tr>';
}
显示所有HTML回显
<?php
for($x=0;$x<count($customers);$x++)
{
?>
<tr>
<td><?=$customers[$x]["Email"]?></td>
<td><?=$customers[$x]["Title"]?></td>
<td><?=$customers[$x]["FirstName"]?></td>
<td><?=$customers[$x]["Surname"]?></td>
<td><?=$customers[$x]["DeliveryCountryID"]?></td>
<td><?=$customers[$x]["LanguageID"]?></td>
</tr>
<?php
}
?>
有一个在HTML中嵌入PHP的例子。
我问的原因是因为我在编程生涯的开始时我的经验很少而且我加入了一家公司,他们的老开发人员显然比我自己更有经验回应了一切。
我从未这样做过,因为我喜欢将PHP嵌入到我的HTML中,并且我发现他的代码有时难以阅读。
有没有理由这样做,或者这是最好的方式,还是值得我慢慢改变代码,使之更像我倾向于做事?
答案 0 :(得分:0)
有许多方法可以回应您的代码。你不能认为这是最好的方法。
一切都取决于你。你喜欢什么?在我的方式,我喜欢在PHP中嵌入PHP(第二种方法)。但可能是其他类似于回复所有HTML代码的PHP。
整件事取决于你。你选择什么都是一样的
答案 1 :(得分:0)
最好的方法是使用模板引擎(如Smarty)并分离您的业务逻辑和表示。这为您的代码提供了更大的灵活性。
在您的情况下,我更喜欢第二种方法("<td><?=$customers[$x]["Email"]?></td>")
,因为它易于阅读和理解。这还有两个优点,
答案 2 :(得分:0)
首先问问自己“更好”意味着什么。
如果“更好”是更具可读性的东西,您可能会遇到以下问题:
<?php echo $var[attr]; ?>
,您很容易错过它们。 echo '<tr><td ............................ ';
,你可能会遇到内部问题,特别是如果你有很多转义字符。您必须添加换行符。我的回答:这对你来说更重要:HTML?用1. PHP?使用2。
如果“更好”更快,那么使用1.解析的时间越少,耗时越少。但这次真的很重要吗?
如果“更好”的东西更短,内存消耗更少,则HTML文件的文本更少。但这些字节真的重要吗?
无论如何,我总是避免合并这两种方法,例如:
<div>
<p>Some text....</p>
<!-- some other stuff like lots of form fields -->
<?php
// some php code
echo '</div>';
这是因为在IDE中,如果没有查看PHP,你可以更容易地找到像未关闭标签这样的错误。
答案 3 :(得分:0)
这是个人偏好,但我最常见的做法是将HTML作为基础并在必要时插入PHP。正如其他人所述,将您的业务逻辑与演示文稿分开。使用单独的目录来执行函数或代码隐藏,然后在文档的开头部分执行include_once。这样你的表示代码就是相当简单的HTML(设计师通常更容易处理),并且PHP用于插入所需的内容。
当像CMS一样使用PHP或使用数据库驱动的Web内容时,这尤其有用。尽可能将您的逻辑与演示文稿分开。