Posted By

iTony on 08/13/09


Tagged

class php template


Versions (?)

Who likes this?

1 person have marked this snippet as a favorite

umang_nine


Basic PHP Templates Class


 / Published in: PHP
 

URL: http://www.talkphp.com/general/4844-php-template.html

  1. <?php
  2. class Template{
  3. private $dir;
  4. private $data = array();
  5.  
  6. public function __construct($dir) {
  7. if( is_dir($dir) ) {
  8. $this->dir = $dir;
  9. } else {
  10. throw PHPTemplateException('Directory does not exists');
  11. }
  12. }
  13.  
  14. public function assign($variable, $data) {
  15. $this->data[$variable] = $data;
  16. }
  17.  
  18. public function display($template) {
  19. $template = rtrim($template, '.php') . '.php';
  20. if( file_exists($this->dir . $template) ) {
  21.  
  22. $this->__fetch($this->dir . $template);
  23.  
  24. return;
  25. }
  26.  
  27. throw PHPTemplateException('File does not exists');
  28. }
  29.  
  30. private function __fetch($____FILE) {
  31. extract( $this->data );
  32. include( $____FILE );
  33. }
  34. }
  35.  
  36. class PHPTemplateException extends Exception {
  37. public function __construct($message) {
  38. parent::__construct('[PHP Template]:' . $message);
  39. }
  40. }

Report this snippet  

You need to login to post a comment.