追記(2014-07-17)
smartyのgithubリポジトリのありか - わすれっぽいきみえ
書いた。
しかしこのgithubからリポジトリを取得する方法がまだちゃんと調査できておらず、
Smartyを使えるようにしたいならsvnを入れる方法しかまだわかってない。
去年の8月、新卒研修の一環としてPHPのマイクロフレームワークSlimを使った アプリケーションを同じチームに配属された同期と作った。
あれからもうちょっとで1年が経とうとしているが、その間にslimの開発も進んでて Smartyテンプレートの読み込みに使っていた Slim Extrasが非推奨になった。
その代わりにSlim Viewsというものが出来たので、 Slim ExtrasからSlim Viewsに置き換える方法を書いておく。
去年の時点で書いた記事
vagrant + slim framework + smartyをcomposerで構築 - わすれっぽいきみえ
に書いてあるものの続きみたいなものなので、細かいところは省略する。
環境
とりあえず以下のもの入ってることが条件。
他に必要なものがあったかもしれないが、それは適宜自分でインストールする。
vagrantで試しに動かしてみるなら
を使って
{ "httpd": { "port": 80, "server-tokens": "Prod", "server-name": "localhost", "allow-override": "All", "server-signature": "Off" }, "clock": { "timezone": "Asia/Tokyo" }, "run_list":[ "yum", "git", "recipe[example]", "recipe[example::apache]", "recipe[example::php]" ] }
と書いたnodes/vagrant.json
を用意してchefのレシピを流したら動くことは確認した。
ただしBerkshelfでサードパーティcookbookを管理し、
そこで落としたyumが前提のレシピになってるので、他のRedHat系以外では使えない。
ディレクトリ構成
もし上に貼ったレシピを使うのなら以下のようなディレクトリ構成にするといい。
/home/vagrant/
├── cache
├── compiled
├── composer.json
├── composer.phar
├── public_html
│ ├── .htaccess
│ └── index.php
└── templates
└── index.tpl
Slim Viewsの使い方
composer.jsonに以下のように書く。
{ "require": { "slim/slim": "2.*", "slim/views": "0.1.*", "smarty/smarty": "3.*" } }
でphp composer.phar install
を実行するとvendor
ディレクトリが/home/vagrant
直下に出来上がる。
あとはpublic_html/index.php
に以下のように書く。
<?php require_once __DIR__ . '/../vendor/autoload.php'; $app = new \Slim\Slim(array( 'debug' => true, 'view' => new \Slim\Views\Smarty(), )); $view = $app->view(); $view->setTemplatesDirectory(__DIR__ . '/../templates'); $view->parserCompileDirectory = __DIR__ . '/../compiled'; $view->parserCacheDirectory = __DIR__ . '/../cache'; $app->get('/', function() use ($app) { $app->render('index.tpl', array('name' => 'kimikimi714')); })->name('home'); $app->run();
templates/index.tpl
には適当に以下のようなものを書いておく。
<!DOCTYPE html> <html> <head> <title>slim sample</title> <meta charset="UTF-8"> </head> <body> <h1>Hello, {$name}</h1> </body> </html>
この状態でhttp://localhost/vagrant/
*1にアクセスするとHello, kimikimi714
と表示されるはず。表示されたらうまいこと導入できたということになる。
この記事はあくまでもSlim Viewsの導入なので、他の情報についてはググってください。