For Want Of A Better Word

【PHP】【Slim】テンプレートの利用

      2015/04/18

テンプレートの利用

【参考】PHPマイクロフレームワークのSlimを触ってみた – Blogaomu

Slimのテンプレートの基本的な考え方は、
①index.phpで

app->render(“テンプレートファイル名”、配列(変数名=>値));

でテンプレートに渡す。
②テンプレート側で該当の変数を使う。テンプレート側に処理を書くことも出来る。

という感じ。Cakeに近いかな。

テンプレートエンジンを利用する方法もあるようですが、それすら面倒臭いのでデフォルトで!

Slimの機能としてテンプレート間の共通部品や、Cakeのlayoutファイルのようなテンプレートの共通部分定義というのはなさそう。
まあ、phpなのでincludeするだけ。気になるなら、テンプレートエンジンを導入ですかね。

テンプレートの使い方

(1)テンプレートディレクトを作成しパスを通す。
※テンプレートディレクトリをindex.phpと同階層に作成
index.php

(2)index.phpの該当メソッドをテンプレートを使う用に修正する。
index.php

②templateを作る
templates/index.php

これでOK!

ちなみにファイル名はURLに紐づければ分かりやすいかね。

【補足】共通部品の利用

とは言っても自分で作ってincludeなりするだけ。

例)template/commonディレクトリの中にheader.php と footer.phpを作って、テンプレートからincludeする。

template
.
├── common
│   ├── footer.php
│   └── header.php
└── index.php

・ templates/index.php(controller側のindex.phpは①のまま。nameを渡す。)

一つ一つのテンプレートでincludeするの面倒くさい!
という場合は
コントローラーのindex.phpのメソッドに書いても良いし、

index.phpの本当に先頭と最後に書いちゃってもいいじゃん!
メソッド+templateではコンテンツだけ吐き出すようにして。
これがcakeのレイアウトっぽいかな。

この場合は、titleとか動的に出来ないのが問題か…

メモ、

うんうん。そうそう、この程度のが欲しかった。
長年の運用が想定されるものではキツイかもしれないけど。。
ただ、ほとんどPHPでの記述だから意外とスキルレベルを統一しやすかったりして!

次はDBの利用。

[PHP>Slim関連記事]
【PHP】【Slim】インストールー手動ダウンロード と Composer – For Want Of A Better Word
【PHP】【Slim】テンプレートの利用 – For Want Of A Better Word
【PHP】【Slim】DBの利用は自力で頑張る! – For Want Of A Better Word
【PHP】【Slim】Slim触っての感想 – For Want Of A Better Word

 - php, slim

  関連記事

php-logo
code sniffer コーディングルール

インストール http://homepage3.nifty.com/renoiv …

php-logo
PHPコマンドライン実行(-qオプション)

qオプションで …

google-logo
【Google】【PHP】gapi.class.phpでデータが取得できなくなった、その対処法

突然に。 ココを見ると、そのライブラリ(gapi.class.php)で対応して …

php-logo
プログラミングPHP(第2章PHPの基本)

字句構造 大文字、小文字の区別。 コマンドは区別なし。 変数名は区別あり。 命令 …

php-logo
【メモ】simple_html_parserの使い方リンク

[インストール~DOMオブジェクトの取得] http://so-zou.jp/w …