ds/view

此包已被废弃,不再维护。未建议替代包。

渲染模板的视图表示层。

v1.0.0 2017-11-27 13:21 UTC

This package is not auto-updated.

Last update: 2018-01-29 11:24:34 UTC


README

SensioLabsInsight Build Status Test Coverage

View

模板渲染的查看器。

#使用方法。

$twigLoader = new \Twig_Loader_Filesystem('/Path/to/Templates');
$twigEnvironment = new \Twig_Environment(
    $twigLoader,
    ['cache' => '/Path/to/CacheDir']
);

$twigEnvironment->addExtension(new \Twig_Extension_Optimizer());
$twigLoader->addPath('/Bookings/View/Themes/Default','Default');


$smarty = new \Cyberhut\View\TemplateEngine\SmartyEngine(
    '/Path/to/Templates',
    '/smarty/compile',
    '/Path/to/CacheDir',
    /smarty/config'
);

使用 CacheInterface 创建查看器

$view = new \Rs\View\Viewer(
    new \Rs\View\TemplateEngine\TwigEngine($twigLoader,$twigEnvironment),
    new \Rs\Cache\Cache()
);

从控制器调用

echo (string)$view->render('home/index.twig',[], ['cached' => 'true']);

修改原始 Twig 类(TwigLoader/TwigEnvironment)

$templateEngine = $view->getTemplateEngine();
$twigEnvironment = $templateEngine->getEnvironment();
$twigLoader = $templateEngine->getLoader();

更改引擎

$view->withTemplateEngine($smarty)
echo $view->render('index.tpl',['data' => 'foo']);

缓存渲染响应(memcached)

$cache = new \Rs\Cache\Cache(
    new \Rs\Cache\MemcacheStorage(
        new \Memcached()
    )
);

$cachedView = $view->withCache($cache);
echo $cachedView->render('home/index.twig',[], ['cached' => 'true', 'expire' => 3600);
echo $cachedView->render('home/index.twig',[], ['cached' => 'true', 'expire' => 3600); //from memcache