Wie implementiert man verschachteltes Ausgabe-Caching in PHP? In diesem Artikel werden hauptsächlich verschachtelte PHP-Ausgabe-Caching-Codebeispiele vorgestellt und die ob-Reihenfunktionen verwendet, um verschachtelte Ausgabe-Caching-Beispiele zu lösen. Ich hoffe, es hilft allen.
Der Ausgabecache von PHP kann verschachtelt werden. Verwenden Sie ob_get_level(), um die Verschachtelungsebene auszugeben.
Der Test ergab, dass die Ausgabeergebnisse unter der CLI und dem Browser (PHP5.4) unterschiedlich sind.
Die manuellen Anweisungen lauten wie folgt:
ob_get_level() will always return 0 inside a destructor. This happens because the garbage collection for output buffers has already done before the destructor is called
Die korrekte Ausgabe ist auch sehr einfach:
ob_end_clean(); echo ob_get_level(); //0
Zurück zum Thema:
ob_end_clean(); ob_start(); echo 'php1';//此处并不会在页面中输出 $a = ob_get_level(); $b = ob_get_contents();//获得缓存结果,赋予变量 ob_clean(); ob_start(); echo 'php2';//此处并不会在页面中输出 $c = ob_get_level(); $d = ob_get_contents();//获得缓存结果,赋予变量 ob_clean(); ob_start(); echo 'php3';//此处并不会在页面中输出 $e = ob_get_level(); $f = ob_get_contents();//获得缓存结果,赋予变量 ob_clean(); echo 'level:'.$a.',ouput:'.$b.'<br>'; echo 'level:'.$c.',ouput:'.$d.'<br>'; echo 'level:'.$e.',ouput:'.$f.'<br>';
Die Ergebnisse sind wie folgt:
level:1,ouput:php1 level:2,ouput:php2 level:3,ouput:php3
Wenn Sie eine bestimmte Pufferung ausschalten, testen Sie natürlich wie folgt:
ob_end_clean(); ob_start(); echo 'php1'; $a = ob_get_level(); $b = ob_get_contents(); ob_clean(); ob_start(); echo 'php2'; $c = ob_get_level(); $d = ob_get_contents(); ob_end_clean(); //清空缓存并关闭缓存 ob_start(); echo 'php3'; $e = ob_get_level(); $f = ob_get_contents(); ob_clean(); echo 'level:'.$a.',ouput:'.$b.'<br>'; echo 'level:'.$c.',ouput:'.$d.'<br>'; echo 'level:'.$e.',ouput:'.$f.'<br>';
Die Ergebnisse sind wie folgt:
level:1,ouput:php1 level:2,ouput:php2 level:2,ouput:php3
Verwandte Empfehlungen:
PHP-Caching-Tool Klasse implementiert Webseiten-Caching
Das obige ist der detaillierte Inhalt vonBeispiel für einen verschachtelten PHP-Ausgabecache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!