1 :名無しさん@お腹いっぱい。:2001/05/27(日) 17:59 ID:6pK8snWA
ASPでもPHPでもPerlでもJavaでも形こそ違えど結局は可変部を吐き出すための
<%??%>やらprint文の嵐になってしまう。

「HTMLはHTML、プログラムはプログラムと完全に分離する方法はないものか。」
を話し合うスレッドです。

10 :1:2001/05/28(月) 19:17 ID:ucUrq.A6
あ。PHPだとこんなのあるらしいですよ。

PHP4テンプレートクラスライブラリ
ttp://zato.nu/tmpl/

これもタグ置換型ですね。

31 :名無しさん@お腹いっぱい。:2001/06/29(金) 15:03 ID:???
「プロフェッショナルPHPプログラミング」にうまい使い方が載っていたのでFastTemplate使ってみた。
php4だと配布サイトに載っているパッチをあてないと上手く動かなかったけど。

テンプレートを入れ子にできるので部品化・使い回しできるのがイイ。

32 :1:2001/06/29(金) 15:51 ID:8ZDmK9dU
>>31
Smartyもいいですよ。
>>10であげたテンプレートクラスが霞んでしまうほどの出来です。
(作者さん失礼…)

http://www.phpinsider.com/php/code/Smarty/

37 :名無しさん@お腹いっぱい。:2001/07/02(月) 22:55 ID:1TJMjc3E
>>32
Smarty って仕様でかすぎない? ってあんまり見てないんだけど。
最初、自分で作ろうと思って、いろいろ他のを見たけど
よくよく考えたら、PHP でこれをすると、HTML 内に処理を書けるって
いう言語自体の優位性が無くなってしまうね。

62 :名無しさん@お腹いっぱい。:01/12/25 00:00 ID:NlMRZ7tX
linuxjapanに出てたけど、
このwalrusっていうの使ったことある人いる?
http://www.brain-tokyo.jp/~research/koutetu/walrus/index.html

なんかけっこうよさげなんだが、このデモがちょっとイタイ。
http://210.155.146.159/walrus/demo/

94 :名無しさん@お腹いっぱい。 :02/01/05 22:14 ID:???
うむ、完全なデザインとロジックの分離ができるのって、WOだけだな。
あとは流行りの寄せ集め。
ただし、WOはいくら良くてもマイナーだ。トホホ

134 :nobodyさん:02/03/03 06:02 ID:???
JSP のカスタムタグ作ればきれいに分離ができるじゃん。

136 :nobodyさん:02/03/03 21:25 ID:???
>>134
あそ、ここはオーサリングソフト使わなきゃ HTML 組めない人達の
板だったわけね。横槍大変失礼いたしました。

179 :nobodyさん:02/03/31 06:52 ID:???
Smartyの英語マニュアル全部読んだのですが、
既存のHTMLファイルを取り込む方法がいまいちわからないです。

184 : ◆AngelBlk :02/04/01 11:00 ID:???
Smartyだけど、青マンモス本にリファレンス載ってるみたい。
誰か買った人います?
どんな感じか教えてほしいのだけど。

会社の帰りにでも、探してみるかなぁ・・・。

185 :1:02/04/01 14:08 ID:ALawDKoI
>>179
取り込むというと…?
{include file='includefile'}
みたいなことは出来ますけど、たぶん違いますよね。

>>184
マンモス本ってなんですか?? オライリー?

186 :nobodyさん:02/04/01 16:33 ID:SClNMZpg
>>185
お返事ありがとうございます。

ただ、現在のページをheder,left,bottomに分けて、そこをテンプレートにして管理したいだけなんですけど
Smartyだとやり方がよくわからなくて…。

187 :1:02/04/01 17:11 ID:ALawDKoI
>>186

別のファイルが差し込めればいいんですよね。

---- header.html ----
<h1>へっだー</h1>
---------------------

というヘッダー部があるとして、本文のテンプレート(例えばbody.html)に

---- body.html ----
<html>
?? 省略 ??
<body>
{include file='header.html'}
?? 本文 ??
</body>
</html>
-------------------
とすることで、body.htmlにheader.htmlが差し込まれた形で処理されます。


188 :nobodyさん:02/04/01 18:34 ID:eCkZiEpB
青マンモス本でSmartyがどんなふうに取り上げられてるの?(近くで売ってないので)
Smartyのマニュアル和訳とかしてwebにあげようと思ってたんだけどなー(´д`;)7割はオワッタ


190 :nobodyさん:02/04/01 19:41 ID:jOov+muS
>>187
お返事ありがとうございます。

index.tplにheader.html等組み込むのはいいのですが、コンテンツを
各webページごとに入れ込む場合、テンプレートの方でなく、index.phpなどの方に入れ込むと思うのですが、その入れ込み方がマニュアルを見ても乗ってないというか、わからないというか...

例えば、index.phpのコンテンツ部分をindex.txtから取り込むには、ファイルを読んで、それを$contentsに入れ込んで、$smartyに渡すということをすればいいのでしょうか?...自分でもよくわからないです...

>>188
すごいですね。upしたら教えて下さい。
というか、途中でも、upすれば、リバイズとか助けられると思いますよ。

194 :1:02/04/02 09:55 ID:IYI5YDp3
>>190
うーん、それはSmartyというよりPHPでゴリゴリ書くしかないですね。

---- main.html ----
<html>
<body>
{$contents}
</body>
</html>
-------------------
というテンプレートに

---- index.php ----
require("Smarty.class.php");
$smarty = new Smarty;
$fp = fopen("index.txt","r");
$smarty->assign("contents", fread($fp, filesize("index.txt"));
fclose ($fp);
$smarty->display("main.html");
-------------------

こんなかんじなのかな?
すいません、>>190さんの言いたいことがよくわかってないかもです。

>>188
ぜひUPして下さい。日本語のSmartyサイトが1件も検索に引っ掛かってこない現状
は寂しいです。


253 :nobodyさん:02/05/06 04:38 ID:G0jBHwom
PHPに対するPHPテンプレートの優位性って何?
いくつか見てみたけど、 PHPだけでいいような気がしてならない
というより、PHPよりテンプレート用言語(笑)を覚える手間が
増えてるだけのような

259 :nobodyさん:02/05/10 21:51 ID:/cNgrcGu
>>253
PHPってもともとそういうものだからな。

260 :nobodyさん:02/05/11 01:40 ID:???
>>259
なのにそのPHPでテンプレートを開発している奴らの目標は何かと問いつめたい

ただ、{?php xxxx ?}みたいなタグじゃない形で PHP が実行できると
便利な場合もあるなと思った

261 :nobodyさん:02/05/11 04:38 ID:???
>>260
やっぱり、いかにプログラマとデザイナーの作業に分けるかでしょ。
じゃあ、PHPがHTML埋め込み型言語である理由って何?とか言われると
すごい小さいアプリなら、てっとり早くでっちあげるのには便利かなー、って
くらいしか思いつかない。
個人的には、PHPはHTML埋め込み"可能"言語であって、
スクリプト内にHTMLを埋め込もうと思えば、あくまでも"可能"であるって
ぐらいの認識かなぁ。

自分がずっとSmartyを推してる理由は、変数置換や繰り返し以外にも、
プラグイン追加による機能拡張や、テンプレートの出力を一部キャッシュして
パフォーマンスを上げたりする事が可能だから。
静的コンテンツを動的に生成したい時とか本当に便利。


265 :nobodyさん:02/05/13 04:02 ID:???
>>261
PHPを使ったテンプレート

http://hoge.com/test.php
とかの場合

test.phpの内容
<?
$title = "test";
include("template.php");
?>

template.php の内容
<HTML>
<HEAD><TITLE><?=$title ?></TITLE></HEAD>
<BODY><H1><?=$title ?></H1></BODY>
</HTML>

smarty とかよりこんなのじゃだめなの?

266 :nobodyさん:02/05/13 12:31 ID:???
>>265
条件分岐や繰り返しのある表現をしようと思うとムリがありますよね。

全てのテンプレートエンジンがそうなのかは分かりませんが、少なくとも
Smartyが提供するものは
"PHPスクリプト内にHTMLタグを書かなくて済むような仕組み"
なわけで、デザイナーとプログラマの作業分担云々へのメリットは副次的な
効果だと思う次第です。

PHPスクリプトの可読性を上げ、より保守しやすい環境を目指した仕組みな
わけで、誤解を恐れず言えば、プログラマーが楽をするためのフレームワーク
であると言っても過言ではないと思います。

267 :nobodyさん:02/05/13 19:33 ID:???
>>266
Smartyはデザイナとプログラマの分業を重要な目的の一つとして
制作されたので、副次的に生まれた効果ではないです。

あと、PHPスクリプトにHTMLが混入するテンプレートエンジンなんて
存在し得ないと思うんですが。揚げられたものは全て
テンプレートエンジンが最低限実装すべきもののような気がします。

268 :nobodyさん:02/05/13 20:12 ID:???
DB連携がスマートにできるやつがいいね。
商用だけど、WebObjectsのフレームワークは、目から鱗。

269 :nobodyさん:02/05/13 20:12 ID:???
>>266
>条件分岐や繰り返しのある表現をしようと思うとムリがありますよね。
いや、PHPそのままかけるんだから
for() でも while() でも書けばいいんでないの?
smarty タグとかでも同じ事をやる訳じゃないの?
template.php 内で include してもいいし、関数を呼んでもいい。

template.php 内には
<table>
<? foreach($osakana as $syurui=>$nedan ){ ?>
<tr><th><?=$syurui ?></th><td><?=$nedan ?></td></tr>
<? } ?>
</table>
みたいな感じだけで

smarty だって selectionタグってな foreach のまがい物みたいなの使うんでしょ?

271 :nobodyさん:02/05/13 20:58 ID:???
>>266じゃないが、Smartyはかなりプログラマよりの仕様になっていることは確か
自分たちの必要に迫られて作った→いろいろ揉まれて良い物ができた→公開した
という流れらしいしね

>>267
PHPを対象としたものでなければ存在するんだな、これが
仮にPHPに対象を絞ったとしても、存在し得ないだのすべきものだの
断定的な事がよく言えたもんだ

>>268
裏でどんなSQL投げてるか想像すると吐き気がしないか?

>>269
そんな方法を採らなければいけないことが無理があるって事だと思うが…
いびつだと思わないか?もう一度>>1を読んでみろ

http://www.phpinsider.com/php/code/Smarty/docs/preface.html
とりあえずこの辺読んだ方が早い。
読んでも理解できなければテンプレートエンジンのことは忘れろ
お互いのためだ

だいたい200を超えたスレでいまさら
> いや、PHPそのままかけるんだから

こういうアホなことを言うな

274 :nobodyさん:02/05/13 22:18 ID:???
>>271
混入してしまった時点でその部分のコードは相手方の
手から離れてしまっているので分担とは言えないような。
Javaですか?そのエンジンが持つ、専用のスクリプトの事じゃないですよね。
そのテンプレートエンジンを教えていただけますか?


275 :nobodyさん:02/05/13 22:49 ID:???
>>274
わざわざ機能不足な物を知ってどうする?
なにかメリットあるのか?
最新Verでどうなってるかまで知らないし、そこまでわざわざ調べるつもりもない
興味本位なら自分で探せ

そもそも俺が言いたいのは、自分が見たことがない = 存在しない などという傲慢な
考え方はするなって事だ

276 :nobodyさん:02/05/13 23:42 ID:???
>>275
それは機能不足だと思うんですか?
明らかに分析が間違っているのに公開されてるような
イレギュラーなフレームワークを話題に持ち出すのは
どうなんでしょうね。

あと、最後のように間違って解釈される方がいないように
"し得ない"という表現を用いています。伝わらなかったようですが。


278 :nobodyさん:02/05/14 00:47 ID:???
>>276
誰が話題に持ち出してるんだ?

分析云々偉そうなこと言いなさんな、初期のテンプレートエンジンなんざ
全部文字列置換に毛が生えた代物だらけだったからな
まあ、その程度でも十二分に便利な奴もいるし、現在メインで使ってる奴もいる
(間違いなくいる、しかもかなりな数で)所詮は適材適所ってこった

ともかく自分の常識から外れたら全てイレギュラーとは恐れ入った
何に対してもずいぶん自信がおありと見える

微妙にスレ違いだから、お前にはここまで

295 :nobodyさん:02/05/16 14:59 ID:???
>たとえばデザイナーが修正個所まるっと消して、再作成しちゃったら…

WOFだと、どこに何があったはずだからエラーってのが出るよ。
DB連携箇所とかもぬかりなく。
みんな、けっこう原始的な方法使ってるんだな・・・・

298 :nobodyさん:02/05/22 20:56 ID:???
>>295
WOではどうやってHTMLとプログラムの統合するの?

316 :nobodyさん:02/05/26 18:06 ID:???
今Cocoon2を使って仕事している。マジでマンセーだ。WO一時期使ってたが
漏れは今やCocoon2にゾッコンだ。マジで分業が楽だ。新人のド素人使っても
生産性が上がった。漏れはXSP主体で担当しているが、新人にXSLTやらせて
進捗がガンガン上がってる。元々SQL書くのは慣れているので、この点でも
気が楽だな。癖は強いが取っ掛かりが意外なほど楽だったので素人向きかも。
XMLの利点なんてわからなかったが、取り敢えず納期に余裕で間に合いそうなので
Cocoon2最高!って言っておく(w ま、大したアプリじゃないんだがな(藁

317 :nobodyさん:02/05/27 00:06 ID:???
Cocoon2のスレってある?

318 :名無しさん@Emacs:02/05/27 01:14 ID:???
>>316
差し支えない範囲で教えて欲しいんだけど、どんなアプリ?

319 :nobodyさん:02/05/27 01:18 ID:???
XSLTL+XSP、便利だけど、メンテナンスが大変だよ。
担当者が変わったら、理解するのにけっこうコストかかる。

320 :316:02/05/27 01:41 ID:???
>>317
あったらいいな。あるのか?

>>318
ナレッジマネジメントという名の社内掲示板だ(w ageとかつけてやろうか
とか思ったよ。ただ、結構検索機能が複雑なんでその辺がナレッジ????っぽい
ということかな(藁)あと、携帯電話からも使えるようにとか、色々あるので
その辺XSLTを複数用意しておくだけで解決できているのは楽だ。

>>319
何でも一緒だと思ってるから平気。つかWOはJavaやSQLの素人には習得に時間が
かかるのが難点だった。素人ばかりアサインされる漏れの立場からすると、
結構いらいらしたんだよなー。何でわかんねえんだとか怒ったりして嫌われるんだよ。

その点Cocoon2だと「お前XSLTに専念しる!」って可愛いトウシロの新人ちゃん
(マジ、可愛いんだよ)にやらせても、ちゃんと戦力になるのが嬉しい。
そうすると誉めてやれるから良い先輩になれるんだよ。愛が芽生えて欲しいぞ(w
だから今マジで仕事楽しいよ。女の子ってああいう見た目ちゃんと作るの好きジャン。
俺はそういうの苦手だからちょうどいいしな。その女の子同期の子に「仕事楽しい」とか
言うわけだよ。そりゃ楽しいだろう。GIFとか作ってりゃさ。そうすると他の苦しい
プロジェクトにアサインされた子なんかも「いいなー」って良い先輩状態さ(藁)
何がいいって、そういう状態がいいんだよ。技術的なことなんてどうでもいいさ。

あと、基本的にDBはストアド使い倒しているので、XSPの記述はすげぇ少ない。
複雑なロジックはServlet+BeanにしてしまってGeneratorに割り当てたり
GeneratorやActionを自前で作成したりすれば解決だしな。そうすると
XSPに書くことなんてホントにぱっと見て判ることしかないって按配だ。
JUnit使ってちゃんとテストできるし。そもそも俺コード書くの嫌いだし。

ま、単純な掲示板だからな。そんなもんだ。

321 :318:02/05/27 08:05 ID:???
>>320
なるほど。「お前XSLTに専念しる!」ってのはいいかも。オブジェクト
指向の魂いらないし。

漏れ今WO勉強中で結構作業が楽になりそうだと感じてるんだけど、必要
な素養が多いから確かにゼロから学習する人にはキツいね。でも、どっ
かで責任範囲の線引きして素人に作業振れないかな。316はWO使ってる
時どんな作業分担してたの?

366 :nobodyさん:02/09/06 01:37 ID:pfquKKHb
Perlでテンプレートモジュール作りました。
CPANに登録するつもりはないのですが。
ここで公開してもいいですか?

417 :nobodyさん:02/10/13 00:35 ID:???
WebObjectsは、日本では超マイナー製品だからな。
アップルジャパソも積極的に売ってないし、サポートもろくすっぽ無いし。海外ではかなり有名なんだが。
でも、ググってみると、いっぱい情報あるよ。
でも、電話系システムのバックエンドとか、航空管制システムとかで使ってるぞ。
金融会社では、昔ながらのNextStepやらOpenStepなんつー酔狂な環境で、
未だに古いバージョンが動いてるし(藁
"ObjectWeb"なんつー、オープソンースのJ2EE対応のアプ鯖もあったな(藁

とはいえ、マイナー無名製品。
OOPをきちんと学んだ開発者でないと、さっぱり理解できない複雑性をモツ。
つまり、間口が狭く、学習曲線が緩い。
こんな製品が、今の市場にウケるわけがない。

418 :nobodyさん:02/10/13 07:31 ID:???
>417

どこの電話会社や航空管制施設なの?
金融系ってまさか銀行?
恐ろしい企業もあったもんだ。
その例はWOの信頼性を保証するもんじゃなくって、逆にそれをそこまで採用しちゃってる企業の危険度の尺度じゃない?

469 :nobodyさん:02/10/20 17:15 ID:qpipozpW
Cocoonって何がすごいのかよくわからないんだけど、
WO厨なみに製品マンセ-して説明(洗脳?)してくれる人キボンヌ


526 :nobodyさん:02/11/08 23:22 ID:bvtho0Sy
そもそもロジックを書くための言語で
すべてを網羅しようとするからまずいわけで。

ブラウザベースで完璧なMVCを
実現するために、ロジック、コントロール部分は
Java or .NET。ビューにFlashMXはいかが?

Java,.NET以外とFlashMXを連携させるには
HTTPメソッド渡しorXMLソケット通信になっちゃうけど、
とりあえず最低限XMLパースができる言語なら
何にでも繋げる。

問題はパッケージが高いのと、
コーディングができて、かおかつFlash使いな
人が圧倒的にが少ないこと。

なによりいまだに単なるアニメーションツールと
思ってるひとがあまりに多いこと(`д´)






726 :185:2006/03/19(日) 22:40:59 ID:???
私が以前試したやり方はこうです。
1. HTMLに<{title}>のような記述をする。
2. プログラム側で<{title}>を置き換えるためのコードを書く。
3. プログラムにHTMLを読み込んで,<{title}>の部分を置き換える。
4. 出力する。

結局、HTMLは見やすくなりましたが、プログラムの方はわかりにく
くなりました。(ただし、1の言うようなprintの嵐は回避できました)


http://hibari.2ch.net/test/read.cgi/php/990953955/l50人気ブログランキングへ