Beste helpers,
Ik moet voor een school een eigen framework schrijven alleen nu zit ik met een probleempje,
Ik ben bezig met een template systeem maar hij ondersteund nog geen php in de templates wat ik toch wel graag zou willen...
Hoe kan ik dit implementeren in mijn code (zie hieronder) en wat doe ik fout...
Alvast harstikke bedankt,
Michael
Ik moet voor een school een eigen framework schrijven alleen nu zit ik met een probleempje,
Ik ben bezig met een template systeem maar hij ondersteund nog geen php in de templates wat ik toch wel graag zou willen...
Hoe kan ik dit implementeren in mijn code (zie hieronder) en wat doe ik fout...
Alvast harstikke bedankt,
Michael
PHP:
<?php
Class Template
{
protected $_variables;
protected $_controller;
protected $_method;
protected $_page;
/**
* This is the constructor, the params contains the names of the controller and the method
* @param String $controller
* @param String $method
*/
public function __construct($controller,$method)
{
$this->_controller = ucfirst($controller);
$this->_method = $method;
if (file_exists('.'. DS . 'app' . DS . 'views' . DS . $this->_controller . DS . $this->_method . '.php')) {
$this->_page = join("", file('.'. DS . 'app' . DS . 'views' . DS . $this->_controller . DS . $this->_method . '.php'));
} else {
die('Template "<b>'.$controller . '/' .$method.'</b>" is not found!');
}
$this->_replaceTags();
$this->_render();
}
/**
* Displays the template
*/
private function _render()
{
echo $this->_page;
}
/**
* This replaces the tags to template items!
* Example: {title} => lalala
*/
private function _replaceTags()
{
$replacements = array("title"=>"lalala");
if (count($replacements) > 0 && is_array($replacements))
{
foreach ($replacements as $key => $value)
{
$this->_page = eregi_replace("{" . $key . "}", $value, $this->_page);
}
}
}
}