在我的PHP脚本中,我将大量HTML与一些PHP/MySQL数据(第一个示例)连接在一起。通常情况下,我的代码看起来很混乱,因为您不能在这种混合代码中引入任何结构。
所以,我想知道,第二个脚本是否比第一个脚本慢(或者更低性能)?
第一脚本
$message = <div class="label" style="width:200px; float:left; text-align:right;">Organisation:</div>
<div class="input" style="margin-left: 210px;"><b>' . $item1[0]['organisation'] . '</b>
</div><div class="label" style="width:200px; float:left; text-align:right;">Group:</div> <div class="input" style="margin-left: 210px;"><b>' .
$item1[0]['group'] . '</b></div><div class="label" style="width:200px; float:left;
text-align:right;">Name:</div> <div class="input" style="margin-left: 210px;"><b>' . $item1[0]['firstname'] . ' ' . $item[0]['lastname'] . '</b></div>第二脚本
$message = <div class="label" style="width:200px; float:left; text-align:right;">Organisation:</div>
$message .= <div class="input" style="margin-left: 210px;"><b>' . $item1[0]['organisation'] . '</b></div>
$message .= <div class="label" style="width:200px; float:left; text-align:right;">Group:</div>
$message .= <div class="input" style="margin-left: 210px;"><b>' .$item1[0]['group'] . '</b></div>
$message .= <div class="label" style="width:200px; float:left; text-align:right;">Name:</div>
$message .= <div class="input" style="margin-left: 210px;"><b>' . $item1[0]['firstname'] . ' ' . $item[0]['lastname'] . '</b></div>或者有更好的方法来处理PHP生成的HTML页面?
发布于 2012-12-05 10:05:29
可读性应该始终优先于性能优化。您在问哪个更快这一事实表明,您并没有将任何性能缺陷追溯到所讨论的代码。您真正想问的是如何使代码更易读,这是可以理解的,因为代码是由人类读取并由计算机执行的。
在这些情况下,我的第一个建议是在输出大量HTML和PHP代码的很小部分时始终退出PHP解析器。
<?php
/* Put your PHP code here */
$PHP = "PHP";
?>
<p>This is some html with a little <?php echo $PHP ?> code</p>通过关闭PHP tags以编写大量的HTML代码,您只需告诉PHP停止解析PHP代码,并以纯文本的形式输出所有后续内容,直到找到另一个opening PHP tag。
另一种选择是使用黑尔多语法,它不需要所有混乱的单引号/双引号转义。
变量内插可以直接在字符串语法中进行,因此以下工作:
$string = <<<EOL
<p>This is some html with a little $PHP code</p>
EOL;发布于 2012-12-05 09:53:49
你不会注意到两者之间有什么区别的。这是99.999%的网站根本不需要担心的微观优化。
就我个人而言,我会这样做:
<div class="label" style="width:200px; float:left; text-align:right;">Organisation:</div>
<div class="input" style="margin-left: 210px;"><b> <?php echp $item1[0]['organisation'] ?> </b></div>
<div class="label" style="width:200px; float:left; text-align:right;">Group:</div>
<div class="input" style="margin-left: 210px;"><b><?php echo $item1[0]['group'] ?></b></div>
<div class="label" style="width:200px; float:left; text-align:right;">Name:</div> 然后,更进一步,不要使用内联样式。这将大大提高可读性和可编辑性。
发布于 2012-12-05 10:03:45
如果您确实需要将输出输出到一个字符串,并且希望编写干净的代码,那么我将使用输出缓冲。
ob_start()
?>
<html>
<body>
<div></div>
</body>
</html>
<?
$message = ob_get_contents();
ob_end_clean();但是更好的方法是输出actuall,然后只回显<?=$var?>或事件<?php echo $var; ?>之类的PHP变量。
https://stackoverflow.com/questions/13720379
复制相似问题