【PHP】Smarty【Template】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
03/03/10 00:57ID:NhgrjNBT本家(英語)
http://smarty.php.net/
日本語マニュアルとか
http://sunset.freespace.jp/smarty/
0002nobodyさん
03/03/10 01:01ID:???コンテンツとデザインの分離はしばらく物議かもしそうだし
解決策の1つとしてsmartyいいかもね。
ついでに2げっと。
自分が引っかかったところ。
青マンモス本の時点ではループ指定(テンプレート側)するときに
{$loopname/variable}
だったのが
{$variable[loopname]}
になってる。
$varibableが連想配列なら
{$variable[loopname].arrayname}
こんな感じ。
0005nobodyさん
03/03/11 00:06ID:???キャッシュを作らずにHTMLを吐き出す方法はないでしょうか?
0006nobodyさん
03/03/11 17:04ID:???0007nobodyさん
03/03/11 17:06ID:???よくわからんが、コンパイルされたファイルとキャッシュされたファイルは別物だが。
キャッシュを作らずHTMLを作るとはどういうこと?
毎回コンパイルするようにしたいなら、設定変えればできるぞ。
0008nobodyさん
03/03/11 17:07ID:???http://sunset.freespace.jp/smarty/
↑ここもマジで感謝!!
0009nobodyさん
03/03/11 17:09ID:???XOOPS 日本の公式サイト
http://jp.xoops.org/
0010nobodyさん
03/03/11 17:25ID:???0012nobodyさん
03/03/11 17:38ID:???>より明確にphpのプレゼンテーションからアプリケーションの ロジックとコンテンツを分離して管理する事を容易にします。
>これはプログラマーとテンプレートデザイナーの役割が異なる 状況か、
>たいていの場合は同じ人間ではないのが最良だという事です。
こう書いてあったんだけど、つまり役割が同じ場合はこれ用なし?
0016あぼーん
NGNG0019nobodyさん
03/03/12 01:12ID:BE9nbHm+の機能があったらかなりイイのだが
も前らPHPではフォームに値付けるのどうされてますか?
PHP版HTML::Template
http://sourceforge.net/projects/phphtmltemplate/
0020あぼーん
NGNG0021nobodyさん
03/03/12 05:18ID:???自分の場合はデザインとコードの分離のため。
HTMLを書く人間が別にいる場合、分離していないと
かなり面倒なことになる。
そのあたりの議論は
http://pc2.2ch.net/test/read.cgi/php/990953955/
こっちでかなりやっていた気がする。
0023nobodyさん
03/03/12 11:09ID:???002421
03/03/12 11:35ID:???そうそう、前そこのスレでsmartyスレ立てようって言ってたんだけど
あんまりユーザがいないようだから。
でもXOOPS2でsmarty採用したから使う人が増えるかもね。
0025nobodyさん
03/03/12 16:12ID:???デザイナーは、はたして使えるのか?と思うけど、
つか、HTMLテンプレートのほうが分かり易いのかな?と思ったり、
両方使った事ある人どう思う?
0026あぼーん
NGNG0027nobodyさん
03/03/12 17:11ID:???0028nobodyさん
03/03/12 17:31ID:???perl,phpは楽だよな。>>27のいうことも分かる。
問題はデザイナーが単独でphpスクリプトを修正できるかというと
そこまで簡単じゃないってことだな。
プログラマ・デザイナの両方の負担の釣り合いが取れるところがsmartyなんじゃないの?
0029nobodyさん
03/03/12 18:11ID:???MVCってのがある。
V(View)はMからデータを呼び出すだけで単独では通常計算を行わない。
と言うことになっている。
表示すべき項目を$dataと言うハッシュに詰め込んで、
「データは<? print($data["name"]);?>で表示させられるよ。」
とか言っちゃえば良いと。
デザイナがJavaScript位は出来るだろうと(Web制作の某スレではこれはデザイナの仕事ではないらしい。(藁)仮定すると
PHPの豊富な制御構造くらい使いこなせるだろう。
こうしてみるとその辺の下手なテンプレート機構より遙かに強力でしかも汎用的だ。
JSPと同じ思想でPHPを使っちゃおうというのが俺の言いたいこと。
0030nobodyさん
03/03/12 21:31ID:???折角Smartyのスレたったんだし、Smartyの話しようや。
0031nobodyさん
03/03/12 23:50ID:???0032nobodyさん
03/03/13 00:42ID:???をPerlやRubyにできるな。
HTML::Templateのがよくないか?
PHPでテンプレート使うの馬鹿らしいんだけど、テンプレート
前提でコーディングしとくと、渡す直前で値をダンプしてみれば
エラーの原因とか何やってるのかがすぐわかるのよ。
0033nobodyさん
03/03/13 00:50ID:???0034nobodyさん
03/03/13 11:02ID:???0035nobodyさん
03/03/13 11:10ID:???いや、だからVにテンプレートを採用するかPHPの特性を素直に使うかの違いよ。
両者ともデータチェックはMの最後なりCの最後なりでチェックできる。
微妙に。
>35
まあ、そうだねぇ。
結局は好みの問題。
既存のテンプレートエンジンが気に入らなければ
自分で作ってもいいし、
自分にあうのがあればそれを使えばいいだけ。
自分はループのネスト考えるのがだるくて
既存のものを使ってますが(苦笑
WYSIWYGなエディタでも表示崩れないやつが好き。
あとHTML_Template_ITバージョンアップしてるな。
0037nobodyさん
03/03/13 13:31ID:???>WYSIWYGなエディタでも表示崩れないやつが好き。
ある?php始めてからもっぱらテキストエディタ派になっちゃいましたが。
川里氏/佐藤氏のPHP4テンプレートクラスライブラリ(改)は
割とそのあたり気を使って作られていたよ。
http://www.daiwakantei.co.jp/pc/tmpl2sa.html
Dreamweaverでは平気だった。
Smartyもうまく使えば大丈夫だと思う。
(というか、テンプレートファイルと画像を置く位置かな)
個人的には
http://sunset.freespace.jp/smarty/
ここにスクリーンショットでてるDreamweaverMXの
extensionに期待。
0039山崎渉
03/03/13 16:56ID:???0040nobodyさん
03/03/15 10:11ID:???コンパイルされたファイルとキャッシュによる表示速度の速度の向上じゃない?
0042nobodyさん
03/03/15 23:39ID:X1LKF8i00043nobodyさん
03/03/16 01:17ID:???つまりブロックで言うとトップとレフトはsmartyのテンプレなんだけど、
真中のコンテンツの部分をperlのCGI(掲示板)を利用したいわけです。
cgiを呼び出せば、内容は表示できそうですが、POSTとかGETした時
内容を渡せるのか?とか難しそうです。
そんなことしてる香具師いる?
0044nobodyさん
03/03/16 01:27ID:???0046nobodyさん
03/03/18 15:26ID:???0048nobodyさん
03/03/21 12:19ID:???ほかに標準のテンプレート機能ってあるのしょうか?
0050nobodyさん
03/03/21 19:50ID:02OewLFoSmarty使えない鯖ってどんな鯖?
0052nobodyさん
03/03/21 20:08ID:???「使えない」という状態がいったいどういう状態なのかを
言ってくれないと、アドバイスのしようもない。
0060nobodyさん
03/03/23 16:35ID:GUMN7n0B0061nobodyさん
03/03/24 00:18ID:???別の構文の言語ってかんじに見える。
おれは patTemplateの方が純粋にテンプレートっぽくって好き。
http://www.php-j.com/tutorial/php/template.php
出来ることが多いから自分も最初は
「何となくめんどくせー」
と思って使ってなかったんだけど、
実際に使ってみるとそうでもないよ。
必要ない機能は使わなければいいし。
header、footer、ループ部分を別にするテンプレートは
WYSIWYGなエディタ使えないので個人的にはあまり…
という感じ。
・Smarty
・PHP4 テンプレートクラスライブラリ改(tmpl2.class.php)
・HTML::Template_IT (PEAR)
自分が使ってみて使いやすかったのはこのあたり。
Smartyで注意することはSJISのテンプレートを使うときに
プリフィルタ/ポストフィルタを使って文字エンコードを変えないと
テンプレート内に「宮」とか書かれてるとエラーになってしまうあたり。
ttp://ns1.php.gr.jp/pipermail/php-users/2003-February/013595.html
このあたり参考に。
0063nobodyさん
03/03/24 16:20ID:???おまけに、smarty関連のディレクトリでいっぱいになって、
漏れのような小物野郎には大袈裟すぎと気付きました。
大規模システムには使い道があるんだと思うけど、
誰か、気軽に同封できるような、おすすめテンプレート情報もとむ。
0064nobodyさん
03/03/24 16:21ID:F52n5d8WSmartyの利用条件とかってあるの?
0065nobodyさん
03/03/24 16:37ID:???0066nobodyさん
03/03/24 17:39ID:???0067nobodyさん
03/03/24 17:52ID:bvsiZdotライセンスはGNU LGPLなんでそれさえ守っておけばいい。
0068あぼーん
NGNG0069nobodyさん
03/03/24 17:59ID:???0070あぼーん
NGNG0072nobodyさん
03/03/25 12:43ID:FOZw8qkaそうなの?
0073nobodyさん
03/03/25 14:04ID:CVcoKJbJマニュアル翻訳された方、ありがとう&お疲れ様。
PHP自体がある程度テンプレート的な使い方が出来るので、
確かに小規模なプロジェクトでは導入コストに較べてメリットは少ないですね。
プラグインとか使って見たいけど、私も使う機会なさそうだな。
ところで、[php] ... [/php] タグの存在に戸惑っています。
テンプレートとロジックを一緒に管理する事ができますッテ…(汗
テンプレートをコンポーネント化するより、
そのテンプレートを呼び出すメソッドを実装して、
その中に初期化など共通する処理を書いた方がいいと思うのだけど…
どうなんでしょう? php とか php_include タグの評判は。
アイデアは確かにいいんですけど、これって別にSmarty使う必要ないですよね?PHPでは。
ロジックの分離という点に置いては、テンプレートには不要だと思う。
PHPにループ用のタグを導入してくれればいいのになぁ…。
0074nobodyさん
03/03/25 14:30ID:???まぁ、形無し言語でそんなもん語っても仕方ないがしかし・・・。
0075nobodyさん
03/03/25 16:24ID:FOZw8qkaなんて浮かばないって。
PHP5の例外処理サポートが楽しみだ。
>73
とりあえず、[php]タグは忘れてるよ(笑
デザイナーにも教えてない。
余計なことされて事故って後から自分が修正・・・とか嫌だし。
というか、自分はデザインとの分離さえ出来ればいいから
変数への代入とループさえ出来れば困らないんだけどね・・・。
■ このスレッドは過去ログ倉庫に格納されています