本文整理汇总了PHP中Zend\View\Model\ViewModel::hasChildren方法的典型用法代码示例。如果您正苦于以下问题:PHP ViewModel::hasChildren方法的具体用法?PHP ViewModel::hasChildren怎么用?PHP ViewModel::hasChildren使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend\View\Model\ViewModel
的用法示例。
在下文中一共展示了ViewModel::hasChildren方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: extractCacheTags
/**
*
* @param ViewModel $viewModel
*/
private function extractCacheTags(ViewModel $viewModel)
{
if ($viewModel->getOption('esi') && !$viewModel->terminate()) {
return;
}
$tags = (array) $viewModel->getOption(self::OPTION_CACHE_TAGS, []);
$this->cacheTags = ArrayUtils::merge($this->cacheTags, $tags);
if ($viewModel->hasChildren()) {
foreach ($viewModel->getChildren() as $childViewModel) {
$this->extractCacheTags($childViewModel);
}
}
}
示例2: testAddChildAllowsSpecifyingCaptureToValue
public function testAddChildAllowsSpecifyingCaptureToValue()
{
$model = new ViewModel();
$child = new ViewModel();
$model->addChild($child, 'foo');
$this->assertTrue($model->hasChildren());
$this->assertEquals('foo', $child->captureTo());
}
示例3: renderChildren
/**
* Renders template childrens.
* Inspired on Zend\View\View implementation to recursively render child models
* @param ViewModel $model
* @see Zend\View\View::renderChildren
*/
protected function renderChildren(ViewModel $model)
{
if (!$model->hasChildren()) {
return;
}
/* @var ViewModel $child */
foreach ($model as $child) {
$capture = $child->captureTo();
if (!empty($capture)) {
// Recursively render children
$this->renderChildren($child);
$result = $this->renderer->render($child);
if ($child->isAppend()) {
$oldResult = $model->{$capture};
$model->setVariable($capture, $oldResult . $result);
} else {
$model->setVariable($capture, $result);
}
}
}
}
示例4: renderStrategyExtend
/**
*
* @param string|ViewModel $nameOrModel
* @param mixed $values
* @return string
* @throws DomainException
*/
public function renderStrategyExtend($nameOrModel, $values = null)
{
$model = null;
if ($nameOrModel->hasChildren()) {
foreach ($nameOrModel as $child) {
if ($child->captureTo() == 'content') {
$model = $child;
break;
}
}
}
if (!$model) {
$model = $nameOrModel;
}
$template = $this->resolver->resolve($model->getTemplate(), $this);
return $template->render((array) $model->getVariables());
}