poirot / view
该包的最新版本(dev-devel)没有提供许可证信息。
渲染视图模板。
dev-devel
2019-05-26 11:06 UTC
Requires
- poirot/loader: dev-devel
- poirot/std: dev-devel
This package is auto-updated.
Last update: 2024-08-26 22:57:18 UTC
README
渲染响应视图
$view = new P\View\ViewModelTemplate([
'resolver_options' => [
'*' => __DIR__.'/templates'
],
]);
$bind = new P\View\ViewModelDecorateFeatures(clone $view);
$bind->setRenderer(\Poirot\View\renderManipulatedVars());
$bind->onNotifyRender = function($parentView, $self) {
// Lookin for template_name.php beside base template
/** @var P\View\ViewModelTemplate $self */
$self->setExtension('php');
$self->setTemplate($parentView->getTemplate());
$self->setVariables($parentView->variables());
};
$bind->afterRender = function($result, $parent, $self) {
if (is_array($result)) {
/** @var P\View\ViewModelTemplate $parent */
$parent->variables()->import($result);
}
};
$view->bind($bind);
echo $view->setVariables(['user'=>'This is user'])->setTemplate('main')->render();