00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010 class TemplateEngineSimple implements ITemplateEngine {
00011
00012
00013
00014
00015
00016 protected $vars = array();
00017
00018
00019
00020
00021
00022
00023
00024 public function assign($name, $value) {
00025 $this->vars[$name] = $value;
00026 }
00027
00028
00029
00030
00031
00032
00033 public function assign_array($arr) {
00034 $this->vars = array_merge($this->vars, $arr);
00035 }
00036
00037
00038
00039
00040
00041
00042
00043 public function retrieve($name) {
00044 return Arr::get_item($this->vars, $name, false);
00045 }
00046
00047
00048
00049
00050
00051
00052 public function fetch($file) {
00053 $file = $this->resolve_path($file);
00054
00055 extract($this->vars);
00056 ob_start();
00057 include($file);
00058 $contents = ob_get_contents();
00059 ob_end_clean();
00060
00061 return $contents;
00062 }
00063
00064
00065
00066
00067
00068
00069
00070 protected function resolve_path($file) {
00071 return TemplatePathResolver::resolve($file, 'tpl.php');
00072 }
00073 }