skuda / slim-handlebars

Handlebars View Parser package for the PHP Slim Framework

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Skuda note:

I will only forked radicaldrew:master to be able to use this package with PHP 7 with slim 2.x.

I only changed composer.json dependency on voodoophp/handlebars for xamin/handlebars.php, the reason being this bug

Slim Handlebars

Repository built from original jayc89/slim-handlebars, kudos to jayc89 thank you for the great start. There was a bunch of things I needed with Handlebars and Slim that was not possible to do without modifying the orginal code. I added and made sure you can use custom extensions. I also added the ability to add your own helpers using a addHelper method. 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).

How to Install

using Composer

Create a composer.json file in your project root:

{
    "require": {
        "radicaldrew/slim-handlebars": "dev-master"
    }
}

Then run the following composer command:

$ php composer.phar install

How to use

<?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->setTemplatesDirectory('./views');
$view->parserOptions = array(
    'partialsDirectory' => './views/partials',
    'templateExtension' => 'html'
);

Templates (suffixed with .html in the example above) are assumed to be located within /templates. An optional sub-directory of partials (/templates/partials) can also be used.

To render the templates within your routes:

$app->get('/', function () use ($app) {
    $array = array();
    $app->render("home", $array);
});

How to add Registered Helpers

$view = $app->view();
$view->addHelper("upper",function($template, $context, $args, $source){
                                return strtoupper($context->get($args));
                         });

Authors

Andrew Karp

based on this original repistory Jamie Cressey

License

MIT Public License

About

Handlebars View Parser package for the PHP Slim Framework

License:MIT License


Languages

Language:PHP 100.0%