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

  関連記事

lgi01a201309210900
【画像で認証リンクまとめ】入力フォームスクリプト対策で画像の数値・文字列を入力して認証するやつ (キャプチャ認証・イメージ認証・画像認証)

Googleとかいろんなフォームで採用されているあれ。 そもそもなんて言えばよい …

centos_logo
CentOS5.5にphpUnitのインストール

php 5.2.7のインストール http://blog.livedoor.jp …

php-logo
【PHP】php5.5にしたらMongoが動かない。PearでアップデートしようとしたらArchive_Tarが動かない。

Archive_Tarが動かないから、Archive_Tar自体も更新出来ない。 …

php-logo
PHP独自例外

http://www.php-ref.com/basic/06_try_catc …

cakephp_logo
cakephpでSQLインジェクション対策

参考になったのでメモ Cake1.3でのデフォルトのセキュリティ対策を検証してく …