Heim > Backend-Entwicklung > PHP-Tutorial > Beispiel für einen verschachtelten PHP-Ausgabecache

Beispiel für einen verschachtelten PHP-Ausgabecache

*文
Freigeben: 2023-03-18 14:48:01
Original
1151 Leute haben es durchsucht

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
Nach dem Login kopieren

Die korrekte Ausgabe ist auch sehr einfach:

ob_end_clean();
echo ob_get_level(); //0
Nach dem Login kopieren

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 &#39;level:&#39;.$a.&#39;,ouput:&#39;.$b.&#39;<br>&#39;;
echo &#39;level:&#39;.$c.&#39;,ouput:&#39;.$d.&#39;<br>&#39;;
echo &#39;level:&#39;.$e.&#39;,ouput:&#39;.$f.&#39;<br>&#39;;
Nach dem Login kopieren

Die Ergebnisse sind wie folgt:

level:1,ouput:php1
level:2,ouput:php2
level:3,ouput:php3
Nach dem Login kopieren

Wenn Sie eine bestimmte Pufferung ausschalten, testen Sie natürlich wie folgt:

ob_end_clean();
 
ob_start();
echo &#39;php1&#39;;
$a = ob_get_level();
$b = ob_get_contents();
ob_clean();
 
ob_start();
echo &#39;php2&#39;;
$c = ob_get_level();
$d = ob_get_contents();
ob_end_clean();  //清空缓存并关闭缓存
 
ob_start();
echo &#39;php3&#39;;
$e = ob_get_level();
$f = ob_get_contents();
ob_clean();
 
echo &#39;level:&#39;.$a.&#39;,ouput:&#39;.$b.&#39;<br>&#39;;
echo &#39;level:&#39;.$c.&#39;,ouput:&#39;.$d.&#39;<br>&#39;;
echo &#39;level:&#39;.$e.&#39;,ouput:&#39;.$f.&#39;<br>&#39;;
Nach dem Login kopieren

Die Ergebnisse sind wie folgt:

level:1,ouput:php1
level:2,ouput:php2
level:2,ouput:php3
Nach dem Login kopieren

Verwandte Empfehlungen:

PHP-Caching-Mechanismus

PHP-Caching-Tool Klasse implementiert Webseiten-Caching

thinkPHP-Caching-Mechanismus

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage