view.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. class View {
  3. // Pfad zum Template
  4. private $path = 'templates';
  5. // Name des Templates, in dem Fall das Standardtemplate.
  6. private $template = 'default';
  7. /**
  8. * Enthält die Variablen, die in das Template eingebetet
  9. * werden sollen.
  10. */
  11. private $_ = array();
  12. /**
  13. * Ordnet eine Variable einem bestimmten Schl&uuml;ssel zu.
  14. *
  15. * @param String $key Schlüssel
  16. * @param String $value Variable
  17. */
  18. public function assign($key, $value) {
  19. $this->_[$key] = $value;
  20. }
  21. /**
  22. * Setzt den Namen des Templates.
  23. *
  24. * @param String $template Name des Templates.
  25. */
  26. public function setTemplate($template = 'default') {
  27. $this->template = $template;
  28. }
  29. /**
  30. * Das Template-File laden und zurückgeben
  31. *
  32. * @param string $tpl Der Name des Template-Files (falls es nicht vorher
  33. * über steTemplate() zugewiesen wurde).
  34. * @return string Der Output des Templates.
  35. */
  36. public function loadTemplate() {
  37. $tpl = $this->template;
  38. $file = $this->path . DIRECTORY_SEPARATOR . $tpl . '.php';
  39. if(file_exists($file)) {
  40. ob_start();
  41. include $file;
  42. $output = ob_get_contents();
  43. ob_end_clean();
  44. return $output;
  45. } else {
  46. return 'could not find template';
  47. }
  48. }
  49. }
  50. ?>