Guest User

Untitled

a guest
Apr 26th, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.84 KB | None | 0 0
  1. <?php
  2. class Template {
  3. private $vars = array();
  4.  
  5. public function __get($name) {
  6. return $this->vars[$name];
  7. }
  8.  
  9. public function __set($name, $value) {
  10. if($name == 'view_template_file') {
  11. throw new Exception("Cannot bind variable named 'view_template_file'");
  12. }
  13. $this->vars[$name] = $value;
  14. }
  15.  
  16. /*public function render($view_template_file) {
  17.  
  18.  
  19. if(array_key_exists('view_template_file', $this->vars)) {
  20. throw new Exception("Cannot bind variable called 'view_template_file'");
  21. }
  22. extract($this->vars);
  23. ob_start();
  24. include($view_template_file);
  25. return ob_get_clean();
  26. }*/
  27.  
  28. public function render($type, $view_template_file) {
  29.  
  30. switch ($type) {
  31. case 'mod' :
  32. $view_template_file = MOD_PATH . "/" . $view_template_file . '.php';
  33. break;
  34. case 'layout':
  35. $view_template_file = LAYOUT_PATH . '/' . $view_template_file . '.dtl';
  36. break;
  37. default:
  38. break;
  39. }
  40. if(array_key_exists('view_template_file', $this->vars)) {
  41. throw new Exception("Cannot bind variable called 'view_template_file'");
  42. }
  43. //echo $view_template_file . "<br>";
  44. extract($this->vars);
  45. ob_start();
  46. include($view_template_file);
  47. return ob_get_clean();
  48.  
  49. }
  50.  
  51.  
  52. public static function Add($type, $elements, $absolute = false) {
  53. if ( ! is_array($elements) ) {
  54. $new = array($elements);
  55. $elements = $new;
  56. }
  57. $ret = '';
  58. switch($type) {
  59. case 'css' :
  60. foreach ($elements as $element) {
  61. $ret .= '<link href="' . CSS_PATH . '/' . $element . '.css" rel="stylesheet" type="text/css">' . "\n";
  62. }
  63. break;
  64. case 'js' :
  65. foreach ($elements as $element) {
  66. $ret .= '<script type="text/javascript" src="' . SCRIPT_PATH . '/' . $element . '.js"></script>' . "\n";
  67. }
  68. break;
  69. default:
  70. break;
  71.  
  72. }
  73. return $ret;
  74. }
  75.  
  76. }
Add Comment
Please, Sign In to add comment