Skip to content
Snippets Groups Projects
Verified Commit e2c4b65b authored by Bartek Jaskulski's avatar Bartek Jaskulski
Browse files

refactor: add deprecations


Signed-off-by: default avatarBart Jaskulski <bjaskulski@protonmail.com>
parent 7bdf758f
No related branches found
No related tags found
1 merge request!7Draft: tests: improve tests organization
Pipeline #270013 passed with stage
in 8 seconds
......@@ -13,6 +13,8 @@ interface Renderer
* Set the resolver used to map a template name to a resource the renderer may consume.
*
* @param Resolver $resolver
*
* @deprecated Setting resolver doesn't concern renderer. Pass it with setter method, or by constructor, but it shouldn't be included in interface declaration.
*/
public function set_resolver(Resolver $resolver);
......
......@@ -7,7 +7,7 @@ use WPDesk\View\Renderer\Renderer;
use WPDesk\View\Resolver\Exception\CanNotResolve;
/**
* Class should resolve name by serching in provided dir. If empty then current dir
* Class should resolve name by serching in provided dir.
*
* @package WPDesk\View\Resolver
*/
......@@ -21,10 +21,14 @@ class DirResolver implements Resolver
/**
* Base path for templates ie. subdir
*
* @param $dir
* @param string $dir
*/
public function __construct($dir)
{
if ( empty( $dir ) ) {
trigger_error( "DirResolver requires templates' base path.", E_USER_DEPRECATED );
}
$this->dir = $dir;
}
......@@ -39,6 +43,11 @@ class DirResolver implements Resolver
public function resolve($name, Renderer $renderer = null)
{
$dir = rtrim($this->dir, '/');
if ( empty( $dir ) || $dir === '/' ) {
throw new CanNotResolve("Denying to search in system's root path.");
}
$fullName = $dir . '/' . $name;
if (file_exists($fullName)) {
return $fullName;
......
......@@ -5,14 +5,14 @@ namespace WPDesk\View\Resolver;
use WPDesk\View\Renderer\Renderer;
/**
* Can resolve template name to a file
* Can resolve template name to a file.
*/
interface Resolver {
/**
* Resolve a template/pattern name to a resource the renderer can consume
* Resolve a template/pattern name to a resource the renderer can consume.
*
* @param string $name
* @param null|Resolver $renderer
* @param null|Resolver $renderer Deprecated.
*
* @return string
*/
......
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