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 ...@@ -13,6 +13,8 @@ interface Renderer
* Set the resolver used to map a template name to a resource the renderer may consume. * Set the resolver used to map a template name to a resource the renderer may consume.
* *
* @param Resolver $resolver * @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); public function set_resolver(Resolver $resolver);
......
...@@ -7,7 +7,7 @@ use WPDesk\View\Renderer\Renderer; ...@@ -7,7 +7,7 @@ use WPDesk\View\Renderer\Renderer;
use WPDesk\View\Resolver\Exception\CanNotResolve; 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 * @package WPDesk\View\Resolver
*/ */
...@@ -21,10 +21,14 @@ class DirResolver implements Resolver ...@@ -21,10 +21,14 @@ class DirResolver implements Resolver
/** /**
* Base path for templates ie. subdir * Base path for templates ie. subdir
* *
* @param $dir * @param string $dir
*/ */
public function __construct($dir) public function __construct($dir)
{ {
if ( empty( $dir ) ) {
trigger_error( "DirResolver requires templates' base path.", E_USER_DEPRECATED );
}
$this->dir = $dir; $this->dir = $dir;
} }
...@@ -39,6 +43,11 @@ class DirResolver implements Resolver ...@@ -39,6 +43,11 @@ class DirResolver implements Resolver
public function resolve($name, Renderer $renderer = null) public function resolve($name, Renderer $renderer = null)
{ {
$dir = rtrim($this->dir, '/'); $dir = rtrim($this->dir, '/');
if ( empty( $dir ) || $dir === '/' ) {
throw new CanNotResolve("Denying to search in system's root path.");
}
$fullName = $dir . '/' . $name; $fullName = $dir . '/' . $name;
if (file_exists($fullName)) { if (file_exists($fullName)) {
return $fullName; return $fullName;
......
...@@ -5,14 +5,14 @@ namespace WPDesk\View\Resolver; ...@@ -5,14 +5,14 @@ namespace WPDesk\View\Resolver;
use WPDesk\View\Renderer\Renderer; use WPDesk\View\Renderer\Renderer;
/** /**
* Can resolve template name to a file * Can resolve template name to a file.
*/ */
interface Resolver { 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 string $name
* @param null|Resolver $renderer * @param null|Resolver $renderer Deprecated.
* *
* @return string * @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