Maslosoft Staple API
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
<?php
namespace Maslosoft\Staple\Helpers;
use Maslosoft\Staple\Interfaces\ProcessorAwareInterface;
use Maslosoft\Staple\Interfaces\RendererAwareInterface;
use Maslosoft\Staple\Models\RequestItem;
use Maslosoft\Staple\Staple;
use UnexpectedValueException;
/**
* AbstractWalker
*
* @author Piotr Maselkowski <pmaselkowski at gmail.com>
*/
class AbstractWalker implements RendererAwareInterface,
ProcessorAwareInterface
{
/**
* Staple instance
* @var Staple
*/
protected $staple = null;
/**
* Scanning path
* @var string
*/
protected $path = '';
/**
* Base path, as set in constructor
* @var string
*/
protected $basePath = '';
/**
* Path relative to base path
* @var string
*/
protected $relativePath = '';
/**
* Root item instance
* @var RequestItem
*/
protected $item = null;
public function __construct($path = '', Staple $staple = null)
{
if ($staple)
{
$this->staple = $staple;
}
else
{
$this->staple = Staple::fly();
}
if (empty($path))
{
$path = $this->staple->getContentPath(true);
}
$this->path = realpath(rtrim($path, '/\\'));
if (empty($this->path))
{
throw new UnexpectedValueException("Path `$path` does not exists");
}
$this->basePath = $this->path;
$this->item = new RequestItem;
}
public function getContentPath()
{
return $this->staple->getContentPath();
}
public function getLayoutPath()
{
return $this->staple->getLayoutPath();
}
public function getPostProcessors()
{
return $this->staple->getPostProcessors();
}
public function getPreProcessors()
{
return $this->staple->getPreProcessors();
}
public function getRenderer($filename)
{
return $this->staple->getRenderer($filename);
}
public function getRootPath()
{
return $this->staple->getRootPath();
}
public function setLayoutPath($layoutPath)
{
$this->staple->setLayoutPath($layoutPath);
}
}
API documentation generated by ApiGen