Skip to content
Snippets Groups Projects
Commit 5d140f3d authored by dyszczo's avatar dyszczo
Browse files

simple php renderer

parent bfe05e5b
No related branches found
No related tags found
2 merge requests!8feat/woo template,!3Feature/implementation
......@@ -7,7 +7,8 @@ use WPDesk\View\Resolver\Resolver;
/**
* Can render templates
*/
interface Renderer {
interface Renderer
{
/**
* Set the resolver used to map a template name to a resource the renderer may consume.
*
......@@ -21,5 +22,5 @@ interface Renderer {
*
* @return string
*/
public function render( $template, array $params );
public function render($template, array $params = null);
}
<?php
namespace WPDesk\View\Renderer;
use WPDesk\View\Resolver\Resolver;
/**
* Can render templates
*/
class SimplePhpRenderer implements Renderer
{
/** @var Resolver */
private $resolver;
public function __construct(Resolver $resolver)
{
$this->set_resolver($resolver);
}
/**
* @param Resolver $resolver
*
* @return void|Resolver
*/
public function set_resolver(Resolver $resolver)
{
$this->resolver = $resolver;
}
/**
* @param string $template
* @param array $params
*
* @return string
*/
public function render($template, array $params = null)
{
if ($params !== null) {
extract($params, EXTR_SKIP);
}
ob_start();
include($this->resolver->resolve($template));
return ob_get_clean();
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment