Skip to content
Snippets Groups Projects
Select Git revision
  • ad87576365314aff67599057795d46d6d02ee208
  • master default protected
  • fix/body-raw
  • devel
  • 1.0.5
  • 1.0.4
  • 1.0.3
  • 1.0.2
  • 1.0.1
  • 1.0
10 results

changelog.txt

Blame
  • To find the state of this project's repository at the time of any of these versions, check out the tags.
    DirResolver.php 850 B
    <?php
    
    namespace WPDesk\View\Resolver;
    
    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
     *
     * @package WPDesk\View\Resolver
     */
    class DirResolver implements Resolver {
    
    	/** @var string */
    	private $dir;
    
    
    	/**
    	 * Base path for templates ie. subdir
    	 *
    	 * @param $dir
    	 */
    	public function __construct( $dir ) {
    		$this->dir = $dir;
    	}
    
    	/**
    	 * Resolve name to full path
    	 *
    	 * @param string $name
    	 * @param Renderer|null $renderer
    	 *
    	 * @return string
    	 */
    	public function resolve( $name, Renderer $renderer = null ) {
    		$dir      = rtrim( $this->dir, '/' );
    		$fullName = $dir . '/' . $name;
    		if ( file_exists( $fullName ) ) {
    			return $fullName;
    		}
    
    		throw new CanNotResolve( "Cannot resolve {$name}" );
    	}
    }