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