This repository contains a custom View class for Handlebars (https://github.com/mardix/Handlebars). You can use the custom View class by either requiring the appropriate class in your Slim Framework bootstrap file and initialize your Slim application using an instance of the selected View class or using Composer (the recommended way).
using Composer
Create a composer.json file in your project root:
{
"require": {
"jayc89/slim-handlebars": "dev-master"
}
}
Then run the following composer command:
$ php composer.phar install
<?php
require 'vendor/autoload.php';
$app = new \Slim\Slim(array(
'view' => new \Slim\Handlebars\Handlebars()
));
To use Handlebars options do the following:
$view = $app->view();
$view->parserOptions = array(
'charset' => 'ISO-8859-1'
);
Templates (suffixed with .handlebars) are assumed to be located within Slim's template directory (<doc root>/templates, by default). Partials are picked up from <template directory>/partials.
Constructor takes an array as a parameter. The following properties are supported:
- partialsDirectory
- templateExtensions
To render the templates within your routes:
$app->get('/', function () use ($app) {
$array = array();
$app->render("home", $array);
});
MIT Public License