Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Zend framework Zend View:如何在同一个视图脚本中多次使用输出?_Zend Framework_Zend View - Fatal编程技术网

Zend framework Zend View:如何在同一个视图脚本中多次使用输出?

Zend framework Zend View:如何在同一个视图脚本中多次使用输出?,zend-framework,zend-view,Zend Framework,Zend View,我正在处理一个页面,该页面显示目录中的文章列表,带有分页(我不使用Zend_Paginator) 分页区是可以的,但我会多次渲染它(在列表的顶部和底部) 在视图脚本内部,是否有一种方法可以捕获输出,并在不使用任何外部视图脚本(将执行两次)的情况下渲染两次?在不知道代码外观的情况下,使用Zend Framework视图执行此操作的常见方法是: /paginatorViewscript.phtml /* Paginator script content */ 您的目录页 <?=$

我正在处理一个页面,该页面显示目录中的文章列表,带有分页(我不使用Zend_Paginator)

分页区是可以的,但我会多次渲染它(在列表的顶部和底部)


在视图脚本内部,是否有一种方法可以捕获输出,并在不使用任何外部视图脚本(将执行两次)的情况下渲染两次?

在不知道代码外观的情况下,使用Zend Framework视图执行此操作的常见方法是:

/paginatorViewscript.phtml

/* 
    Paginator script content 
*/
您的目录页

<?=$this->render('paginatorViewscript.phtml')?>
/* 
    various catalog content 
*/
<?=$this->render('paginatorViewscript.phtml')?>

/* 
各种目录内容
*/
这样,脚本将显示两次(在顶部和底部)。您明确表示不希望在没有外部viewscript的情况下执行此操作,但这是执行此操作的方法


也许您可以说明为什么不想使用外部viewscript

占位符是解决方案,它捕获一次,并且输出可以多次使用:

<?  $this->placeholder('foo')->captureStart(); ?>
My script to make pagination...
<? $this->placeholder('foo')->captureEnd() ?>

<!-- used one time -->
<?= $this->placeholder('foo'); ?>
Items to display
<!-- used a second time -->
<?= $this->placeholder('foo'); ?>

我要进行分页的脚本。。。
要显示的项目

分页脚本将仅在此视图脚本中使用。所以我更喜欢将这部分html放在里面,以避免项目中phtml文件的倍增。另一个原因是为了提高性能:在代码中,视图脚本将执行两次,但在我可以使用输出twiceNice时只需要执行一次,尽管我对zend framework很有经验,但我不知道占位符(可能是因为我到目前为止从未使用过占位符)。记住这一点。我没有时间用基准测试这一点,但我猜测在常规情况下,我的解决方案(渲染两次)和您的解决方案(占位符)的性能几乎相等。