取本(非)刀片腳本list.blade.php
:Laravel刀片模板呈現2倍
<?php
error_log(print_r("START" , true));
global $i;
for ($a = 0 ; $a < 3 ; $a++) {
$j = @(int)$i;
error_log(print_r($j , true));
echo $j;
$i = $j + 1 ;
}
error_log(print_r("STOP" , true));
預期的結果應該是012
但輸出345
!
如果您檢查您的服務器錯誤日誌,你可以看到這一點:
START
0
1
2
STOP
START
3
4
5
STOP
因此模板跑了第一次沒有任何輸出,它是跑第二次,然後被髮送的輸出。
我使用更新的Laravel 4.2版本。這不是一個真正的問題,但是當每個解析的行請求沉重的計算任務時,加載時間只是X2。
您認爲這是一個錯誤還是正常行爲?
有沒有辦法在第一次啓動(空運行)時避免模板中的某些執行?
你在哪裏包含這個模板?而全球的使用只是讓我感到困惑。如果您想傳遞額外數據,請使用裝飾器 – Pinoniq
此模板只是一個PoC。 Global僅用於保持多個負載之間的狀態以向您顯示問題。 – Potsky