1
我不知道下面的代码会发生什么:PHP是否为匿名函数创建输出缓冲区?
<?php
function CountUp($count2, $count1)
{
$count1(); // Say one
$count2(); // Say two
}
CountUp(function() {
?>
Two
<?php
}, function() {
?>
One
<?
});
显然PHP创建匿名函数的输出缓冲器,当我们打电话给他们刷新该缓冲区。
现在的问题是:是否预计PHP的行为?我想在我的模板引擎中使用这个功能,所以它不能是黑客行为,并且具有不可预知的行为。
在PHP中使用匿名函数,你所做的事情总是会令人讨厌。顺便说一句:这是预期的行为,因为一个lambda函数创建一个新的Lambda对象实例... – 2013-02-27 17:24:50
我不认为正在创建一个缓冲区,它只是不评估PHP标签之外的文本,直到匿名函数被称为 – 2013-02-27 17:26:07
'?> ... <?php'相当于'echo“...”;' – arnaud576875 2013-02-27 17:32:28