【发布时间】:2013-11-15 10:59:42
【问题描述】:
我一直想知道:有一个大的打开和关闭 PHP(即模板)会伤害吗?
澄清一下:
<html>
<?php echo $test; ?>
<body <?php echo $test2; ?>>
<table>
<?php foreach ($rows as $row): ?>
<tr>
<td><?php echo $row['cell1']; ?></td>
<td><?php echo $row['cell1']; ?></td>
<td><?php echo $row['cell1']; ?></td>
<td><?php echo $row['cell1']; ?></td>
<?php echo $row['added cells']; ?>
</tr>
<?php endforeach; ?>
</table>
<?php echo $someMorePhp; ?>
<div>
<?php /*do some more php stuff */ ?>
</div>
etc etc
etc
还是建议这样做
<html>
<php echo $test.'<body'.$test2; ?>>
<table>
<?php foreach ($rows as $row) {
echo '<tr>
<td>'.$row['cell1'].'</td>
<td>'.$row['cell2'].'</td>
<td>'.$row['cell3'].'</td>
<td>'.$row['cell4'].'</td>
<td>'.$row['cell1'].'</td>
'.$row['added cells'].'
<tr>';
}
</table>
// etc
我知道这可能看起来像是一个微优化等。需要明确的是,我正在寻找一个经验法则而不是特定的用例......在单个脚本运行期间进入和退出 php 引擎会不会伤害......
【问题讨论】:
-
php echo vs open&close tag 的可能重复项
-
大量
<?php ?>与 HTML 内容混合在一起很难维护。你的第二种情况似乎更好。但是,我更喜欢避免将 HTML 和 PHP 与 RainTPL 之类的模板系统混合使用 -
哎呀,对不起,最好在这里欺骗:stackoverflow.com/questions/2437144/…
-
我强烈建议将 twig 作为模板引擎。它可以被缓存用于生产,因此在开发中您会立即看到更改,但在生产中它使用缓存的 样式标签。非常高效,非常可维护,并具有大量惊人的功能。 twig.sensiolabs.org
-
感谢您的回复...确实,它似乎与其他问题重复,谢谢@Boann!
标签: php