【发布时间】:2010-03-08 02:28:34
【问题描述】:
我正在尝试做一些模板优化,我想知道是否可以做这样的事情:
function table_with_lowercase($data) {
$out = '<table>';
for ($i=0; $i < 3; $i++) {
$out .= '<tr><td>';
$out .= strtolower($data);
$out .= '</td></tr>';
}
$out .= "</table>";
return $out;
}
注意:当你运行这个函数时,你并不知道 $data 是什么。
结果:
<table>
<tr><td><?php echo strtolower($data) ?></td></tr>
<tr><td><?php echo strtolower($data) ?></td></tr>
<tr><td><?php echo strtolower($data) ?></td></tr>
</table>
一般情况:任何可以评估(编译)的东西都可以。任何时候有一个未知变量,该变量和包含它的函数,都会以字符串格式输出。
这里还有一个例子:
function capitalize($str) {
return ucwords(strtolower($str));
}
如果 $str 是 "HI ALL" 那么输出是:
- 大家好
如果 $str 未知,则输出为:
<?php echo ucwords(strtolower($str)); ?>
在这种情况下,只调用函数会更容易(即<?php echo capitalize($str) ?>),但之前的示例允许您预编译 PHP 以提高效率
【问题讨论】:
-
个人资料。您在此处的示例不会对性能进行有意义的改进。找出应用程序中的实际瓶颈,并解决这些问题。
标签: php compilation templating