本文整理匯總了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());
}