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

  関連記事

cakephp_logo
cakephpのscaffoldとbakeの違い

scafold -開発者がオブジェクトを生成・取り出し・更新・削除することができ …

mysql-logo
【PHP】【DB開発メモ】PDO_LIKEが動かん!プレースホルダの誤用

前もはまった気がする…. 成長しない。 PHP: プ& …

mysql-logo
php5.1 apache2 連携用のdllファイル(php5apache2_2.dll)の取得

windowsでphp5.1をapache2で動かしたかったり、その逆の時とか、 …

php-logo
PHPにおけるインターフェースと抽象クラスの違い

※どっちもポリモーフィズムの実現機能ということでいいのかな?。 ①http:// …

cakephp_logo
【php】フレームワークちょい比較

※どっかから参照した文だけど、どこにかいていたか。。 ①cake http:// …