Fully tested minimalistic PHP template engine. Include the class, set your templates location and start rendering.
PHP v5.2 and up. Tested on PHP v5.2, v5.3, v5.4, v5.5
// example.php
require_once 'lib/Bandar.php';
define(
'BANDAR_TEMPLATES_PATH',
dirname(__FILE__) . DIRECTORY_SEPARATOR . 'views'
);
Bandar::render('users/list', array('users' => array('name' => 'John Smith')));
// views/users/list.php
<ul>
<?php
foreach ($users as $user) {
echo '<li>' . $user['name'] . '</li>';
}
?>
</ul>
Run it
php example.php
// example-with-sidebar.php
require_once 'lib/Bandar.php';
define(
'BANDAR_TEMPLATES_PATH',
dirname(__FILE__) . DIRECTORY_SEPARATOR . 'views'
);
$sidebar = Bandar::getTemplateContent('common/sidebar');
Bandar::render(
'users/list',
array(
'users' => array(array('name' => 'John Smith')),
'sidebar' => $sidebar
)
);
// views/users/list.php
<div class="container">
<div class="left">
<ul>
<?php
foreach ($users as $user) {
echo '<li>' . $user['name'] . '</li>';
}
?>
</ul>
</div>
<div class="right">
<?php echo $sidebar; ?>
</div>
</div>
// views/common/sidebar.php
Sidebar content
Run it
php example-with-sidebar.php
Coverage reports are stored inside the coverage folder. The goal is to always have 100% coverage.
phpunit
phpdoc -f lib/Bandar.php
For code guidelines refer to .editorconfig
. This project is following PEAR code standard - http://pear.php.net/manual/en/standards.php
The project is following Vincent Driessen's branching model aka git flow - http://nvie.com/git-model/
Make sure to submit your pull requests against the develop branch
MIT