2
0

AbstractTemplate.php 810 B

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. namespace App\Services\Templates;
  3. abstract class AbstractTemplate implements TemplateInterface
  4. {
  5. protected array $params = [];
  6. protected array $options = [];
  7. public function setParams(array $params): self
  8. {
  9. $this->params = $params;
  10. return $this;
  11. }
  12. public function setOptions(array $options): self
  13. {
  14. $this->options = $options;
  15. return $this;
  16. }
  17. protected function getParam(string $name, int $id, string $default = ''): string
  18. {
  19. if (isset($this->params[$name])) {
  20. return trim($this->params[$name]);
  21. } else if (isset($this->params["{$id}"])) {
  22. return trim($this->params["{$id}"]);
  23. } else {
  24. return $default;
  25. }
  26. }
  27. abstract public function render(): array;
  28. }