tjm/buffermanager

PHP输出缓冲区管理器

v1.0.1 2024-08-23 19:20 UTC

This package is auto-updated.

Last update: 2024-08-28 16:30:16 UTC


README

一个简单的PHP输出缓冲区管理器。可以管理命名或未命名的缓冲区。

用法

此类最常见的用法是命名输出缓冲区,这样您就可以缓存页面上的多个部分,然后在特定的位置稍后输出。

<?php
$bufferManager = new TJM\BufferManager();

$bufferManager->start('block1');
echo 'This is in block 1';
$bufferManager->end();

$bufferManager->start('block2');
echo 'This is in block 2';
$bufferManager->end();
?>
<div class="wrapper">
	<h2>This is block 1's heading</h2>
	<div class="block1"><?php echo $bufferManager->get('block1'); ?></div>
	<h2>This is block 2's heading</h2>
	<div class="block2"><?php echo $bufferManager->get('block2'); ?></div>
</div>

以下是一个HTML文档的示例,说明如何使用它来在HTML文档中输出缓冲区,或者在通过AJAX请求的情况下,输出该文档的JSON表示形式。

<?php
$bufferManager->start('main');
include($mainContentFile);
$bufferManager->end();
$bufferManager->start('aside');
include($asideContentFile);
$bufferManager->end();

if($isAjaxRequest){
	echo json_encode(Array(
		'title'=> $pagetitle
		,'main'=> $bufferManager->get('main')
		,'aside'=> $bufferManager->get('aside')
	));
}else{
?>
<!DOCTYPE html>
<html>
	<title><?=$pagetitle?></title>
	…
	<main><?=$bufferManager->get('main')?></main>
	<aside><?=$bufferManager->get('aside')?></aside>
	…
</html>