tags:

views:

99

answers:

4

i friends i am working on simple php template engine here is some code can someboady help me to add files including function like %include.sidebar.html% and loop functions so i can run loops or tell me some other simple php template engine

<?

class Template {

private $template, $vars;


public function SetTemplete($tempname) {
    $templatePathAndName  = $tempname;
    if(file_exists($templatePathAndName))
        $this->template = file_get_contents($templatePathAndName);
    else
        die("Template not found... aborting...");
}

public function setVar($var, $content) {
    $this->vars[$var] = $content;
}


public function replaceAll() {
  foreach($this->vars as $var => $content) {
    $this->template = str_replace("{" . strtoupper($var). "}", $content, $this->template);
  }
}

public function publish() {
    $this->replaceAll();
    echo $this->template;
}

public function includeFile(){
  foreach($this->vars as $var => $content) {
    $this->template = str_replace("<-" . strtoupper($var). "->", 
                                  file_get_contents($content), 
                                  $this->template);
  }
}

$tpl = new Template;
$tpl->SetTemplete(base_path."home.html");
$tpl->setVar("SITE_NAME", "Simple Template Class2");
$tpl->publish();

?>
///home.html 
<html>
    <head>

    </head>
    <body>
        {SITE_NAME}
    </body>
</html>
A: 

TinyButStrong is ar rather good but still small engine.

Loxley
A: 

I use Smarty.

presto8
A: 

While slightly less lightweight, Twig is a powerful template engine with extremely simple syntax.

igorw
+1  A: 

You could use Smarty, but php itself is a templating language. Why replace it?

Jage
Interesting read: http://fabien.potencier.org/article/34/templating-engines-in-php and http://fabien.potencier.org/article/35/templating-engines-in-php-follow-up
igorw
Thank you, VERY solid points.
Jage