本文整理汇总了PHP中eZ\Publish\Core\REST\Common\Output\Generator::reset方法的典型用法代码示例。如果您正苦于以下问题:PHP Generator::reset方法的具体用法?PHP Generator::reset怎么用?PHP Generator::reset使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eZ\Publish\Core\REST\Common\Output\Generator
的用法示例。
在下文中一共展示了Generator::reset方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: visit
/**
* Visit struct returned by controllers.
*
* @param mixed $data
*
* @return \Symfony\Component\HttpFoundation\Response
*/
public function visit($data)
{
$this->generator->reset();
$this->generator->startDocument($data);
$this->visitValueObject($data);
//@todo Needs refactoring!
// A hackish solution to enable outer visitors to disable setting
// of certain headers in inner visitors, for example Accept-Patch header
// which is valid in GET/POST/PATCH for a resource, but must not appear
// in the list of resources
foreach ($this->response->headers->all() as $headerName => $headerValue) {
if ($headerValue[0] === false) {
$this->response->headers->remove($headerName);
}
}
$response = clone $this->response;
$response->setContent($this->generator->isEmpty() ? null : $this->generator->endDocument($data));
// reset the inner response
$this->response = new Response(null, 200);
$this->statusCode = null;
return $response;
}
示例2: render
public function render(Generator $generator, $data)
{
ini_set('max_execution_time', 0);
if (file_exists($data->options['documentRoot'] . '/var/export/.lock')) {
throw new ExportInProgressException('Export is running');
}
$chunkDir = $this->createChunkDir($data->options['documentRoot']);
$chunkDirPath = $data->options['documentRoot'] . '/var/export' . $chunkDir;
$chunks = array_chunk($data->contents, $data->options['chunkSize']);
$urls = [];
touch($data->options['documentRoot'] . '/var/export/.lock');
foreach ($chunks as $id => $chunk) {
$chunkPath = $chunkDirPath . $id;
$generator->reset();
$generator->startDocument($chunk);
$this->contentListElementGenerator->generateElement($generator, $chunk);
file_put_contents($chunkPath, $generator->endDocument($chunk));
$urls[] = sprintf('%s/api/ezp/v2/ez_recommendation/v1/exportDownload%s%s', $data->options['host'], $chunkDir, $id);
}
unlink($data->options['documentRoot'] . '/var/export/.lock');
echo $this->sendYCResponse($urls, $data->options, $chunkDirPath);
$generator->reset();
return $generator;
}