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

renderer/resolver

parent ec88585a
No related branches found
No related tags found
2 merge requests!2Devel,!1renderer/resolver
......@@ -18,7 +18,7 @@
"wimg/php-compatibility": "^8"
},
"autoload": {
"classmap": ["src/"]
"psr-4": {"WPDesk\\View\\": "src/"}
},
"autoload-dev": {
},
......
<?php
namespace WPDesk\View\Renderer;
use WPDesk\View\Resolver\Resolver;
/**
* Can render templates
*/
class LoadTemplatePlugin implements Renderer {
private $plugin;
public function __construct($plugin) {
$this->plugin = $plugin;
}
public function set_resolver( Resolver $resolver ) {
}
public function render( $template, $params ) {
return $this->plugin->load_template($template, '', $params);
}
}
<?php
namespace WPDesk\View\Renderer;
use WPDesk\View\Resolver\Resolver;
/**
* Can render templates
*/
interface Renderer {
/**
* Set the resolver used to map a template name to a resource the renderer may consume.
*
* @param Resolver $resolver
*
* @return Resolver
*/
public function set_resolver( Resolver $resolver );
/**
* @param string $template
* @param array $params
*
* @return string
*/
public function render( $template, $params );
}
<?php
namespace WPDesk\View\Resolver;
/**
* Can resolve template name to a file
*/
interface Resolver {
/**
* Resolve a template/pattern name to a resource the renderer can consume
*
* @param string $name
* @param null|Resolver $renderer
*
* @return mixed
*/
public function resolve($name, Resolver $renderer = null);
}
<?php
if ( ! defined( 'ABSPATH' ) ) {
exit;
} // Exit if accessed directly
/**
* Can render templates
*/
interface WPDesk_View {
/**
* @param string $template
* @param string $template_path
* @param array $template_params
*
* @return string
*/
public function load_template( $template, $template_path, $template_params );
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment