コンテンツとデザインの分離at PHP
コンテンツとデザインの分離 - 暇つぶし2ch150:nobodyさん
02/03/08 13:17
ほんとに「コンテンツとデザインの分離」がコンセプトならWeb製作板じゃないかなぁ?
ここはどっちかっていうとデザインとロジックの分離のような。

151:nobodyさん
02/03/08 15:48
>>150
禿同。
MVCの三権分立。

152:スズキ
02/03/08 16:02 CkkEnjQA
>>150
たしかに!そのとおりだよね。

「HTMLはHTML、プログラムはプログラムと完全に分離する方法はないものか。」
という部分を読んで、
てっきり、プログラム中にHTMLを書かないCGIに関して話すのかと
誤解してました。

153:nobodyさん
02/03/08 16:16
>>151
Webページはもともと静的なものでは?
[M] → XML
[V] → XSLT+XSLTFo
[C] → ?? スクリプト?UA?

154:三級者
02/03/10 22:07
>>144
> 結局プログラマがデザイナの作ったページと同じ体裁に
> なる HTML を1から組まなきゃいけなくなる。

禿。PerlでもHTML::Templateなんてモジュールあるけど
デザイナがカスタムタグ理解してくれないと労力効率は何も変わらん。

155:nobodyさん
02/03/10 23:06 sQ4r0PjT
結局、EnhdraやWalrusのように特殊なタグなしのテンプレートが正解ってことか。
Zopeも最新バージョンでは似たような方向に行くようだし。

156:nobodyさん
02/03/11 22:29
[M] = Database
[V] = HTML ( + JavaScript)
[C] = Server Side Application

157:nobodyさん
02/03/12 00:07
MVCとひとことで言っても、ControllerがViewのすみずみまで
知りつくしてるやつと、Viewがプラガブルなやつを較べると
相当に趣が違う。
C = App Server だけだとその違いを反映していない。
いかにApp鯖にhtmlの面倒を見させないか、というのを
話しているところにMVCの話を持ってきてもピントずれてる
というか、それだけでは意味ないって。

158:1
02/03/12 11:45 kdCuXako
まだ残ってたのですね…

なんか混乱気味なので、スレを立てた者としてどういう意図で立てたスレなのかを
説明しておきます。(激しく今更ですが)

まず、何度か指摘があるようにロジックとHTMLの分離が正しいです。
とりあえず、コンテンツ = プログラムで吐き出す可変部 という意味で取って下さい。

MVC云々、アプリケーションサーバとは云々というほど規模の大きい話のつもりは
ありませんでした。そこまで話を広げるなら、プログラム板か情報システム板の方が
適切ですね。

せいぜい
「テンプレートっていうかそんな感じの仕組みでなんかイイのない?」
レベルの話です。

デザイナが書いたHTMLをプログラマレベルでがんがん弄っちゃうような環境と規模
(もしくはデザイナ=プログラマ)で、できればオーサリングソフトと相性がいい仕組み
だと便利だよねえ。程度の話のつもりでした。

以上参考までに。

あ、私はSmartyに落ち着きました。Enhydraと格闘してたのは遠い昔…なんであんな苦労を…

しつこいですが、PHP使ってる人「Smarty」イイですよ。相変わらず日本語の情報は
皆無ですが、テンプレートとしての使いやすさはバツグンです。
URLリンク(www.phpinsider.com)


159:三級者
02/03/13 09:01
154でわかるように、うちはHTML::Template使ってます。
あ、デザイナが理解できないちゅーよりオレの説明が下手なのか。

関係ないがデザイナ連中からColdFusion導入しろ、
とうるさくてかなわん。

160:nobodyさん
02/03/13 19:34
ColdFusionしばらく使ってた。
簡単にサイト作るには、CFMLは確かに便利。
しか~し。
きちんと拡張性も考慮して設計したにも関わらず、後の仕様変更と拡張時に、
デザイナ連中とのコラボレートで地獄を見たよ。
CFに限らず、JSPやASP、PHPなんかでも同じだと思うんだけどね。
デザイナが絡まず、サイトの大幅な仕様変更もなきゃ、いいツールだ。

161:nobodyさん
02/03/13 23:23 LkTLC//k
HTML::Templateおもしろいね。
でも、標準的にどこでも手に入る環境じゃないのが辛いなぁ。

162:nobodyさん
02/03/14 00:11
HTML::Template はプログラマにとっては便利だけど、
デザイナは読みたくもないだろうと思うよ。

163:nobodyさん
02/03/14 01:23 Jx+3VC0E
HTML::Templateは、たしかにどこでもインストールされてい
るわけではないけど、展開して置いておけば(つまり make とか
しなくても使えるよ。)
最近のヤツはいろいろ他のモジュールを必要とするので、1.8とか
をいれるとよいでしょう。
基本的なことは、1.8でもできるし。


164:nobodyさん
02/03/14 07:46 nAmAc5Wh
コールドフュージョンはデザイナがコーディングするためのものです・・・。

165:nobodyさん
02/03/14 15:11
>>164
どこの会社?社名出してよ。
もし契約してるとこなら、打ち切らなきゃ。
デザイナにコーディングさせたオナニーシステムなんて、使い物にならん。

166:nobodyさん
02/03/14 15:46 xs367yVo
>>163
1.8ってまだ公開されているの?

167:nobodyさん
02/03/14 23:19 6NMo0mqW
>>166
公開されているよ
URLリンク(www.cpan.org)

ちなみに、最新は2.5です。Perl5.6必須だけど。
URLリンク(www.cpan.org)


168:nobodyさん
02/03/14 23:33 83vwJ138
>>167
Thx!早速落としたよ。

169:nobodyさん
02/03/15 01:50 sSRdthig
レンタル・サーバだから、そういうの使えない…
Smarty も HTML::templateもよさそうだけど。

何か言い方法ありますかね?

170:nobodyさん
02/03/15 02:04
ホームにインストールしる


171:nobodyさん
02/03/15 02:20 sSRdthig
>>170
あ、それでできるんですか?
Smartyも?

172:nobodyさん
02/03/19 22:42 BqZatu5x
テンプレートエンジン用のデザインのテンプレートがいっぱいあるのってあります?
これみたいにテーマがあって変えられるやつ。
URLリンク(curtisonline.net)

PHP-nukeも使いようによっては、いじれそうだけど。

173:nobodyさん
02/03/25 20:03
>>158
PHPのsafe modeを有効にしながらSmarty使う方法はありませんか?

Smartyはtemplates_c/以下にコンパイル後のファイルを置く訳ですけど、
この際に作られるディレクトリが複数階層にわたるみたいで、
これらがsafe modeの制限に引っかかってしまいます。

174:1
02/03/26 11:05 mzbnXmq6
>>173
URLリンク(marc.theaimsgroup.com)
ここで safe mode で検索かけてみて下さい。

おそらく解決方法があるかと思います。

175:173
02/03/26 16:39
>>174
情報thanx

やはり、解決策としては、

1.Smartyを利用するスクリプトの所有者をhttpdプロセスのUIDに合わせる
2.Smartyを利用するスクリプトがある領域だけsafe modeをOffにする。
3.CGIとして利用して、Apacheのsuexecを利用する。

しか無いみたいですね。
で、不特定多数の利用者が自由にSmartyを利用できるようにするためには、
CGIとしてPHPを動かすしか無い、と。

176:nobodyさん
02/03/26 22:34 0DHHOlhe
PHP SiteManagerってどうよ?
URLリンク(www.roadsend.com)

177:nobodyさん
02/03/27 13:10 xBtxtmDD
>>176
見てみたけど、多言語対応してるみたいだし、テンプレート・エンジンもあるね。
なかなかよさげだけど、誰か使ってないの?

178:nobodyさん
02/03/30 22:47
>> 149
興味があり見に行きましたが、まさか Java script が必須とは (汗
いえ、只の愚痴です。すいません。

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

180:nobodyさん
02/04/01 04:24 Hzf2fsPp
HTML::Templateってデザインとロジックの分離ができてないよね。
ループとか分岐の指定をする専用タグがある時点でアウトでしょ。


181:nobodyさん
02/04/01 04:31
それにしてもHTML::Templateはかなり使えると思う

182:Dream ★
02/04/01 06:40
>>181
うん、いい感じですね。
コンテンツ大きいとオーバーヘッドがきつそうだけど、アクセスがそんなに
負荷になっていないサーバだと、大丈夫なのかな?
とにかく、面白そうなものを教えて下さって、ありがとう>All

183:nobodyさん
02/04/01 09:29
HTML::Templateってcgiでしょ?
うちは、/cgi-bin/以下に置かなきゃいけないから、いやん。

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

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

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

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

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

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

187:1
02/04/01 17:11 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 eCkZiEpB
青マンモス本でSmartyがどんなふうに取り上げられてるの?(近くで売ってないので)
Smartyのマニュアル和訳とかしてwebにあげようと思ってたんだけどなー(´д`;)7割はオワッタ


189:nobodyさん
02/04/01 18:55
>>188
おーすげえ。まんせー。

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

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

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

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

191: ◆AngelBlk
02/04/01 23:16
>185
オライリーではなく。
PHP徹底攻略:実戦編のこと。
URLリンク(books.softbank.co.jp)
これ。

昼休みに買いに行ったら、店が休みだった・・・(涙

>188
目次みたら、リファレンスのところにSmartyって書いてあったよ。
でも、使い方和訳したならきぼーん。

192: ◆AngelBlk
02/04/01 23:27
書き忘れ。
PHPusersMLより青マンモス本の目次。

URLリンク(www.geocities.jp)

多分、明日買ってきます。

193:nobodyさん
02/04/02 06:01
>>190
話はずれるけど、DBからデータを取ってくるのとCVSなtextファイルからデータ取ってくるのどっちの
方が早いのかね?

194:1
02/04/02 09:55 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件も検索に引っ掛かってこない現状
は寂しいです。


195:__
02/04/02 10:01 hdBuJcW1
.NETつかえば?

196:nobodyさん
02/04/02 10:11 6uavVYCo
>>194
わざわざコードまでありがとうございます。
これを参考に自分で書いてみます。

Smartyは、もうちょっとwebサイトに色々情報が欲しいなぁ~と思いました。
MLの過去ログを見ても、やっぱりサンプルが足りないと言う人や、Smartyを使っているサイトを
教えてという人や、themeを作ろうなんて人もいました。
色々プラグインなんかもシェアできたら、便利そうですよね?

現在新しいサイトをオープンしているようですね。
URLリンク(smarty.php.net)

日本のサイトを作ったらまずいのかな?




197: ◆AngelBlk
02/04/02 11:34
>196
別にまずいってことは無いのでは?
個人のそう言う動きを制約するものは無いはず。

198: ◆AngelBlk
02/04/02 12:55 QT5eEfAO
昼休みに青マンモス買ってきました。
Smartyは完全にリファレンスだけ(公開メソッドとか関数の一覧)
なんで、>188さんがマニュアル作ってくれたなら是非ともアップしてほしい。

199: ◆AngelBlk
02/04/02 17:35
って連続かきこスマソ。
青マンモス本ですが
Part-1 Chapter-5 Templates
ってのがSmartyの事でした。

でも、本を買えない人もいるし
やっぱ>188さんには公開してほしいですね。

200:nobodyさん
02/04/02 22:29
私も青マンモス本買って来ました。
マニュアルには書いていないことが書いてありわかりやすくて良さそうです。
#まだちゃんと読んでいない。

が、マニュアルのように詳しくないので、どちらも必要と思われます。
>>188さん、私もきぼーんです。

201:188
02/04/02 23:11 R/mGCLUs
>>190
こういう感じの事かなぁ、と憶測で。

例えば、左側にメニューがあって右側その内容が表示されるサイトの場合ですが、
まず全体のテンプレートを用意しておいて、

<!--body.tpl-->
{include file="header.tpl"}
<table>
<tr><td>
{include file="$left"}
</td><td>
{include file="$right"}
</td></tr>
</table>
{include file="footer.tpl"}


202:188
02/04/02 23:12 R/mGCLUs
続き。
PHPスクリプトからは、
// index.php
$smarty->assign("left","menu.tpl");
$smarty->assign("right","welcome.tpl");
$smarty->display("body.tpl","welcome");
として最初のwelcomeページを表示し、

次にメニューをクリック、そのリンク先がnews.phpだった場合
// news.php
$smarty->assign("left","menu.tpl");
$smarty->assign("right","news.tpl");
$smarty->display("body.tpl","news");

というような事が出来ます。

Smartyのキャッシュを有効にしてると、同じテンプレート(body.tpl)からは
キャッシュファイルは1つしか生成されないので、news.phpに行っても
最初に表示されたwelcomeページがまた表示されてしまうんですが、
displayメソッドの第2引数に各ページでユニークなキャッシュIDを渡す事でそれを防げます。


えーと、マニュアルは、もともと公開する目的で作ってたんで。
もうちょっとしたら公開できると思います。

203:nobodyさん
02/04/02 23:22 6uavVYCo
>>201
>>202
すごい!こんなことができるんですね。ありがとうございます。

この方法だと、ファイルオープンの処理をしなくてもOKですねぇ。
ちょっと、コーディングして試してみます!

マニュアル公開、嬉しいです。
#ちなみに、翻訳ソフトに通してから、修正ですか?一つ一つ翻訳ですか?

204:nobodyさん
02/04/03 03:36 w0fKgoFn
>>202さんの通りにやったらできましたー。感謝、感謝。

すごいなsmartyって。

205:1
02/04/03 08:25 n4eJMQ5/
>>201 = 188
うは、そんな使い方出来るんですね!
と思ってよくマニュアル見たらしっかり書いてありましたね。
>>196さんゴメソ。

そろそろスレ違いな感もなきにしもあらずなのでSmartyでスレッド立てようと
思いますがいかがでしょう?

206:nobodyさん
02/04/03 09:52
>>205
べつにいいんじゃない?ネタ引っ張っていけるんだったら立てても。

207:nobodyさん
02/04/03 14:54
>>205 AAの準備は万端です

208:nobodyさん
02/04/03 15:50 w0fKgoFn
>>205
こういう使い方マニュアルに書いてありました?
4回位読んだのになぁ。でも、1さんいろいろありがとう。
CSVなテキストからデータを読むには
>>194なやり方が必要と思われるので。

スレ立て賛成です。
Smarty使いが増えるかも。
Smarty使いって、スマーターって言うのかな?
あー、いやらしい。

209:nobody
02/04/04 15:43
Smartyの話題がでてるけど、、、

漏れも1年ちょい前から同じようなコンセプトで
PHP用のテンプレートクラスを作っています。
Smartyとの共通点は、いったんテンプレートファイルを
PHPスクリプトに変換することです。
Smartyとの違いはHTML側に書く特殊タグの種類を4種類に
限定することによって、デザイナーでもテンプレートを
書けるということです。
最近いろんなかたの助言によってとても安定&高速になってきました。
URLリンク(hoover.ktplan.ne.jp)

210:nobodyさん
02/04/04 18:35
>>209
かなり良さそうです。特にドキュメントビルダーのあたり。

Smartyとのスピード比較きぼーん。

211:nobody
02/04/04 18:44
>>210
現在、ベンチマーク比較のページを執筆中ですが、
単純なHello world 程度の小規模のサンプルで実験した場合、
僕のほうがSmartyの約3倍速いです。
(機能は僕のクラスのほうがシンプルなのですが。)

また、かの有名なFast Templateよりも1.5倍ぐらい速いです。

ベンチマークのページを書き終えたら、また直リンします。

212:nobodyさん
02/04/04 23:43
>>211
返事はやいですね。ベンチすごいですね。大規模はどなんでしょ?
シンプルでとっつきやすいですし、なにより日本語なのがうれしいですね。




213:nobody
02/04/05 01:36
大規模なテストは、それぞれのテンプレートをバリバリ
使いこなしている人に最適化されたスクリプトを書いてもらわないと
テストの意味がないので、僕独りでは難しいです。

ただし、僕の作ったクラスにもSmartyのようにテンプレートを
パースした結果をファイルに保存して2回目以降はパースしないで
済むオプション機能を実装しています。
ので、その機能を使えば大きなテンプレートでも問題なく使える
とは思います。

214:nobodyさん
02/04/05 08:17
>>213
大規模の比較は、一人では難しいとのことですが、開発はどのように行っているのですか?

webページを見ましたが、開発への参加募集はしていますか?
独自MLもないように見えます。PHP-users-MLベースで開発しているのでしょうか?


215:nobody
02/04/07 21:56
コーディングは現在僕独り。その他、パッチを変えてくれる人もいますl
また、罫線案をメールや掲示板でいただきます。
みなさまの協力の上に原始的な手法でかいはつをすすめているところです。

216:nobodyさん
02/04/07 22:27 hI7aRZHK
デザインはFLASHで、テキストはアクションスクリプト、CGI、PHPでという分け方もありだと思いますが、どうでしょうか?
利用されている頻度は少ないですが。

217:nobodyさん
02/04/08 02:53 jy9kIRbx
新しいFlash、悪くないと思うが。
今度クライアントに提案するシステム(イントラだが)は、
インターフェイスを、全面的にFlashで行こうかと。

218:nobody
02/04/08 03:39
自作テンプレートクラス@PHP版のベンチマークテストを取ってみました。

Smarty,Fast Templateよりもはやいです。

URLリンク(hoover.ktplan.ne.jp)


219:nobodyさん
02/04/08 04:12
>>218
ベンチマーク・テストありがとうございます!
すごいですね、これ。僕もsmartyでサイト作っているところなんで、HTMLテンプレート版も
作ってベンチマークしてみよっかなぁ。

220:nobodyさん
02/04/08 04:42
>>218
typoが多いよ・・・


221:nobodyさん
02/04/08 04:50 a4RoISwK
PHPってHTMLに直接コードを書けるのが売りなのに(売りとは思わんが)、
わざわざ言語使用に反して分ける時点でもう破綻しちゃってるよNE!


222:nobodyさん
02/04/08 05:47
PHPは手段であって目的ではないのだから別に破綻していることにはならんでしょう。

223:nobodyさん
02/04/08 06:58
言語仕様を使い切らないと無意味と考えるのは痛いな。

224: ◆AngelBlk
02/04/08 08:42
確かに、初期段階では221が言ってるように
HTMLにコードかけるってことが売りだったかもしれないけど
今となってはそれもどうでもいいような気が。

実際自分がコーディングしてて思うけど
やっぱりデザイン部分はわかれていたほうがやりやすいし。

まあ、適材適所。
当たり前のことだけど、使い分け出来ないやつは氏ってことで。

225:nobodyさん
02/04/08 13:27 +OQca7Zg
>>218
うーん、今のご時世で速さを売りしても余り意味がないような気が…
どのみち機能が増えてエンジン自体が肥大していけば重くなるのは避けられないから
開発途上の今の状態でどれだけ速くても「うん、まあ当然だよね」としか言えない。
そもそもサーバサイドの処理が重くて悩むのって、PHP使ってる向きには少ないと思う。

それよかコードの記述性と可読性が他のテンプレートエンジンと比べてどう優れてるのか
教えて欲しい。
サイトをざっと見た限りでは、Smartyのサブセットの域を出てないように思う。


226:nobody
02/04/09 01:53
>>220
ごめんなさい、いま直しました。
文法のほうについては責任をもてません。MS WORDで単語チェックした
だけです。

>>225
テンプレートの書きやすさが自分のものの特徴と思います。
プログラミングを知らないデザイナーにも5分程度で教える
ことができます。

227:nobodyさん
02/04/09 07:16 GMnXZpQb
age

228:nobody
02/04/09 10:26
さらにバージョンアップして高速になったYO!
URLリンク(hoover.ktplan.ne.jp)

229:nobodyさん
02/04/09 11:26
Smartyもそうなんだが、サンプルがないから、とっつきづらい。

実際の運用サイトの雛型とか、携帯での運用の場合のサンプルとかあると
とてもうれし。

230:nobody
02/04/09 12:09
228ですが、、、サンプルとしてどんなものが適当と思われますか?
例のための例をあげてもなかなかわかりにくいだろうし、
実際の現場で使われているものになると中規模すぎて説明が
大変になります。
悩ましいところです。
僕のサイトでのPEARを使ったリスト表示サンプルはどうですか?
URLリンク(hoover.ktplan.ne.jp)


231:188
02/04/09 12:51
>>229
少し前にSmarty-GENERALで、Smartyを使って制作したサイトの
ソースが公開されてました。もしかしたら参考になるかも。

URLリンク(marc.theaimsgroup.com)


232:nobodyさん
02/04/09 13:38
PHPばかりでつまらんのう、そろそろスレの本題に戻してホスィ

つか、>>228のあからさまな宣伝が鼻につく。宣伝したけりゃ自分でスレ立てれ。


233:188
02/04/09 13:57
>>232
そーいえばここ、PHPスレじゃなかったですね。
やはりそろそろ、「デザインとロジックの分離 with PHP」みたいな
別スレ作って移動しますか?
あ、テンプレートって文字を入れたほうがいいのかも。
どうしましょうか、新スレのタイトル案。

234:nobodyさん
02/04/10 01:30
>>233
テンプレートエンジン(PHP)とか?
話題自体smartyかHTMLテンプレートしかでないから、「smarty と HTMLテンプレート」とか。
デザインとロジックの分離自体あまりしてないような感じだし。

>>232
宣伝でもよいと思われ。それで稼ごうとかでなければ、むしろ歓迎。

235:nobodyさん
02/04/12 11:44
>>234
そろそろ、スレ立てませんか?

236:nobodyさん
02/04/12 12:01 wN+/eHS+
PHP以外で興味がある人が少ないってだけじゃないの?
文句しか言わないでネタ振りもしない>>232に萎え。

237:nobodyさん
02/04/12 12:06
細分化して単発スレばかりになるのもどうかと思うけどな
腐るほどPHP関連のスレあるわけだし

238:nobodyさん
02/04/12 12:56
>237
っていうか、この板相変わらず
人少なそうだしね・・・。

239:nobodyさん
02/04/12 23:35
じゃ、とりあえず、このスレで、テンプレート関係の話をしますか。

「コンテンツとデザインの分離」関係の話は出尽くした感があるし。

240:nobodyさん
02/04/14 21:28
>>231
thanx.
見てみました。さらっと見ましたが、色々なコードがありましたねぇ。
ちょっとどうなってるか、よくわからんので、じっくり見てみます。

241:nobodyさん
02/04/15 01:52
結局、PHPはちょっとしたことには便利なんだけどさ、大規模向きだとツライ。
Perlよりはマシにしろ、メンテしづらいし。

242:nobodyさん
02/04/15 06:31
>>241
そんな時のテンプレ・エンジンじゃないの?

243: ◆AngelBlk
02/04/15 09:59
>241
具体的にどのあたりが?

244:nobodyさん
02/04/24 07:52
>>243
HTMLにプログラム書くところ。


245:nobodyさん
02/05/03 02:55
smarty 2.1 age

246:nobodyさん
02/05/03 15:46
やっと{myfunc}...{/myfunc}みたいなカスタムタグが定義できるようになって
プラグインの幅が広がった感じ。

つーか、2.1.0に対応したほんにゃくマニュアル完成ヽ(´ー`)ノ
近日サイトage。(予定)

247:nobodyさん
02/05/04 00:15
>>246
おおー!期待大。ありがたや、ありがたや。

URLリンク(smarty.php.net) 完成しつつあるage.

248:narucy56 ◆wMOjCT4s
02/05/04 11:08 vTPrP0BI
WEBアプリケーションサーバとしてのWALRUS
URLリンク(www.brain-tokyo.jp)

これはよさげ!!

249:nobodyさん
02/05/04 15:27 d0uaPpR2
>>248
それだけ貼られてもよくわからん
どこがどういいのよ

250:nobodyさん
02/05/04 19:22
>>248
ロクにリファレンスも揃ってないのに『どう』いいんだ?
他スレでもあんたのカキコみるけど、名無しに戻ってほしいコテハンに+1

251:nobodyさん
02/05/04 21:29
>>248
Ruby使えるサーバってあんまりないと思うんだけど、どうなの?

252:nobodyさん
02/05/05 22:19 ITpza3EM
配列の展開だけじゃなく、
条件によってテンプレートの一部を表示したりしなかったりもできるみたいだ。

URLリンク(kari.to)
説明は不親切だが、このデモのソースをよく読んだらわかってきた。
このテンプレート展開のやり方はいいかもしれない。

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

254: ◆AngelBlk
02/05/06 18:00
>253
デザインの変更に対する対応が容易になる。
仕事で明日までにデザイン変えてとか言われると
普通にPHPコード埋め込んでやってると死ぬよ・・・。

255:nobodyさん
02/05/08 12:20
SmartyでPHP-nukeのthemesを使えねーかと思ったことあるんだけど、できるかな?

クリック一つでデザインを変られる…みたいな。

256:253
02/05/10 11:37 49KcfInZ
>>254
PHPでもあらかじめ注意して分けてれば、対応できるんじゃない?
functionとかincludeとかprependとか使えば。
強制的に分離させる(HTML中にはあまり難しいコードはかけない)ってところが
みそなのか?

PHPってもともとHTMLをちょっとだけ変える、とかに向いてるし
Smarty とかは[PHPもどき]にしか思えないんだけど
<?=$hoge ?> が {$hoge} になってるだけ、とおもえた。
HTMLタグの記号じゃないところがみそなのか?

結局 DreamWeaverとかで「プログラム素人にわかりやすく」編集できるようになってないと
分離してもあんまり意味ない気がする(というかプログラマの負担が大きすぎ)

257: ◆AngelBlk
02/05/10 14:19
>256
>結局 DreamWeaverとかで「プログラム素人にわかりやすく」編集できるようになってないと
>分離してもあんまり意味ない気がする(というかプログラマの負担が大きすぎ)
激しく同意。

確かに、Smartyは少し方向性が違うな、と思った。
(少なくとも自分が求めているものとは、かな)

自分一人で作るにしても、テンプレートの方には
出来るだけコードっぽいもの書きたくない・・・。

258:nobodyさん
02/05/10 16:10
Smartyのテンプレート言語って単純じゃないですか?
プラグインによって+αの機能を多く実装してますが、
プログラム的なものは分岐式とループぐらいだと思います。
(これは他のテンプレートエンジンもそうですが)

ロジックが露出してしまいそうな部分は、カスタムタグを提供する事で
対処する事ができます。

#テンプレートに渡された連想配列からツリー形式のメニューを
#動的に生成しようとするとテンプレート側で分岐やループを駆使する事になるので、
#これを何とかするタグが作れないか考案中。


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

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

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

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

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


262:nobodyさん
02/05/11 16:18
Smartyとかの情報ってどこから仕入れてくるの?
みんな何でSmaryの存在を知ることができたの?

どこかにテンプレートエンジンのリンク集があるのかな。

263: ◆AngelBlk
02/05/11 17:10
話がループ気味です。

>262
URLリンク(smarty.php.net)
とか。

あと、割と最近でた青マンモス本にもSmartyの記事あったよ。

264:narucy56 ◆wMOjCT4s
02/05/12 11:17 215DjCeq
ロジックとデザインの分離で、面白いアプローチとしては、


Walrus
URLリンク(210.155.146.159)

拡張タグも何も要らない、普通に書いたHTMLを (属性名 id を利用して)
ロジックから出力された文字列を展開して、表示してしまおうというアイデア。

利点としては、HTML に全くロジックが絡まないので、デザインしやすいという
ことだろうか。

とはいえ、デザイン中に書ける繰り返し要素は、一回だけ。
--

<ul>
<li id=list>さかな</li>
</ul>

def list
[ "たこ", "いか", "めんたいこ" ]
end

<ul>
<li>たこ
<li>いか
<li>めんたいこ
</ul>

---

<li>が一回しか書けないのは欠点だなと思った。



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

URLリンク(hoge.com)
とかの場合

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
>>265
条件分岐や繰り返しのある表現をしようと思うとムリがありますよね。

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

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

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

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

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

269:nobodyさん
02/05/13 20:12
>>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 のまがい物みたいなの使うんでしょ?

270:nobodyさん
02/05/13 20:19
smarty のプラグインで何かおもしろい機能があるのか?

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

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

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

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

URLリンク(www.phpinsider.com)
とりあえずこの辺読んだ方が早い。
読んでも理解できなければテンプレートエンジンのことは忘れろ
お互いのためだ

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

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

272:nobodyさん
02/05/13 21:31
>>271
>裏でどんなSQL投げてるか想像すると吐き気がしないか?

全部モニタリングできるし、必要に応じてカスタマイズもできるよ。
10年以上の実績あるから、信用できる。
そのへんのプログラマにSQL書かせるほうが遙かに吐き気がしないか?

273:nobodyさん
02/05/13 22:16
>>272
詳しくしらんが、NeXT時代から数えても10年以上はいいすぎだろ

吐き気を催すようなSQLしか書けないプログラマにサーバサイドアプリ
書かせるなんざ論外

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


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

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

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

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


277:nobodyさん
02/05/13 23:58
>吐き気を催すようなSQLしか書けないプログラマにサーバサイドアプリ
>書かせるなんざ論外

いい開発者+いいフレームワーク=(゚д゚)ウマー

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

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

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

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

279:nobodyさん
02/05/14 02:01
>>278
オマエモナー

280:nobodyさん
02/05/14 02:13
>>278
>PHPを対象としたものでなければ存在するんだな
あなたが、私がそんなものは存在しないと断定したと勘違いし
テンプレートエンジンの存在を持ち出してきていますね。

変数置換しか出来ない云々、そういう話でしたか?
スクリプト内にHTMLが混入するという話ですね。
それこそ、”誰が話題に持ち出してるんだ?”のような・・・。

#文字列置換はテンプレートファイルに書かれたタグを
#置換するもの。しっかり分担されてますね。

>ともかく自分の常識から外れたら全てイレギュラーとは恐れ入った
あなたが機能不足と判断したのであって、私の常識で言っているのではないですね。
その在り処を知らない、その実装理由も知らない、
ただそうなっていたのを見たことがある、だけでは何の力もありませんよ。
さらに私のイレギュラーの定義ですが、勝手に思い込みすぎですよ。
そんな事いってないですね。

#私が知りたいのは機能よりも、何故そうしたかという理由です。
#もし正当な理由なく、なんとなくそうなったのであれば
#それは一般に公開されるようなフレームワークと呼ぶものではないですね。


281:nobodyさん
02/05/14 08:13
おーまーえーらーちょっと頭冷やしてこい。
で、冷静になってから書き込め。

ただでさえ人少ない板なのに、
これ以上人減らしてどうするよ・・・。

282:nobodyさん
02/05/14 08:53
>>280
( しまった、デムパだったか…
読心術でも使え、と言わんばかりの言葉の(頭もか)足りなさ
ま、何もかもが子供の口喧嘩レベルの後付けなんだろうけどさ

>私が知りたいのは機能よりも、何故そうしたかという理由です。
>>276から↑を推測できる人間がいるのか?
だいたい本当に知りたければ、もっと早い段階でこの言葉がでてくるはず

そもそも大元の「存在し得ない」と「存在しない」じゃ、前者の方が否定の
意味は強いし、より断定的。
>明らかに分析が間違っているのに公開されてるような
これもそう。こういう物の考え方が、根っから染みついてて自覚できない
レベルになってるんだな、きっと

相手が勘違いした。じゃなくて、相手に勘違いさせてしまった。もしくは
自分が間違っているのかもしれない。とは考えられないものかねえ

スレ違いスマソ、もうやめる

283:nobodyさん
02/05/14 12:03
>>271 うーん、smarty で >>269 みたいなの書く場合は

template.tpl 内には
<table>
<!-- {section name=value loop=$osakana } -->
<tr><th>{$namae[value] }</th><td>{$nedan[value] }</td></tr>
<!-- {/section} -->
</table>

こんなかんじじゃない。php直で書くのとあんまり変わらん気がするが。

テンプレートにループとか取り込んで細かく制御しようとすると、
phpプログラマ、HTMLデザイナの他にテンプレートプログラマが必要になるだけで
デザイン変更があった場合に動く人間の数は HTMLデザイナ+テンプレートプログラマで減ってないし
テンプレートプログラマとHTMLデザイナが兼任できれば「コンテンツ(を作る人)とデザイン(を作る人)の分離」
という目的は達成されてるんだが、こんな実装の仕方では、結局PHPプログラマがテンプレートプログラマを兼任するしかなく
そうなるとPHPプログラマの負担が増えている(テンプレート言語を覚えないといけない)だけで、
本末転倒の気がしたから、200超えてからこんな話をしてます

284:nobodyさん
02/05/14 14:05 SWWQgFa+
最初の画面はどう作ってもたいした違いはない。
問題は保守の時。
具体的に言うと

(1) デザイナーが画面イメージのHTMLを作成
(2) プログラマが(1)を表示するコードを書く
(3) クライアントに見せる、文句言う
(4) デザイナーが(1)を修正してプログラマに見せて、
  この通りに直せゴルア!
(5) プログラマはどうする?

これがこのスレのテーマだと思う

○ コンテンツとデザインの分離ができてない

つまり、perlのようにコードの中に(1)のHTMLが分解して埋め込んであるような状態だと、
(2)のコードを修正して(5)のコードにするのが大変
つまり(5)の作業に(2)と同じ工数がかかる

○ コンテンツとデザインの分離ができている

Smartyのようなツールを使うと、(1)の成果物(テンプレート)と
(2)の成果物(ロジックのみのプログラム)がソース単位で分解されている
(2)に手を加えることなく(1)と(4)を入れ替えるだけで作業完了(実質的には工数ゼロ)

「ロジックの修正がなくデザイン面の修正だけする場合にどれだけ楽できるか?」
という評価基準で各ツールのよしあしを評価していけばいいんじゃないの?

285:nobodyさん
02/05/14 17:03
>>282
推測できないだの、言葉が違うだのと言い出しましたか。
肝心なところは無視してるし、もう建設的な発言が出来ない方なのかな?

> >>276から↑を推測できる人間がいるのか?
> だいたい本当に知りたければ、もっと早い段階でこの言葉がでてくるはず

んじゃちょっと、あなたの登場シーンに戻ってみましょうか。
> PHPを対象としたものでなければ存在するんだな、これが
あなたは単にテンプレートエンジンの存在を示しただけですね。
私が実装理由を知りたいという事を早く明かさなかったから
じぶんは勘違いした、とでも言いたげなようですが・・・
もっと早く言ったとして、あなたのこの発言の何が変わったのかなぁ?

単に連続して煽りたかっただけでしょ。後はこのまま消えるなり、
ROMするなり、自由にしてくれてたら別にいいですよ:)
#大人なら、”ここまで”とか、”もうやめる”とかいいながら
#ずるずるレスするのはやめましょうねー。お互いにね;)

> そもそも大元の「存在し得ない」と「存在しない」じゃ、前者の方が否定の
> 意味は強いし、より断定的。
どこで、いつ日本語を覚えたのか知りませんが・・・。
勝手な解釈ですね。どちらがより・・・なんて比較する事自体が
無理って事は、普通、分かりますよね?
それとも、分からないの?

> 相手が勘違いした。じゃなくて、相手に勘違いさせてしまった。もしくは
> 自分が間違っているのかもしれない。とは考えられないものかねえ
>>279 ;)

あと、心配しなくても、このスレの端の人からしてみれば
お互いその”デムパ”というものに十分括られていると思いますよ;)

あー、あと、最後に些細なちゃちゃ入れ。
> 詳しくしらんが、NeXT時代から数えても10年以上はいいすぎだろ
詳しく知らないなら、間違った事をわざわざ言う必要ないですよ。
私もヲカーですが、EOFは10年以上の枯れた技術です。

286:nobodyさん
02/05/14 17:41
>>285
最後にレスした方の勝ち合戦ですか?
あなたの方がだんだん言うことが矛盾してきてますよ。

悪いけど出てって、そして2度と来ないで。
すごく邪魔。

287:nobodyさん
02/05/14 18:23
>>284
>これがこのスレのテーマだと思う

確かにその通りだと思うです。
(3)=>(4) のあと、 (5)の際にデザイナーが
(1)のHTMLを修正するか、(3)のphp/tpl を修正するか

デザイナが (5)時に プログラマが作った(3)のphp/tplを
問題なく修正できるようになってれば解決するわけで

で、じゃあ smarty は ”php 以上に”それができているか?
という視点で見ると、そうでもないように見えて仕方がない
ということを「phpでできるよ派」は言っている

288:nobodyさん
02/05/15 15:21 JcpmR/QY
>>284
そういう状況を考えるとWalrusのようにテンプレートがピュアHTMLで独自タグを
使ってないのが便利そうだな。

> (1) デザイナーが画面イメージのHTMLを作成

> (2) プログラマが(1)を表示するコードを書く
ここでは、(1)にid属性を加えればテンプレート完成
そして、そのテンプレートをデザイナーに渡しておけば

> (3) クライアントに見せる、文句言う

> (4) デザイナーが(1)を修正してプログラマに見せて、
>   この通りに直せゴルア!
基本的には、ここで修正した画面イメージはそのままテンプレートになってるはず
だから

> (5) プログラマはどうする?
何もしないで「もうできるぞゴルア!」 ということになる‥はず‥だが‥ソンナニウマクイクノカネ?

289:nobodyさん
02/05/15 15:44
>>288
その分自由度が損なわれるだろうな おそらく

290:nobodyさん
02/05/15 15:59
micromedia の ULTRADEVELOPER 4 ってどうよ?

291:nobodyさん
02/05/15 16:10
>>288
最後の問題は DreamWeaver や GoLive などのデザイナの使うツールと
デザイナの意識だなあ

> (3) クライアントに見せる、文句言う
ここで「(プログラムが絡んでる)テーブルの色かえろや!」という文句が来た場合、
Walrusだとid (エデイタにはただの属性値にしか見えない)だけ残して色を変えてくれるか? id がとれた、変わったときに警告してくれるか?
smartyとかphpだと、smatyタグやphp(エデイタからはコメントに見える)が、とれたとき、間違った位置に来たときに警告してくれるか?


デザイナが
 編集→ローカルでぷれびゅ→OK
 →でもプログラム部分が壊れてるかもしれないのでプログラマがチェック→結局プログラム組み込み部分組み直したりとか(;´д⊂)

という流れが

 編集→デザイナがアプリケーションサーバを通してぷれびゅ
  →誤作動発見
   →何で壊れてるかわかるので自分で修正→プログラマは何もしない(゚д゚)ウマー
   →何で壊れてるのかわからないのでプログラマに(゚Д゚)ゴルァ!!
     →これくらい覚えろや(゚Д゚)ゴルァ!!→デザイナが覚えて直す
  →うまく動いた→プログラマは何もしない(゚д゚)ウマー

となる機能と、デザイナにちょっとくらいは覚える気力が備わっていると、まだましかも

あと、テンプレートの編集が他のページにも影響する、と言うことを理解して
デザイナがデザインしてくれるか? とか

DreamWeaver超デブならアプリケーションサーバでプレビュが簡単にできるのかな?


292:nobodyさん
02/05/15 16:46
>>291
> Walrusだとid (エデイタにはただの属性値にしか見えない)だけ残して色を変
> えてくれるか? id がとれた、変わったときに警告してくれるか?
CSSでidを指定して特定のタグにstyleを指定することができるはず。
だから、エディタが勝手にidを変えたり取ったりしちゃいかんと思う。

>  編集→デザイナがアプリケーションサーバを通してぷれびゅ
>   →うまく動いた→プログラマは何もしない(゚д゚)ウマー
こうならなきゃエディタのバグと言っていいのでは?

293:nobodyさん
02/05/15 18:19
>>292
> >  編集→デザイナがアプリケーションサーバを通してぷれびゅ
> >   →うまく動いた→プログラマは何もしない(゚д゚)ウマー
> こうならなきゃエディタのバグと言っていいのでは?

なかなかねえ
たとえばデザイナーが修正個所まるっと消して、再作成しちゃったら…
…なんてこともあるから、ツールが全てを解決できるわけじゃないだろうし
そんなところまで面倒みるようなツールは逆に使いにくいでしょ

テンプレートを理解してくれるデザイナーと仕事をすればいいだけの事
テンプレート専用タグよりCSSのほうがずっと難解だもの、理解できないわけがない


294:nobodyさん
02/05/16 11:31
>>293
>たとえばデザイナーが修正個所まるっと消して、再作成しちゃったら…
テンプレートの編集不可部分かパラメータの定義部分に、
「そのページにはこの独自タグ・機能・パラメータが使われてるはず!」っていう設定ができて
実行時(ぷれびゅ時)にはずれているとエラーが出る機能があるとイイかも

>テンプレートを理解してくれるデザイナーと仕事をすればいいだけの事
それはそうだがなかなか...CSS とかも専用エディタとかあるからな...理解してるとは限らん

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

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

296:fbfhjq
02/05/17 13:20
夜逃げしたい?
金欠?
ブラック?
別れさせたい?/騙された?/不良債権・名義貸し?
トラブル各種は相談してくれ。
(有)エスアールエー/0120-0120-49
info@sra-japan.com


297:nobodyさん
02/05/22 20:49 7i+05eoy
スレとはあんまり関係ないかもしれんけど、ナビゲーションで

<A HREF="index.html">HOME</A>
<A HREF="menu1.html">MENU1</A>
<A HREF="menu2.html">MENU2</A>

みたいなのがある。で、DW のライブラリとか使ってコピペするわけだが、

「Homeのページ内ではHome部分、Menu1 に来たときは Menu1の部分の色変えてね」
とかいう要求が結構ある

すると、
<A HREF="index.html">HOME</A>
MENU1
<A HREF="menu2.html">MENU2</A>

とか
HOME
<A HREF="menu1.html">MENU1</A>
<A HREF="menu2.html">MENU2</A>

とかなって、パーツ化できない


テンプレートとかでこういうのをカンタンに解決してくれる方法はない?

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

299:nobodyさん
02/05/22 21:08 YVZelF47
>>298
そこがWOのいいところ

自分で調べて比較しないと分からないとおもうよ

ASPやってるから泣きそうです
WOをしったしってしまったばっかしにJ2EEやASPが面度さくさくかんじます

300:nobodyさん
02/05/22 22:25
>>297
Javascriptなら簡単とか言ってみる。

301:nobodyさん
02/05/23 02:32
>>300 どうすんの?

302:nobodyさん
02/05/23 04:19
>297
色を変えるだけなら
スレリンク(hp板:36-43番)

303:nobodyさん
02/05/23 11:51
>>302
ありがとー
CSS使うやつはページ数増えてくるとかなりつらいかな。
クライアントの処理的にどうだろ

perlスクリプト使えば! って話が上がってるけど、具体的な内容を知りたい..

304:nobodyさん
02/05/23 15:20
>>301
DOM

305:nobodyさん
02/05/23 23:51
WOでの開発方法や技術資料は、ここみればおおよそ理解できる。
URLリンク(www.apple.co.jp)

んで、WOはMacでしか動かないクソアプリでなくて、
開発はMacとWinNT/2K/XPでできて、運用はWO-DeploymentとJava2VMがあればOK。

>>299
確かに、WOのWOFとEOFなんかを知ってしまうと、JSPとかPHPなんかでUI作って
SQLをシコシコ埋め込んでるのがバカらしくなるよな。
EJBなんか手間ばっかくって、開発者泣かせのウンコチンチン。
Struts? ハァ?ゴクローサンって感じになる。

306:narucy56 ◆wMOjCT4s
02/05/24 07:16 DidxxJnT
>>306

確かにな。Web プログラミングなんて、そんなもんだ。
自動化できる部分は沢山ある。

Struts もなんだが、(Struts の設定関連ファイルの雛型作るツールがいくつかあって)
柔軟性を保ちつつも、開発の自動化も進んでくるんじゃないかと思う。


307:nobodyさん
02/05/24 08:47
>>285
> あー、あと、最後に些細なちゃちゃ入れ。
> > 詳しくしらんが、NeXT時代から数えても10年以上はいいすぎだろ
> 詳しく知らないなら、間違った事をわざわざ言う必要ないですよ。
> 私もヲカーですが、EOFは10年以上の枯れた技術です。

EOFはその前身のDBKitまで戻っても、発表は92年8月。
10年近いことは確かだが、以上ではない。
ちゃんと正しいデータを書かないと本当にデムパ扱いされちゃうぞ。


308:nobodyさん
02/05/24 10:02
>>305
WOFとかEOFってなんのことかまったくわからなかったけど、WebObjectsのことだったのね。
こんなツール存在すら知らなかった。サンクス。

結構よさげなんだけど、マシンパワーガシガシ食いそうでちょっとこわいかな。
TrialCDの配布が終了してたけど、また配布してくんないかな。
試してみて自分に合えばぜんぜん出せる金額なんだけど、いきなり買うにはちょっとたかいなぁ。


309:nobodyさん
02/05/24 11:23
>>308
ポケットマネーでなんとか個人でも買える金額だよね。
2年前くらいは、同じモノが¥700万だったんだよ。
99%OFF・・・・・

310:nobodyさん
02/05/24 13:25
>>309
どうもいい加減なことを書くやつが多くてかなわんな。
700万だったのは無制限アクセスの運用ライセンスだけ。
開発ツールは20万くらいで買えた。それでも今の方が安いけど。
普通に稟議書書いてなんとか通せるくらいの金額だ。

311:nobodyさん
02/05/24 13:31
>>308
Mac版だったら、タダでTrial版がダウンロード出来る。
でもその文章の感じじゃ絶対マカーじゃなさそう..。

312:nobodyさん
02/05/24 13:56
>>310
あんたのほうがいい加減なこと書いてるよ。
「同じモノが」って言ってるわけで、今売ってるモノは無制限アクセスの運用ライセンス込み。

313:nobodyさん
02/05/24 16:59
>>311
> 試してみて自分に合えばぜんぜん出せる金額なんだけど、いきなり買うにはちょっとたかいなぁ。

というようなことを言う人が、無制限運用ライセンスを欲しがってると判断する方が変だ。
ちょっと試したいときの値段と、昔の700万を比べてもナンセンス。


314:nobodyさん
02/05/24 17:07
それから、WOでロジックとデザインの分離が完璧に出来る、という話は
良く聞くしここにも何人か書いてるひとがいるけど、実際にWOで開発
やってる連中のコードのぞくと、全然それを実践していないことが多い
ってのも一応指摘しておく。
他よりは数段マシなのかも知れないけど、ツールは万能ではない。
だから、WO使ってコードとデザインを分離してるとは言いながらも、
どうやって分離を実現しているのか? をちゃんと説明出来ないと
いまひとつ引きが弱い。
ケンカを売ってるわけではなくて、自分でもどうするがベストなのか
決められないから悩んでいるわけだが。


315:nobodyさん
02/05/24 18:49
目的と状況によりけりってとこなのかな。
WOも他のツールも、所詮は道具でしかないからな。

とはいえ、OOPをきとんと理解できてないとWOを生かせないし、
他のツールでやってた人間が初めてWO使うプロジェクトに投入されたら
それはそれで地獄だろうな。

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

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

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

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

320:316
02/05/27 01:41
>>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
>>320
なるほど。「お前XSLTに専念しる!」ってのはいいかも。オブジェクト
指向の魂いらないし。

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

322:nobodyさん
02/05/27 09:11
たしかに、XSLTというコンセプトが発表されればだれでも考えるんじゃ、
ってくらい自然ななりゆきだし、理解しやすいのかもなー。

323:nobodyさん
02/05/27 10:54
お前XSLTに専念しる!」ってのは、いいかもな。プロジェクト運営には。
成果物って点では疑問だけど。
なぜなら、うちとこにXML+XSLTで組み上げたクソシステムが転がってて
だれも、メンテできないから(泣)

324:316
02/05/27 11:26
>>321
作業分担は、結局アプリの機能単位になってしまってたな。最初はWOF隊と
EOF隊とかって感じで分けようとしたりしたんだが、なかなかしっくりこなくてなー。
WO半年くらいなので試行錯誤だったから、俺がヘタレなんだと思うけど
「分離」は上手く出来ても「分業」という風にはし辛かった。
何というか便利なんだけど、周囲と分かち合い辛かったな。WOのせいと
いうより俺の力不足だけど。

>>323
XSLTそのものは確かに見通し悪いよな。でもそれは複雑なデザインのHTMLなら
どんな道具を使ってもぶつかる問題だから割り切ってる。
Cocoon2だと、ロジックはXSLTから完全に追い出せるから分業ができる。
それにGoLiveでXHTML作って、ちょちょって変更するだけなので作業させやすい。
入門書も多いし。

・・・あと、Cocoon2の最大のメリットは、ローテクだってこと。要素のそれぞれ
(XML,XSLT,SQL,Javaなどなど)について、入門書とか多いじゃん。それを
読んで割とそのまま実践しやすいんだよ。Cocoon2自体はノリ付けの役目が
殆どだから。WOはハイテクなんでな、パイロット育成に時間がかかるんだよ(w
対してCocoon2独自の技ってのは意外と少ないし、必要ならオープンソースだから見れば判る。
結構ソース綺麗だしな。Cocoon2独自のスキルを改めて習得する必要が少ないってのが
ポイント高いところかな。実際3人組でやってるが俺以外は全然Cocoon2知らないし。

Cocoon2は、デザイン(XSLT)、コンテンツ(XML)、ロジック(XSP)に分離して、かつ
それをSitemapで組み合わせていくというのが秀逸。Sitemapがなかった1.xのころは
こんなの使えるか!って感じだった。Sitemapはホント素晴らしい。おかげでダミーの
XMLを作成しておいて、XSLTを先に作らせといて、あとからSitemapで切り替えるだけで
完了!ってのが便利だな。

ちなみに俺はWO好きだ。便利だと思う。特にEOFはマジで感動した。
俺はSQL10年以上やってるから書くのは苦にならないんだが、それでもEOFは
いいと思ったよ。2chも随分参考にさせてもらったし、感謝してる。
だけど素人ばっかり使ってると教えるのにへこむんだよ。まぁ俺とは相性が
イマイチだったってことなのかもな。俺は頭悪いから単純な奴の方が
やりやすい。

ま、そんことより、残業が減った分プロジェクト予算に余裕が出来たから
結構後輩と飲み会できるって方が、俺には嬉しいよ(藁)

325:narucy56
02/05/28 03:35 R/0H6IB3
WALRUS
URLリンク(walrus-ruby.hoops.ne.jp)

フツーの HTML 文章からリストを展開するというアプローチ。

326:nobodyさん
02/05/28 04:37
> 結構ソース綺麗だしな。
Apacheの連中のプロダクツって、なんか姑息なワザが多いような気がするのは
漏れだけだろうか。ま、そうしないとたちまち遅くなってしまうというのはあるが。


327:nobodyさん
02/05/28 05:33
(´-`).。oO(でも、mod_autoindexは簡単に全体のデザインを変更できるようにしてくれた方がありがたい……)

328:nobodyさん
02/05/28 11:23 TpvqXC+o
>>246
先生! Smartyの日本語マニュアルはどうなってしまったのでしょうか?

329:318
02/05/28 16:35
>>324
> 作業分担は、結局アプリの機能単位になってしまってたな。最初はWOF隊と
> EOF隊とかって感じで分けようとしたりしたんだが、なかなかしっくりこなくてなー。
> WO半年くらいなので試行錯誤だったから、俺がヘタレなんだと思うけど
> 「分離」は上手く出来ても「分業」という風にはし辛かった。
> 何というか便利なんだけど、周囲と分かち合い辛かったな。WOのせいと
> いうより俺の力不足だけど。

> ・・・あと、Cocoon2の最大のメリットは、ローテクだってこと。要素のそれぞれ
> (XML,XSLT,SQL,Javaなどなど)について、入門書とか多いじゃん。それを
> 読んで割とそのまま実践しやすいんだよ。

すごく参考になった。ありがとう。
漏れも半素人との分業が多いんで、そのうちCocoon2も調べてみるよ。
WOを使うとしても、よくよく分担の仕組を考えないとまずそうだね。

330:316
02/05/29 01:43
>>326
そういうのまで含めて、漏れには参考になってる(w

>>329
Cocoon2の問題は、このスレでも出てたがXSLTの記述を簡単にできる
GUIのツールがないことだな。GoLiveやDreamweaver単独ではムリなので
自前でスクリプト作るとかTidy駆使するとか工夫は必要だ。どれも
ローテクだけどな。でも調べる価値は充分あると断言するよ。
まぁひまなときにでも触ってみてくれ。XMLPRESSのVOL.6に記事が載ってたよ。

331:nobodyさん
02/05/29 02:59 fN9RbxN4
cocoon1.xは昔使ったが、レスポンスがなんか一呼吸ある感じで、
アクセスの多いサイトとかだとどうかなーっと思った。

332:316
02/05/29 03:40
>>331
1.x1はDOMベースなので遅かった。2.0からはSAXで書き換えられたので
随分と改善されたよ。

333:nobodyさん
02/05/29 20:14 fktfuQY8
299だけど
プロジェクトを構成する人間がどれだけ
ロジックとコンテンツを分離することが重要か理解できていないと(考えてないと)
どんな言語 ツールを使っても意味ないと思うよ

けいけんだんから

334:316
02/05/30 00:17
>>333
禿同。

335:nobodyさん
02/05/30 01:33
豚に真珠、猫に小判とは、そゆことを言うんだな。

336:nobodyさん
02/05/30 03:02 eC70WsjL
Cocoonって実務で使えるレベルなのか・・・(?

337:nobodyさん
02/05/30 04:24 eC70WsjL
亀レスなんすけど、デザイナが書くべきtemplate(html)ファイルの中に
条件式書けたらmvcじゃないっすよね。←理想論かなぁ
なんか利便さを求めると本末転倒のような。
それだったら別にphpの内部に処理書けばいいわけだし。
(←別ファイルとしてincludeするとか
ブラウザでテンプレートhtmlファイルを閲覧できた方がいいですよね。

>187
のような場合は.phpのスクリプト側でヘッダーファイルを読み込んで
テンプレートエンジンに渡した方がいいのかな、と思うのですが。原始的だけど。
smartyの場合、テンプレートがphpファイルとして解釈される(>38)らしいので
また違うのかもしれませんが。
仕様としては面白いけど、そもそもな、、、気も。
includeをテンプレートでする(control)とか。

全くプログラマよりの仕様であることは確かだと思います。

将来的にはXHTMLで独自タグ(コントロールとして規定するなり)
を使うってのがいいような気がします。
phpにはもうちょっとdom関数成熟して欲しいですが(4.2.xでまた結構変わった

まぁ、ぶり返すようで、当たり前でアレですが。

338:318
02/05/30 07:24
>>333
「プロジェクトを構成する人間」が複数の技術者を指してるなら同意。
デザイナを含んでるなら、違うと思う。

339:316
02/05/30 09:17
>>336
実務で使ってるよ。実務にもピンからキリまであるから案件に
合うものを選んで使えばいいと思う。

俺はLinux上のBlackdown製JDK1.1でJservってころからでかい案件
やってきたので、そのときの不安からするとCocoon2はすごく安心感ある。
Cocoon2は確かHPのAP鯖にも組み込まれてるしな。

340:nobodyさん
02/05/30 14:38
>>339
>>336じゃないけど、サンクスコ。かなり興味が湧いたよ。
Jservより安定してるならいいかな。
(じつはまだJservの動いている鯖管理もしてたりする)
教えて君で申し訳ないけど、これからCocoonを導入しようって時に役立つ本とか
資料ってある?

341:316
02/05/30 18:47
XMLPRESSのVOL.6がまずは参考になる。
本文の最後に参考文献が載っているので、これも網羅すると良い。
あと翔泳社の「Javaプログラミング集中講座サーバ編」っていう
ムックがあってその中に記事があるのでこれも参考になる。
それくらいしか日本語の書籍ベースでの情報はないかな。

あとは下のところにも行くと良い。

Cocoon Information
URLリンク(www.emergence.jp)

cocooncenter Home
URLリンク(www.cocooncenter.de)

ドキュメントは当然英語だが頑張って読破すべし。
あと意外なところで、ソースの中のコメントにサンプルがあったりするので
積極的にソースコードは見たほうがいい。2.0.1では動いていたサンプルが
仕様変更で2.0.2で動かなくなってたりするのだが、コメントを見るとしっかり
修正版の記述方法が書いてあったりする。

ってなところだ。

342:316
02/05/30 19:14
>>340
補足しておくと、Cocoon2自体はAvalonベースのフレームワークだが
実行にはServletコンテナが必要になる。実際にはcocoon.warで配布されている。
だもんで、安定性という点で言うとコンテナに左右される点があることは
予め承知しておいて欲しい。俺はTomcatを使ってるが、Tomcatを信頼できると
言えるかどうかは案件次第だしな。他のAP鯖でも使えるはずだし、その辺は
自分の都合に合わせてくれ。

343:nobodyさん
02/05/31 00:37
php屋とjava屋とWOマンセーなマカーとRuby好き、cocoonの虜が入り乱れてるな、
ここは(w

344:316
02/05/31 00:51
>>343
そうだな(w だが俺はCocoon2よりも可愛い新人の虜だ(藁)

345:316
02/06/02 03:03
>>330
自己レスだが、XSLTをGUIで作成できる便利なツールがあった。
商用なのだがXMLSpyというのがある。これのSuiteの中に含まれている
XSLT Designerというのがいけている。早速購入申請をしようと思ってる。
お試し版をDLしてチュートリアルをやっただけだが、エディタでガシガシ
からはおさらばできそうだ。日本語版もあるらしい。

346:nobodyさん
02/06/13 15:18 yNmFMLOL
age

347:nobodyさん
02/06/13 19:24 ayuV0hwK
316は、マジで羨ましいYO!
セクースできたら写真ウプしてくれYO!

348:316
02/06/18 00:22
>>347
セクースは難しいと思われ。マターリ逝くよ(w

さて、新人娘担当分のXSLT全部終わっちゃったよ。テンプレートの
使い方をマスターしたら、何気に工夫し始めた。偉いな、うんうん。
おじさん嬉しいよ。

なので検索処理の手間のかかる部分以外は、一通り動いちまった。
予定では何だかんだであと1ヶ月くらいかかるかと思ってたので
すごく気楽になった。久々にのどかな感じだ。

349:nobodyさん
02/06/18 10:16
Webアプリで、テンプレがXML+XSLTで作られてる時って、
テンプレ部分のデバッグってどうやんの?

350:316
02/06/18 15:26
>>349
テンプレートがXML+XSLTってのが今ひとつ判らないので外したらスマソ。
ページのヘッダとかフッタをXML+XSLTで作成している場合、ということかな?
だとしたら個別に作成しておいて、includeやcall-templateなどを
駆使するという感じで対応できる。

で、デバッグというのが良くわからんな~。どういう状況?
ちなみに、XSLTUnitというのが(俺は使ってないが)バージョン0.0.1なんて
レベルだがあることはある。これもテンプレートを活用したものだ。

351:nobodyさん
02/06/23 03:18
このスレは、やっぱりプロの人のスレなのかね。

あの、そろそろテンプレートエンジン用のスレ作りませんか?

あと、smartyの和訳はいずこへ…

352:nobodyさん
02/06/23 13:31 AV3cblpq
>>351
>そろそろテンプレートエンジン用のスレ作りませんか?

いらないよ。そんなもん。
テンプレートなんて、HTML 吐き出す関数を書けばいいだけやん。単純極まりない。
単純なら単純なまま、そう作ればいいと思う。

353:nobodyさん
02/06/28 20:41 lD5j6FWe
>>351
立てて立てて。
この世界、大は小を兼ねないからね。
延々とAPサーバ系の話されてても参考にすらならない。

>>351
単純な物ほど奥が深いと思いねえ。


354:nobodyさん
02/06/28 22:29
>>350
スレたて賛成
私はHP制作のプロじゃなくて、個人HP作ってるだけなので、APサーバの話しはよくわからなかったです。
なので、別スレがあった方がありがたいっす。

>>351
smartyとか、かなり複雑になってきてると思いますけど。


355:nobodyさん
02/06/29 12:40 QOFblC9h
>>354

複雑なものは使う価値なし。というか元々PHPなんて使う価値なし。

356:nobodyさん
02/07/01 20:10 vc/YDHho
Smartyをsafe mode onで使っている人いますか?
SmartySingleDir.class.php 以外に方法ってないんでしょうか?

357:nobodyさん
02/07/10 01:26 Bf103iyC
これよさげ
URLリンク(www.fk.urban.ne.jp)
PHP4カスタムタグ

358:nobodyさん
02/07/14 20:17
>>357
PHP本体にその機能が組み込まれてくれたらいいのにね

359:nobodyさん
02/07/23 13:08 o6Uqr4Ab
Ruby用のテンプレートライブラリ
URLリンク(kari.to)
URLリンク(kari.to)

誰かPHPで同じことやってくれんか?

360:nobodyさん
02/07/29 14:53 ZmYJlXK3
いつのまにかSmarty2.2.0出てるage

URLリンク(smarty.php.net)

361:nobodyさん
02/08/04 20:32
ageeee

362:nobodyさん
02/08/11 12:51 R3Ij6n7j
いつのまにかSmarty2.3.0出てるage

URLリンク(smarty.php.net)

363:nobodyさん
02/08/11 18:13 Ms7aTxrB
つきあってられん。

364:nobodyさん
02/08/14 11:15 bYkAqAae
Servlet,JSPで携帯サイト作るとき、ロジックとデザインの分離って
できますか?

コントローラのServlet用意して、データのBeanをセッションに放り込んで、
JSP側で拾うってことができないから、やぱJSP側でロジックのクラスを
呼び出して、ページリンクは、JSPに書くというモデルにならざるを
得ないんでしょうか?(URLのセッション変数は使わない仕様)

※何気のこのスレ良スレ。


365:nobodyさん
02/08/28 13:35 pGZkk2O6
>>364
>やぱJSP側でロジックのクラスを
>呼び出して、ページリンクは、JSPに書くというモデルにならざるを
>得ないんでしょうか?

RequestDispatcher::forward とか

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

367:nobodyさん
02/09/06 03:25
>>366
罵倒されるか、厳しいつっこみが入るか、まったく無視されるか、称賛されるかは
わかりませんが、問題はないでしょう。

368:nobodyさん
02/09/06 05:25 SwN4wAbM
perlerじゃないが期待あげ

369:366
02/09/07 06:48 UExbT08M
まだドキュメントを作ってないので簡単に作ってから
公開しようかなと思います。

370:X ◆japan/wc
02/09/07 16:46
>>364
HTMLテンプレ読みこんで置換して吐けばいいだけなら何ででもできるだろ。

371:nobodyさん
02/09/07 19:28
>>366
HTML::Template との違いを述べよ。

372:nobodyさん
02/09/07 20:57
>>371 禿同
<TMPL_LOOP>
<TMPL_INCLUDE>
<TMPL_IF>
さらにステキ機能を持ってるなら期待


373:366
02/09/08 20:33 CI7/kLe9
今回作ったテンプレートモジュールを簡単に説明します。
名前は、Tmpl.pmです。
基本的には テンプレート側に%hoge%のような変数を埋め込み
それをプログラム側で置換します。

あと、
<!--#cut name="hoge" -->
<!--#cutend -->
というタグに挟まれた部分を切り取り部品として使います。
ループや分岐処理させる為のタグです。


374:366
02/09/08 20:34 CI7/kLe9
HTML::Embperl派の人達を取り込むための「媚び」として
テンプレートにPerlの変数を埋め込めたり、
<!--#perl -->
<!--#perlend -->
というタグの中に直接Perlのコードを記述できたりします。


375:366
02/09/08 20:38 CI7/kLe9
おまけ機能としては、

テンプレートで外部ファイルや画像ファイルを読み込んでいる場合、
それらのファイルとテンプレートとCGIファイルが同じフォルダに
ある場合は問題ないのですが、別のフォルダにある場合、
CGIで出力する際にそれらのファイルへのパスが変わってしまいます。

そのためにパスの置換処理もできるようにしておきました。


376:nobodyさん
02/09/09 00:13
>366

php版がほすぃyo!

377:nobodyさん
02/09/09 00:16
コードをアップしてから説明すれ
絵に描いた餅ウザイ

378:nobodyさん
02/09/09 01:16
<BASE HREF=''>でもよさそうだが375の機能はいいかも
374はデザインとコード分離したい手前嫌だな
cutしてテンプレートをブロックに区切って扱うちゅうのはわかるけど
HTML::Template使ったことある?

379:nobodyさん
02/09/09 23:32 IgslT6n4
phpの話だけど、php-mlでテンプレートの有用性の話題が出てるね。



380:366
02/09/10 23:45
今日まで仕事が忙しくてまだドキュメント作成できてません。
モジュールだけアップして「解析すれ」というのも
無責任なんでちゃんとやってからアップします。
しかも明日から海外旅行に行くので17日までは
手をつけられません。ごめんなさい。


381:ネラ
02/09/11 12:02 ucHxsRkV
>>372

その3つともあるよ。「4D」というWebアプリケーションサーバだけど。
www.4d.com


382:nobodyさん
02/09/11 22:58
ドキュメントいらんよ。コードだけ見せれ。

383:nobodyさん
02/09/13 14:20 iLAw4QWK
URLリンク(www.pm9.com)

384:hoge
02/09/13 15:13 QIoL0ggW
>>382

例1)ループ
<!--#4DLOOP arrProduct-->
<tr>
<td>hoge</td>
</tr>
<!--#4DENDLOOP-->

例2)SSI
<!--#4DINCLUDE MyHeader.html-->

例3)条件分岐
<!--#4DIF $Var='hoge'-->
<H1>逝ってよし</H1>
<!--#4DELSE-->
<H1>イイ!</H1>
<!--#4DENDIF-->


385:nobodyさん
02/09/14 06:48 TjmGHZ9+
やっぱ amrita が一番使いやすいなぁ。

386:nobodyさん
02/09/14 11:13 R4eRML0P
>>385
実際に使ってるの?
レポートきぼん(特に性能)

387:nobodyさん
02/09/14 19:12 TjmGHZ9+
速いかどうかはベンチ取ってやってみては。

(データをどっかから取ってきて html に変換して、public_html へ放り込む
バッチを作った程度。そういう処理を定期的にやる)

書きやすさでは一番だし(デザイン担当の人にとっても楽)、
ruby で書いていけるのはいい。


想像では、CGI で使うのはちょっとメモリがもったいないかなという気がする。
メモリ上に構築したハッシュをドンと渡してやるだけだから。

web サーバとの関係も考えつつ、amrita 使わず、eruby を使って、
イテレータで少しづつ渡していくように作ったほうがいいと思う。

388:nobodyさん
02/09/14 19:39 TjmGHZ9+
>想像では、CGI で使うのはちょっとメモリがもったいないかなという気がする。

と、思ったが、すぐ開放してくれるもんだし、気にしなくてもよいかな。

389:nobodyさん
02/09/14 22:16 jEvDqaSB
>>387
Enumerableなオブジェクトをモデルにしてコンパイラを使うと
メモリは1行分だけしか使わないよ

require 'amrita/template'
t = Amrita::TemplateText.new '<ul><li id=list></ul>'
t.use_compiler = true
t.expand(STDOUT, {:list=>STDIN})

これを実行すると、端末から1行入れるとすぐにその行を<li>つきで出力する
だから、必ずしも全部メモリに展開するわけじゃないと思う

390:nobodyさん
02/09/15 06:40
>>384
だれも4Dのことは聞いてないよ。
なおかつ、 HTML::Template でそれは出来るんだから、それ以上の何かが
ないと使えないよ、って話なんだが・・・


391:nobodyさん
02/09/15 21:49 bpMuztdb
>>389

マジですか。たいしたもんだ。

392:nobodyさん
02/09/15 21:53 9W83Zx8U
良かったらうんこ板に遊びに来てくださいです。。
URLリンク(jbbs.shitaraba.com)

393:りお ◆/OjWxByc
02/09/15 22:09 tnovrUBN
漏れはWebObjectsマンセーなんだが、WebObjectsもイイところばっかしだけど、
悪いところもいくつかある。

EOFはSQLをほとんど意識しなくても良い便利極まりないフレームワークだけど
ちょっと凝ったレコードセット(EOっていうんだけど)の操作が必要になると
SQL書いた方がはやかったりもする。メンテ性を全然考えなくても良いような
システムでも同じでしゅ。あと、DBに強く依存するような機能を利用したい
場合も、ちょっとしたバグのおかげで使えなかったりするから、、とこれは
将来のバージョンアップで期待か。

他のアプリケーションサーバーではセッションフェイルオーバーが
標準で実現できているけど、WebObjectsは実現されていない。もっとも
プログラミング次第で実現できるのだけど、ちょっと面倒。EJBや
JSPなどとの連携もとれるようになったのも、EOFやWOFというテクノロジーが
あるのに何で連携しようとするん?と少しクビをかしげるときも(でも
冷静に考えると、あー、なるほどねと政治的背景をも少し感じるときもある)

WebObjectsは重いというイメージがあるけれど、決してそんなことはない。
PentiumIII-800Mhzで512MRam の赤帽Linuxで色々とアプリを動かしているが
スカスカうごく。レスポンスが重いと嘆いているのは、そりゃ作ったプログラマの
ウデが未熟だってぇことだ(←偉そうに(;´Д`) 

なんか、微妙にすれ違いでスンマソン。ウチの会社ではデザイナには
WebObjectsで使うタグは<WEBOBJECT> </WEBOBJECT>だけだから、そこらへん
を少しだけ意識してください、と連携とってます。CVS使ってますけど。
WebデザイナはWebObjectsとプログラムがどいうカンジで動くのかを少しだけ
勉強してるだけです。



394:nobodyさん
02/09/16 05:58
おお、りおサソ降臨してるしw

395:nobodyさん
02/09/17 21:33 Zw7x1lTe
<age>


396:あぼーん
あぼーん
あぼーん

397:nobodyさん
02/09/21 02:17 fER+Pudx
ロジックとデザインの分離を語るとき、デザインには
ロジックはかかないが、代わりにロジックにデザインが入り
こんでいたりする。

デザイン主体で見るなら、少々ロジックが入り込んでも、
デザインは一つのファイルで完結したいなと思う。
どうせDreamWeaverとか使えば、コードを省略してくれたり
するわけだし。

なんもないデザインで、<TD>データ</TD><TD>データ2</TD>
ぐらいなら、ロジック側に入り込んでも影響ないけど。


398:nobodyさん
02/09/21 04:09
>ロジックとデザインの分離を語るとき、デザインには
>ロジックはかかないが、代わりにロジックにデザインが入り
>こんでいたりする。

アフォですか?
多いケースは、デザインにロジックが混入するケースだろ。
cgiしかやったことねーのか。

399:nobodyさん
02/09/21 18:14 bCEdfPyU
>>398

デザインにロジックを混入させたくないから分離するんだろボーケー

400:りお ◆/OjWxByc
02/09/21 19:38 n+jiSbS4
>>398
397はたう゛ん、JSPまわりのことを言っているのかもしれない。
HTMLタグとプログラムとSQLが混在するファイルを見ると少し混乱するのは確かすよね。


401:nobodyさん
02/09/21 20:06
>>400
WebObjectではページ内のループの概念とかってどうなってるの?

402:401
02/09/21 20:21
補足
例えばDBから複数のエントリを取り出してきてそれを表にするような場合、
WebObjectではどんなふうにやるのか知りたいage

403:りお ◆/OjWxByc
02/09/21 20:39 n+jiSbS4
>>401-402
まとめるから、ちょっとまっててクレ。


404:りお ◆/OjWxByc
02/09/21 20:49 n+jiSbS4
>>401-402
とりあえず、
スレリンク(php板:835-836番)
におれっち的なへんじをかいておきました。
わかりにくいかもしれまへんけど、ワカランことがあったら
何でも書いてチョンマゲ.


405:nobodyさん
02/09/22 12:12 bpmTH82o
>400
そうそう、Servletからforwardしたり、ASP.NETのコードビハインドが
ある前提で、メインロジックは後ろに追い出せた場合の話でした。

例えば、JSPだと単一の処理に頑張ってタグライブラリを書いてまでは、
分離する必要はないかなという感じぐらいのノリ。

りおさんのレス見させてもらいましたが、ASP.NETは、
WebObjectsに強く影響を受けてるなとつくづく。

ところで、WebObjectsは、MVCモデルのコントローラみたいに、
ロジックに応じて、Vをがらっと変えてしまう(Servletなら表示する
JSPページのファイルをサーバーサイドで動的に変える)ことって
簡単にできるんですか?


406:nobodyさん
02/09/23 15:16
MVCのCみたいに、の下りが漏れには理解不能なんだけど、
同じモデルの見せ方を動的に変えるなんてのは当たり前に出来ます。
てゆーかそれが出来ないアプ鯖なんか使い物にならなくない?

407:nobodyさん
02/09/30 21:50 l9Fp6ZzH
>>406

GUI アプリケーションじゃ「C」を分けとくと楽なんだな。これが。

ウィンドウをマウス or キーボード or リモート操作 で動かる構造にしとくとイイでしょ?

408:nobodyさん
02/10/12 20:07
>>405
できます。

ただし、それをやろうとしたら、周りがついて来れなかった。

ルーキー同士で組ませるなよぉ

409:nobodyさん
02/10/12 20:39
漏れも、Tomcat(藁)、WebLogic、ColdFusion、WebSphereとやったことあるけど、
WebObjectsは、独自技術かつ、それらの先を行き過ぎて、平均的スキルの開発者だと
手に負えないんだよな。。。。
いくらWebObjectsが凄いものでも、まともに扱える開発者を揃えられないと、
業務で導入できないんだよ。。。鬱
とはいえ、一人でも結構な規模に対応できるからいいんだけど。

410:409
02/10/12 20:49
とりあえず、View部分は、ロジックとまったく関係なく、デザイナ任せにできるから、楽で良いね。
「<WEBOBJECTS>タグの範囲だけは、削除せんといて~」と指示しておけば、
こっちは暫定Viewで作業できるし。
JSPみたいにViewにロジックが入るような事は一切無いのが素晴らしい。

しかし、そんなものは、はっきり言ってどーでもいいね。
Enterprise Object Frameworkを知ってしまったら、EJBとか使ってたのが
禿しくバカバカしくなった。。。

411:408
02/10/12 21:38
会社入ってから、
一画面丸ごと全部 コンディショナル(if節みたいなもの)で、
切り替えているコードを見たとき、
正 直 感 動 し ま し た 。

やるなよ… そんなダメダメなやり方、 この会社入るまで想像すら、しなかったよ。
学生だって、もっとましなコード書くよ。

412:408
02/10/12 21:46
コウじゃないぞ!!
<html>
  ***** ←条件により一部の表示を変える。
</html>


コウやってるんです。
<html>****</html> ← 条件により丸ごと置き換え
<html>****</html> ← しかもたくさん。
<html>****</html> ← 中身にも条件による表示切替ありのおまけつき。

413:nobodyさん
02/10/12 21:49

ここですか?


WebObjectsマンセーのスレは?



414:nobodyさん
02/10/12 22:11
>>413
どこがマンセーですか?

WOにも、欠点はいっぱいありますよ?

415:nobodyさん
02/10/12 22:15
>>413
ちがうぞ。>>412は、マンセーではなくてだな、逆なんだよ。

インターフェイスとポリモーフィズムで同じことが、
簡単かつ、わかりやすくできるのに。

416:nobodyさん
02/10/12 22:24
WebObjectsって2chではよく聞く名前だが、それ以外では聞いたこと無いな。
2chにエヴァンゲリストが入り込んでいるのか?




.NET死滅スレのMS厨みたいだ・・・



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

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

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

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

419:417じゃないっす
02/10/13 09:20
WOFは外部に公開しない部分で使われることが多いみたい。
信頼性はあんまりないよ、正直。
バグがぼろぼろ見つかるの。



420:nobodyさん
02/10/13 10:58
>>418
でも、WebSphereとかWebLogic、.NETなんかを使うよりは遙かにマシだろ。
証券会社なんかで、.NETに移行始めてるとこあるけど、
あぁいうのはどうなんだろうな?怖すぎて契約できないよ(w

WOの信頼性は、どうなんだろう?
マカじゃないからよくしらなんだが、アップルストアって落ちたりしてんのかな?
(URLリンク(store.apple.com))
全世界の注文を、アメリカのアップル本社にある5台くらいのマク+WO+オラ(Sun)
でさばいてるって言ってたよ。

421:nobodyさん
02/10/13 11:37
.NETを使うより遙かにまし?
MSはうまいよ、プラットフォームを作るのが。
ある程度の信頼性を確保できたうえで、最近はそれなりの規模のウェアハウスの運用にまで耐えられる環境が実現できている。
TomcatだJSPだPHPだなんて騒ぐよりも遙かにましな選択だと思うぞ。
Site ServerとかCommerce Serverなんていう中途半端なβ製品を買わせてきてしゃあしゃあとしているのは相変わらずだけど、見誤らなければ良い選択肢がある。
企業としてAppleなんてのはカスで、そこがリリースしているだけで信頼性はゼロと見ていいよ。
信頼性なんてものは、将来性と双子の兄弟みたいなもので、将来性のない製品に信頼性なんて育つはずがないの。
そんなものを採用すると、100%将来はこける。
ただでさえ存続するアーキテクチャなりプラットフォームの選択って微妙な問題なのに、わざわざ確率の低い方に賭ける意味は限りなくゼロに近い。
今までAppleが提唱してきてサードパーティーを乗りに乗せた風呂敷って全部びりびりに破けてるって事実を、もっと真剣に受け止めた方がいいぞ?
かってはApple UNIX構想が死に、DALは捨てられ、またゼロからの再構築を目論んだという経緯を持つ企業を、俺は絶対に信用しない。
WOなんて早晩くたばるよ。
OOP命ってことでそれがウリのコーダー様なら、さっさと.NETに来るべし。
ただし、しっかりと個々のアーキテクチャの勉強をする気のない似非OOPクンたちは挫折しないようにね。
最低限必要だよ、SQLを書けたりDBアーキテクチャの構造を理解し、そのクラスを効率よく扱えるテクなんて。

WO使いがあまりに生意気だから一言書かせてもらったさ。
ついでに一言、WOに対する比較なら素のASP(.NETじゃない)でもまだ上を行ってる・・・ってかまとも。

422:nobodyさん
02/10/13 11:46
>OOP命ってことでそれがウリのコーダー様なら、さっさと.NETに来るべし。

自分で言ってることが、よくわかってないようです。(プ
「ウリの思想は、マンセーニダ!」って感じですか。北チョソみたいですね。
.NET厨があまりに生意気なので、一言書かせてもらいました。
ついでに一言、WOと素のASPを比較している段階で、WOをほとんど知らないってことがバレバレですね。
さらに付け加えると、長文の最後に「一言書かせてもらった」なんて、日本語もよく理解できないようですね。

そういう俺は、WOに憧れるWebLogic厨です。

423:nobodyさん
02/10/13 11:59
.NET? アフォですか? .NET Framework? EJBの真似? .NET Server? まだ製品も無いのに?
CLR? JavaVMの猿真似かい。 J#やらC#やら、節操がないよ。どうせJ++の二の舞。
もっとも、MSがCrossPlatformをまともに考えたら、C#はもしかしたら数年後に化ける可能性もあるが。

鳴り物入りでJ++を登場させ、WFCを推進し、そこに上った開発者のハシゴを、政治的な理由から
思いっきり蹴り外した経緯を持つ企業を、俺は絶対に信用しないね。

もちろん、穴は多いが、クライアント環境としてのWinは使いやすいし、Win用デスクトップアプリは
良くできてるものが多い。ゲーム環境としても、Winは最高だと思う。

しかし、サーバサイドアプリを運用する環境としては、最低最悪だな。
「開発」という側面だけに着目するから、多機能なIDEの評判などに、うまく誤魔化されてしまう。

ただし、運用開始後の多種コストを一切無視して、MS製品のみで固めるんだったら、
.NETという選択肢も有りだろうな。

424:nobodyさん
02/10/13 12:03
アフォはお前だよ。
C#とJ++ってのはそもそも比較の対象として違う。
J++ってのは単なる環境で、C#ってのは言語。
それにJ++が鳴り物入りだって解釈した開発者の気がしれんよ。
俺はまったく信用しなかった。
あんなもの過渡期の環境だって見りゃわかりそうなもんだ。
ってか、Javaって時点でMSがどこまで真剣にやるか考えてみた?
そんな梯子にうかうかのぼって行く方が間違ってんだよ。

425:nobodyさん
02/10/13 12:06
>>422
うん、いかにもWOにあこがれるWebLogic厨房だわな。
それからお前みたいなアフォは開発言語だけいじれ。
「一言書かせてもらった」は正しい日本語なんだよ。
日本語喋れんようなお前ごときにいちいち訂正されたかないわい。
クライアントの前できっちり案件に関して商談できるくらいになってから日本語については語れや。

426:nobodyさん
02/10/13 12:09
誤:J++ってのは単なる環境で、C#ってのは言語。
正:VisualJ++ & WFCってのは単なる環境で、J++とC#ってのが言語。

427:nobodyさん
02/10/13 12:12
WO厨房、MS厨房ともに必死すぎ(w
スレの趣旨に戻れや。
そもそも、.NETやWOで、どこまでコンテンツとデザインを分離できるんだ?
具体例出せるのか?
話しはそれからだ。
くだらんフレーミングはやめろ。両方とも、目くそ鼻くそを笑う、でしかないな。

428:nobodyさん
02/10/13 12:29
>>427

それ、俺も興味あるな。
Webアプリで、データベースから取得したデータを、Web側に出力してやる部分を、
.NETやWOや他のツールで具体的に比較してみたい。
PHPやJSPとか今までのASPだと、テンプレート内にロジックを書けるタグがあって、
そこにSQL含めたコード書くのが普通だよね。

429:428
02/10/13 12:40
追加。
条件分岐が絡むHTML生成とか、繰り返し処理(HTMLテーブル作成等)を
Webアプリでやるにあたって、MVCをきっちり分けるってできんの?

430:408
02/10/13 16:41
なんか、妙な議論が… 私が発端かな? ごめん。

WOF は、DB のテーブル、ビューを Java のクラスにすることができる。
ロジック(メソッド)をそのクラス内に追加することもできる。
インスタンス生成時に条件をつけて、持っているデータを変化させられる。(検索とかで使う)
Java クラスではなく、HashMap 系のインスタンスにすることも可能。

表示するページは、PHP や JSP のカスタムタグを使った時と似たような形式のHTMLと、
それに対応する Java クラスで構成される。
表示用の Java クラスにメソッドを追加すると、HTML の方でそれを呼び出すことが可能になる。
Java クラスなので、似たようなページの場合、同じクラスを使えば、手間を省ける。(もしくは継承)
ページ固有の処理はこちらに加えてる。

HTML の方は、JSP と似たようなものかな。
対応するクラスのメソッド、フィールドを呼び出せる。
リフレクションで、型に応じた処理を勝手におこなってくれる。
繰り返し処理部分は、か な り独特のロジックあり。

List         List      ←こういうListが、
 ├ HashMap   ├List     たくさん現れるのに最初戸惑った。
 └ HashMap   └List


.NETの方は、良く知りません。勉強不足です。

431:nobodyさん
02/10/14 01:13
>>418
金融系とは、ドイツ銀行と、昔派遣でいっていたかいしゃが契約していた
大手都市銀行と、、、いくつかです。信頼性云々よりかは、かいはつこうりつが高かったんで、
客先評判はすこぶるよかったですよ(pure.


432:nobodyさん
02/10/14 09:42
>>418, >>431
日本だとM菱銀行とかが使ってたよ。
といってもNeXT時代なのでWOじゃなくて、その前身のPDOとかだけど。
今のWOの売り方だと基幹系に採用されてるとか言っても信じられないのは
無理はない。もうそんなに先進的でもなくなっちゃったし。

433:nobodyさん
02/10/14 10:13
そろそろWOF以外の話きぼんぬ。

434:nobodyさん
02/10/14 10:24 ++3XMo/L
>>432
確かに先進的でもなくなってしまったけど、WOF特有のKeyValueCodingやEOFの
一貫性つうか、エレガントさはヨソのAP鯖で似たようなのが出てこないというか
むしろ不便を強いられているというのがちょぃと納得いかないんですが。。。


435:nobodyさん
02/10/14 12:54
漏れは、やはりWOのマイナーさから、早く他のアプ鯖に乗り換えたいんだけど、
WO並か、それ以上の製品が無いんだよなー。
お値段がやはり。。。
DB扱うWebアプリを、客のために作るんだったら、今のところWOしかねぇなぁ。。。

んで、.NETでのMVC分離の具体例が知りたいのだけれど、
暴れてたMS厨は、そういう例を出せるほどのスキルは無かったって事?
>>430も、具体例出してきたのは非常に好感持てるが、いまいち判りづらい。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch