KOstache ============ KOstache is a kohana module for using [Mustache](http://defunkt.github.com/mustache/) templates in your application. Mustache is a logic-less template class. It is impossible to embed logic into mustache files. Usage & Simple Example ----- View classes go in classes/view/ classes/view/example.php '', 'name' => '', 'value' => '', ); protected $_rules = array( 'name' => array('not_empty'), 'value' => array('not_empty'), ); } View: fetch_all() as $test) { $tests[] = $test->as_array(); } return $tests; } } Template: {{title}}

{{title}}

Here are all my {{things}}:

Controller: '', 'name' => '', 'value' => '', ); protected $_rules = array( 'name' => array('not_empty'), 'value' => array('not_empty'), ); } View: TRUE); public $thing_id = NULL; public $title = 'Testing'; public function thing() { return new Model_Test($this->thing_id); } } Template: {{title}}

{{title}}

This is just one thing:

{{thing.id}}

Controller: thing_id = $id; echo $view; } } // End Welcome Partials --- To use a partial in your template you use the greater than sign (>) and the name, e.g. {{>header}}. You must define partials within the $_partials array in your view class. The key is the name that you use in your template and the value is a path to your partial file. protected $_partials = array( 'header' => 'header', // Loads templates/header.mustache 'footer' => 'footer/default', // Loads templates/footer/default.mustache ); Using the View_Layout class --- KOstache comes with a View_Layout class instead of a template controller. This allows your layouts to be more OOP and self contained, and they do not rely on your controllers so much. To use it, have your view extend the View_Layout class. You can then specify your own layout file by placing it in templates/layout.mustache. At a minimum, it needs to have a {{>body}} partial defined in it. For specific usage and documentation, see: [PHP Mustache](http://github.com/bobthecow/mustache.php) [Original Mustache](http://defunkt.github.com/mustache/)