slimでtwig連携

最近slimを使う機会がありそうなのでphpのマイクロフレームワークであるslimを基礎から触った。
まずはインストールしてslimとtwigで連携するところまで行う。

composerからのslimのインストール

$ curl -s http://getcomposer.org/installer | php
$ vi composer.json
{
    "require": {
        "slim/slim": "2.*",
        "slim/extras": "2.0.*",
        "twig/twig": "1.*"
    }
}
$ php composer.phar install

index.phpの作成

$ mkdir web
$ vi web/index.php
<?php
require '../vendor/autoload.php';

use Slim\Slim;
use Slim\Extras\Views\Twig as Twig;

$app = new Slim(array(
            'view' => new Twig,
            'templates.path' => '../templates'
            ));

$app->get('/', function() use ($app) {
    $app->render('index.html.twig', array('name' => 'taka512'));
  });
$app->run();

templateを作成

$ mkdir templates
$ vi templates/index.html.twig
hello {{ name }}

これでindex.phpにアクセスするとテンプレートの内容が表示されます。
そして今回のディレクトリ構造はこんな感じとなります。

|-- composer.json
|-- composer.lock
|-- templates
|    |-- index.html.twig
|-- vendor
|-- web
     |-- index.php