123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- <?php
- class PHPParser_TemplateLoader
- {
- protected $parser;
- protected $baseDir;
- protected $suffix;
- /**
- * Constructs a filesystem template loader.
- *
- * The templates are loaded from {baseDir}/{name}{suffix}.
- *
- * @param PHPParser_Parser $parser A PHP parser instance
- * @param string $baseDir The base directory to load templates from
- * @param string $suffix An optional suffix to append after the template name
- */
- public function __construct(PHPParser_Parser $parser, $baseDir, $suffix = '') {
- if (!is_dir($baseDir)) {
- throw new InvalidArgumentException(
- sprintf('The specified base directory "%s" does not exist', $baseDir)
- );
- }
- $this->parser = $parser;
- $this->baseDir = $baseDir;
- $this->suffix = $suffix;
- }
- /**
- * Loads the template with the specified name.
- *
- * @param string $name The name of template
- *
- * @return PHPParser_Template The loaded template
- */
- public function load($name) {
- $file = $this->baseDir . '/' . $name . $this->suffix;
- if (!is_file($file)) {
- throw new InvalidArgumentException(
- sprintf('The file "%s" does not exist', $file)
- );
- }
- return new PHPParser_Template($this->parser, file_get_contents($file));
- }
- }
|