首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >级联代码优化

级联代码优化
EN

Stack Overflow用户
提问于 2012-12-05 09:52:30
回答 4查看 138关注 0票数 1

在我的PHP脚本中,我将大量HTML与一些PHP/MySQL数据(第一个示例)连接在一起。通常情况下,我的代码看起来很混乱,因为您不能在这种混合代码中引入任何结构。

所以,我想知道,第二个脚本是否比第一个脚本慢(或者更低性能)?

第一脚本

代码语言:javascript
复制
$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>

第二脚本

代码语言:javascript
复制
$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页面?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-12-05 10:05:29

可读性应该始终优先于性能优化。您在问哪个更快这一事实表明,您并没有将任何性能缺陷追溯到所讨论的代码。您真正想问的是如何使代码更易读,这是可以理解的,因为代码是由人类读取并由计算机执行的。

在这些情况下,我的第一个建议是在输出大量HTML和PHP代码的很小部分时始终退出PHP解析器。

代码语言:javascript
复制
<?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

另一种选择是使用黑尔多语法,它不需要所有混乱的单引号/双引号转义。

变量内插可以直接在字符串语法中进行,因此以下工作:

代码语言:javascript
复制
$string = <<<EOL
<p>This is some html with a little $PHP code</p>
EOL;
票数 6
EN

Stack Overflow用户

发布于 2012-12-05 09:53:49

你不会注意到两者之间有什么区别的。这是99.999%的网站根本不需要担心的微观优化。

就我个人而言,我会这样做:

代码语言:javascript
复制
<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> 

然后,更进一步,不要使用内联样式。这将大大提高可读性和可编辑性。

票数 2
EN

Stack Overflow用户

发布于 2012-12-05 10:03:45

如果您确实需要将输出输出到一个字符串,并且希望编写干净的代码,那么我将使用输出缓冲。

代码语言:javascript
复制
ob_start()
?>
<html>
<body>
  <div></div>
</body>
</html>
<?
$message = ob_get_contents();
ob_end_clean();

但是更好的方法是输出actuall,然后只回显<?=$var?>或事件<?php echo $var; ?>之类的PHP变量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13720379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档