Your template engine seems to work perfectly!
This rendering is made running:
$output = $template_engine->render( 'hello.htm', // this is the view file name array( // these are the parameters passed to the view file // as PHP variables 'name' => isset($_GET['name']) ? $_GET['name'] : 'Anonymous' ) ) // which means that, in your view file, you can write: echo $name
To test it, add a "name" variable to your current URI, for instance name=Myname ...
In a view file, $_template is the whole template engine and is array-accessible:
$_template['web_root_path'] // will be rewritten as $_template->getWebRootPath() // and will be searched in the "view" or "template" objects $_template->template->getWebRootPath() $_template->view->getWebRootPath() // in this case: $_template['web_root_path'] = $_template->template->getWebRootPath() => ""
See the documentation for a full PHP objects review.