TemplateLoader.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. /**
  3. * @deprecated
  4. */
  5. class PHPParser_TemplateLoader
  6. {
  7. protected $parser;
  8. protected $baseDir;
  9. protected $suffix;
  10. /**
  11. * Constructs a filesystem template loader.
  12. *
  13. * The templates are loaded from {baseDir}/{name}{suffix}.
  14. *
  15. * @param PHPParser_Parser $parser A PHP parser instance
  16. * @param string $baseDir The base directory to load templates from
  17. * @param string $suffix An optional suffix to append after the template name
  18. */
  19. public function __construct(PHPParser_Parser $parser, $baseDir, $suffix = '') {
  20. if (!is_dir($baseDir)) {
  21. throw new InvalidArgumentException(
  22. sprintf('The specified base directory "%s" does not exist', $baseDir)
  23. );
  24. }
  25. $this->parser = $parser;
  26. $this->baseDir = $baseDir;
  27. $this->suffix = $suffix;
  28. }
  29. /**
  30. * Loads the template with the specified name.
  31. *
  32. * @param string $name The name of template
  33. *
  34. * @return PHPParser_Template The loaded template
  35. */
  36. public function load($name) {
  37. $file = $this->baseDir . '/' . $name . $this->suffix;
  38. if (!is_file($file)) {
  39. throw new InvalidArgumentException(
  40. sprintf('The file "%s" does not exist', $file)
  41. );
  42. }
  43. return new PHPParser_Template($this->parser, file_get_contents($file));
  44. }
  45. }