トップページ⇒php
930コメント657KB

コンテンツとデザインの分離

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2001/05/27(日) 17:59ID:6pK8snWA
ASPでもPHPでもPerlでもJavaでも形こそ違えど結局は可変部を吐き出すための
<%〜%>やらprint文の嵐になってしまう。

「HTMLはHTML、プログラムはプログラムと完全に分離する方法はないものか。」
を話し合うスレッドです。
020218802/04/02 23:12ID: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を渡す事でそれを防げます。


えーと、マニュアルは、もともと公開する目的で作ってたんで。
もうちょっとしたら公開できると思います。
0203nobodyさん02/04/02 23:22ID:6uavVYCo
>>201
>>202
すごい!こんなことができるんですね。ありがとうございます。

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

マニュアル公開、嬉しいです。
#ちなみに、翻訳ソフトに通してから、修正ですか?一つ一つ翻訳ですか?
0204nobodyさん02/04/03 03:36ID:w0fKgoFn
>>202さんの通りにやったらできましたー。感謝、感謝。

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

そろそろスレ違いな感もなきにしもあらずなのでSmartyでスレッド立てようと
思いますがいかがでしょう?
0206nobodyさん02/04/03 09:52ID:???
>>205
べつにいいんじゃない?ネタ引っ張っていけるんだったら立てても。
0207nobodyさん02/04/03 14:54ID:???
>>205 AAの準備は万端です
0208nobodyさん02/04/03 15:50ID:w0fKgoFn
>>205
こういう使い方マニュアルに書いてありました?
4回位読んだのになぁ。でも、1さんいろいろありがとう。
CSVなテキストからデータを読むには
>>194なやり方が必要と思われるので。

スレ立て賛成です。
Smarty使いが増えるかも。
Smarty使いって、スマーターって言うのかな?
あー、いやらしい。
0209nobody02/04/04 15:43ID:???
Smartyの話題がでてるけど、、、

漏れも1年ちょい前から同じようなコンセプトで
PHP用のテンプレートクラスを作っています。
Smartyとの共通点は、いったんテンプレートファイルを
PHPスクリプトに変換することです。
Smartyとの違いはHTML側に書く特殊タグの種類を4種類に
限定することによって、デザイナーでもテンプレートを
書けるということです。
最近いろんなかたの助言によってとても安定&高速になってきました。
http://hoover.ktplan.ne.jp/kaihatsu/php/index.php
0210nobodyさん02/04/04 18:35ID:???
>>209
かなり良さそうです。特にドキュメントビルダーのあたり。

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

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

ベンチマークのページを書き終えたら、また直リンします。
0212nobodyさん02/04/04 23:43ID:???
>>211
返事はやいですね。ベンチすごいですね。大規模はどなんでしょ?
シンプルでとっつきやすいですし、なにより日本語なのがうれしいですね。


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

ただし、僕の作ったクラスにもSmartyのようにテンプレートを
パースした結果をファイルに保存して2回目以降はパースしないで
済むオプション機能を実装しています。
ので、その機能を使えば大きなテンプレートでも問題なく使える
とは思います。
0214nobodyさん02/04/05 08:17ID:???
>>213
大規模の比較は、一人では難しいとのことですが、開発はどのように行っているのですか?

webページを見ましたが、開発への参加募集はしていますか?
独自MLもないように見えます。PHP-users-MLベースで開発しているのでしょうか?
0215nobody02/04/07 21:56ID:???
コーディングは現在僕独り。その他、パッチを変えてくれる人もいますl
また、罫線案をメールや掲示板でいただきます。
みなさまの協力の上に原始的な手法でかいはつをすすめているところです。
0216nobodyさん02/04/07 22:27ID:hI7aRZHK
デザインはFLASHで、テキストはアクションスクリプト、CGI、PHPでという分け方もありだと思いますが、どうでしょうか?
利用されている頻度は少ないですが。
0217nobodyさん02/04/08 02:53ID:jy9kIRbx
新しいFlash、悪くないと思うが。
今度クライアントに提案するシステム(イントラだが)は、
インターフェイスを、全面的にFlashで行こうかと。
0218nobody02/04/08 03:39ID:???
自作テンプレートクラス@PHP版のベンチマークテストを取ってみました。

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

http://hoover.ktplan.ne.jp/kaihatsu/php_en/index.php?type=doc&txt=bench
0219nobodyさん02/04/08 04:12ID:???
>>218
ベンチマーク・テストありがとうございます!
すごいですね、これ。僕もsmartyでサイト作っているところなんで、HTMLテンプレート版も
作ってベンチマークしてみよっかなぁ。
0220nobodyさん02/04/08 04:42ID:???
>>218
typoが多いよ・・・
0221nobodyさん02/04/08 04:50ID:a4RoISwK
PHPってHTMLに直接コードを書けるのが売りなのに(売りとは思わんが)、
わざわざ言語使用に反して分ける時点でもう破綻しちゃってるよNE!
0222nobodyさん02/04/08 05:47ID:???
PHPは手段であって目的ではないのだから別に破綻していることにはならんでしょう。
0223nobodyさん02/04/08 06:58ID:???
言語仕様を使い切らないと無意味と考えるのは痛いな。
0224 ◆AngelBlk 02/04/08 08:42ID:???
確かに、初期段階では221が言ってるように
HTMLにコードかけるってことが売りだったかもしれないけど
今となってはそれもどうでもいいような気が。

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

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

それよかコードの記述性と可読性が他のテンプレートエンジンと比べてどう優れてるのか
教えて欲しい。
サイトをざっと見た限りでは、Smartyのサブセットの域を出てないように思う。
0226nobody02/04/09 01:53ID:???
>>220
ごめんなさい、いま直しました。
文法のほうについては責任をもてません。MS WORDで単語チェックした
だけです。

>>225
テンプレートの書きやすさが自分のものの特徴と思います。
プログラミングを知らないデザイナーにも5分程度で教える
ことができます。
0227nobodyさん02/04/09 07:16ID:GMnXZpQb
age
0228nobody02/04/09 10:26ID:???
さらにバージョンアップして高速になったYO!
http://hoover.ktplan.ne.jp/kaihatsu/php/index.php
0229nobodyさん02/04/09 11:26ID:???
Smartyもそうなんだが、サンプルがないから、とっつきづらい。

実際の運用サイトの雛型とか、携帯での運用の場合のサンプルとかあると
とてもうれし。
0230nobody02/04/09 12:09ID:???
228ですが、、、サンプルとしてどんなものが適当と思われますか?
例のための例をあげてもなかなかわかりにくいだろうし、
実際の現場で使われているものになると中規模すぎて説明が
大変になります。
悩ましいところです。
僕のサイトでのPEARを使ったリスト表示サンプルはどうですか?
http://hoover.ktplan.ne.jp/kaihatsu/php/index.php?type=doc&txt=dbsample
023118802/04/09 12:51ID:???
>>229
少し前にSmarty-GENERALで、Smartyを使って制作したサイトの
ソースが公開されてました。もしかしたら参考になるかも。

http://marc.theaimsgroup.com/?l=smarty-general&m=101761480326238&w=2
0232nobodyさん02/04/09 13:38ID:???
PHPばかりでつまらんのう、そろそろスレの本題に戻してホスィ

つか、>>228のあからさまな宣伝が鼻につく。宣伝したけりゃ自分でスレ立てれ。
023318802/04/09 13:57ID:???
>>232
そーいえばここ、PHPスレじゃなかったですね。
やはりそろそろ、「デザインとロジックの分離 with PHP」みたいな
別スレ作って移動しますか?
あ、テンプレートって文字を入れたほうがいいのかも。
どうしましょうか、新スレのタイトル案。
0234nobodyさん02/04/10 01:30ID:???
>>233
テンプレートエンジン(PHP)とか?
話題自体smartyかHTMLテンプレートしかでないから、「smarty と HTMLテンプレート」とか。
デザインとロジックの分離自体あまりしてないような感じだし。

>>232
宣伝でもよいと思われ。それで稼ごうとかでなければ、むしろ歓迎。
0235nobodyさん02/04/12 11:44ID:???
>>234
そろそろ、スレ立てませんか?
0236nobodyさん02/04/12 12:01ID:wN+/eHS+
PHP以外で興味がある人が少ないってだけじゃないの?
文句しか言わないでネタ振りもしない>>232に萎え。
0237nobodyさん02/04/12 12:06ID:???
細分化して単発スレばかりになるのもどうかと思うけどな
腐るほどPHP関連のスレあるわけだし
0238nobodyさん02/04/12 12:56ID:???
>237
っていうか、この板相変わらず
人少なそうだしね・・・。
0239nobodyさん02/04/12 23:35ID:???
じゃ、とりあえず、このスレで、テンプレート関係の話をしますか。

「コンテンツとデザインの分離」関係の話は出尽くした感があるし。
0240nobodyさん02/04/14 21:28ID:???
>>231
thanx.
見てみました。さらっと見ましたが、色々なコードがありましたねぇ。
ちょっとどうなってるか、よくわからんので、じっくり見てみます。
0241nobodyさん02/04/15 01:52ID:???
結局、PHPはちょっとしたことには便利なんだけどさ、大規模向きだとツライ。
Perlよりはマシにしろ、メンテしづらいし。
0242nobodyさん02/04/15 06:31ID:???
>>241
そんな時のテンプレ・エンジンじゃないの?
0243 ◆AngelBlk 02/04/15 09:59ID:???
>241
具体的にどのあたりが?
0244nobodyさん02/04/24 07:52ID:???
>>243
HTMLにプログラム書くところ。
0245nobodyさん02/05/03 02:55ID:???
smarty 2.1 age
0246nobodyさん02/05/03 15:46ID:???
やっと{myfunc}...{/myfunc}みたいなカスタムタグが定義できるようになって
プラグインの幅が広がった感じ。

つーか、2.1.0に対応したほんにゃくマニュアル完成ヽ(´ー`)ノ
近日サイトage。(予定)
0247nobodyさん02/05/04 00:15ID:???
>>246
おおー!期待大。ありがたや、ありがたや。

http://smarty.php.net/ 完成しつつあるage.
0248narucy56 ◆wMOjCT4s 02/05/04 11:08ID:vTPrP0BI
WEBアプリケーションサーバとしてのWALRUS
http://www.brain-tokyo.jp/~research/koutetu/manual/summary/gaiyou/gaiyo4.html

これはよさげ!!
0249nobodyさん02/05/04 15:27ID:d0uaPpR2
>>248
それだけ貼られてもよくわからん
どこがどういいのよ
0250nobodyさん02/05/04 19:22ID:???
>>248
ロクにリファレンスも揃ってないのに『どう』いいんだ?
他スレでもあんたのカキコみるけど、名無しに戻ってほしいコテハンに+1
0251nobodyさん02/05/04 21:29ID:???
>>248
Ruby使えるサーバってあんまりないと思うんだけど、どうなの?
0252nobodyさん02/05/05 22:19ID:ITpza3EM
配列の展開だけじゃなく、
条件によってテンプレートの一部を表示したりしなかったりもできるみたいだ。

http://kari.to/walrus/demo/demo4
説明は不親切だが、このデモのソースをよく読んだらわかってきた。
このテンプレート展開のやり方はいいかもしれない。
0253nobodyさん02/05/06 04:38ID:G0jBHwom
PHPに対するPHPテンプレートの優位性って何?
いくつか見てみたけど、 PHPだけでいいような気がしてならない
というより、PHPよりテンプレート用言語(笑)を覚える手間が
増えてるだけのような
0254 ◆AngelBlk 02/05/06 18:00ID:???
>253
デザインの変更に対する対応が容易になる。
仕事で明日までにデザイン変えてとか言われると
普通にPHPコード埋め込んでやってると死ぬよ・・・。
0255nobodyさん02/05/08 12:20ID:???
SmartyでPHP-nukeのthemesを使えねーかと思ったことあるんだけど、できるかな?

クリック一つでデザインを変られる…みたいな。
025625302/05/10 11:37ID:49KcfInZ
>>254
PHPでもあらかじめ注意して分けてれば、対応できるんじゃない?
functionとかincludeとかprependとか使えば。
強制的に分離させる(HTML中にはあまり難しいコードはかけない)ってところが
みそなのか?

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

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

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

自分一人で作るにしても、テンプレートの方には
出来るだけコードっぽいもの書きたくない・・・。
0258nobodyさん02/05/10 16:10ID:???
Smartyのテンプレート言語って単純じゃないですか?
プラグインによって+αの機能を多く実装してますが、
プログラム的なものは分岐式とループぐらいだと思います。
(これは他のテンプレートエンジンもそうですが)

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

#テンプレートに渡された連想配列からツリー形式のメニューを
#動的に生成しようとするとテンプレート側で分岐やループを駆使する事になるので、
#これを何とかするタグが作れないか考案中。
0259nobodyさん02/05/10 21:51ID:/cNgrcGu
>>253
PHPってもともとそういうものだからな。
0260nobodyさん02/05/11 01:40ID:???
>>259
なのにそのPHPでテンプレートを開発している奴らの目標は何かと問いつめたい

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

自分がずっとSmartyを推してる理由は、変数置換や繰り返し以外にも、
プラグイン追加による機能拡張や、テンプレートの出力を一部キャッシュして
パフォーマンスを上げたりする事が可能だから。
静的コンテンツを動的に生成したい時とか本当に便利。
0262nobodyさん02/05/11 16:18ID:???
Smartyとかの情報ってどこから仕入れてくるの?
みんな何でSmaryの存在を知ることができたの?

どこかにテンプレートエンジンのリンク集があるのかな。
0263 ◆AngelBlk 02/05/11 17:10ID:???
話がループ気味です。

>262
http://smarty.php.net/
とか。

あと、割と最近でた青マンモス本にもSmartyの記事あったよ。
0264narucy56 ◆wMOjCT4s 02/05/12 11:17ID:215DjCeq
ロジックとデザインの分離で、面白いアプローチとしては、


Walrus
http://210.155.146.159/walrus/demo/

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

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

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

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

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

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

---

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

0265nobodyさん02/05/13 04:02ID:???
>>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 とかよりこんなのじゃだめなの?
0266nobodyさん02/05/13 12:31ID:???
>>265
条件分岐や繰り返しのある表現をしようと思うとムリがありますよね。

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

PHPスクリプトの可読性を上げ、より保守しやすい環境を目指した仕組みな
わけで、誤解を恐れず言えば、プログラマーが楽をするためのフレームワーク
であると言っても過言ではないと思います。
0267nobodyさん02/05/13 19:33ID:???
>>266
Smartyはデザイナとプログラマの分業を重要な目的の一つとして
制作されたので、副次的に生まれた効果ではないです。

あと、PHPスクリプトにHTMLが混入するテンプレートエンジンなんて
存在し得ないと思うんですが。揚げられたものは全て
テンプレートエンジンが最低限実装すべきもののような気がします。
0268nobodyさん02/05/13 20:12ID:???
DB連携がスマートにできるやつがいいね。
商用だけど、WebObjectsのフレームワークは、目から鱗。
0269nobodyさん02/05/13 20:12ID:???
>>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 のまがい物みたいなの使うんでしょ?
0270nobodyさん02/05/13 20:19ID:???
smarty のプラグインで何かおもしろい機能があるのか?
0271nobodyさん02/05/13 20:58ID:???
>>266じゃないが、Smartyはかなりプログラマよりの仕様になっていることは確か
自分たちの必要に迫られて作った→いろいろ揉まれて良い物ができた→公開した
という流れらしいしね

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

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

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

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

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

こういうアホなことを言うな
0272nobodyさん02/05/13 21:31ID:???
>>271
>裏でどんなSQL投げてるか想像すると吐き気がしないか?

全部モニタリングできるし、必要に応じてカスタマイズもできるよ。
10年以上の実績あるから、信用できる。
そのへんのプログラマにSQL書かせるほうが遙かに吐き気がしないか?
0273nobodyさん02/05/13 22:16ID:???
>>272
詳しくしらんが、NeXT時代から数えても10年以上はいいすぎだろ

吐き気を催すようなSQLしか書けないプログラマにサーバサイドアプリ
書かせるなんざ論外
0274nobodyさん02/05/13 22:18ID:???
>>271
混入してしまった時点でその部分のコードは相手方の
手から離れてしまっているので分担とは言えないような。
Javaですか?そのエンジンが持つ、専用のスクリプトの事じゃないですよね。
そのテンプレートエンジンを教えていただけますか?
0275nobodyさん02/05/13 22:49ID:???
>>274
わざわざ機能不足な物を知ってどうする?
なにかメリットあるのか?
最新Verでどうなってるかまで知らないし、そこまでわざわざ調べるつもりもない
興味本位なら自分で探せ

そもそも俺が言いたいのは、自分が見たことがない = 存在しない などという傲慢な
考え方はするなって事だ
0276nobodyさん02/05/13 23:42ID:???
>>275
それは機能不足だと思うんですか?
明らかに分析が間違っているのに公開されてるような
イレギュラーなフレームワークを話題に持ち出すのは
どうなんでしょうね。

あと、最後のように間違って解釈される方がいないように
"し得ない"という表現を用いています。伝わらなかったようですが。
0277nobodyさん02/05/13 23:58ID:???
>吐き気を催すようなSQLしか書けないプログラマにサーバサイドアプリ
>書かせるなんざ論外

いい開発者+いいフレームワーク=(゚д゚)ウマー
0278nobodyさん02/05/14 00:47ID:???
>>276
誰が話題に持ち出してるんだ?

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

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

微妙にスレ違いだから、お前にはここまで
0279nobodyさん02/05/14 02:01ID:???
>>278
オマエモナー
0280nobodyさん02/05/14 02:13ID:???
>>278
>PHPを対象としたものでなければ存在するんだな
あなたが、私がそんなものは存在しないと断定したと勘違いし
テンプレートエンジンの存在を持ち出してきていますね。

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

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

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

#私が知りたいのは機能よりも、何故そうしたかという理由です。
#もし正当な理由なく、なんとなくそうなったのであれば
#それは一般に公開されるようなフレームワークと呼ぶものではないですね。
0281nobodyさん02/05/14 08:13ID:???
おーまーえーらーちょっと頭冷やしてこい。
で、冷静になってから書き込め。

ただでさえ人少ない板なのに、
これ以上人減らしてどうするよ・・・。
0282nobodyさん02/05/14 08:53ID:???
>>280
( しまった、デムパだったか…
読心術でも使え、と言わんばかりの言葉の(頭もか)足りなさ
ま、何もかもが子供の口喧嘩レベルの後付けなんだろうけどさ

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

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

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

スレ違いスマソ、もうやめる
0283nobodyさん02/05/14 12:03ID:???
>>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超えてからこんな話をしてます
0284nobodyさん02/05/14 14:05ID:SWWQgFa+
最初の画面はどう作ってもたいした違いはない。
問題は保守の時。
具体的に言うと

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

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

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

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

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

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

「ロジックの修正がなくデザイン面の修正だけする場合にどれだけ楽できるか?」
という評価基準で各ツールのよしあしを評価していけばいいんじゃないの?
0285nobodyさん02/05/14 17:03ID:???
>>282
推測できないだの、言葉が違うだのと言い出しましたか。
肝心なところは無視してるし、もう建設的な発言が出来ない方なのかな?

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

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

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

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

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

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

あー、あと、最後に些細なちゃちゃ入れ。
> 詳しくしらんが、NeXT時代から数えても10年以上はいいすぎだろ
詳しく知らないなら、間違った事をわざわざ言う必要ないですよ。
私もヲカーですが、EOFは10年以上の枯れた技術です。
0286nobodyさん02/05/14 17:41ID:???
>>285
最後にレスした方の勝ち合戦ですか?
あなたの方がだんだん言うことが矛盾してきてますよ。

悪いけど出てって、そして2度と来ないで。
すごく邪魔。
0287nobodyさん02/05/14 18:23ID:???
>>284
>これがこのスレのテーマだと思う

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

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

で、じゃあ smarty は ”php 以上に”それができているか?
という視点で見ると、そうでもないように見えて仕方がない
ということを「phpでできるよ派」は言っている
0288nobodyさん02/05/15 15:21ID:JcpmR/QY
>>284
そういう状況を考えるとWalrusのようにテンプレートがピュアHTMLで独自タグを
使ってないのが便利そうだな。

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

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

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

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

> (5) プログラマはどうする?
何もしないで「もうできるぞゴルア!」 ということになる‥はず‥だが‥ソンナニウマクイクノカネ?
0289nobodyさん02/05/15 15:44ID:???
>>288
その分自由度が損なわれるだろうな おそらく
0290nobodyさん02/05/15 15:59ID:???
micromedia の ULTRADEVELOPER 4 ってどうよ?
0291nobodyさん02/05/15 16:10ID:???
>>288
最後の問題は DreamWeaver や GoLive などのデザイナの使うツールと
デザイナの意識だなあ

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


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

という流れが

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

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

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

DreamWeaver超デブならアプリケーションサーバでプレビュが簡単にできるのかな?
0292nobodyさん02/05/15 16:46ID:???
>>291
> Walrusだとid (エデイタにはただの属性値にしか見えない)だけ残して色を変
> えてくれるか? id がとれた、変わったときに警告してくれるか?
CSSでidを指定して特定のタグにstyleを指定することができるはず。
だから、エディタが勝手にidを変えたり取ったりしちゃいかんと思う。

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

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

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

>テンプレートを理解してくれるデザイナーと仕事をすればいいだけの事
それはそうだがなかなか...CSS とかも専用エディタとかあるからな...理解してるとは限らん
0295nobodyさん02/05/16 14:59ID:???
>たとえばデザイナーが修正個所まるっと消して、再作成しちゃったら…

WOFだと、どこに何があったはずだからエラーってのが出るよ。
DB連携箇所とかもぬかりなく。
みんな、けっこう原始的な方法使ってるんだな・・・・
0296fbfhjq02/05/17 13:20ID:???
夜逃げしたい?
金欠?
ブラック?
別れさせたい?/騙された?/不良債権・名義貸し?
トラブル各種は相談してくれ。
(有)エスアールエー/0120-0120-49
[email protected]
0297nobodyさん02/05/22 20:49ID: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>

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


テンプレートとかでこういうのをカンタンに解決してくれる方法はない?
0298nobodyさん02/05/22 20:56ID:???
>>295
WOではどうやってHTMLとプログラムの統合するの?
0299nobodyさん02/05/22 21:08ID:YVZelF47
>>298
そこがWOのいいところ

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

ASPやってるから泣きそうです
WOをしったしってしまったばっかしにJ2EEやASPが面度さくさくかんじます
0300nobodyさん02/05/22 22:25ID:???
>>297
Javascriptなら簡単とか言ってみる。
0301nobodyさん02/05/23 02:32ID:???
>>300 どうすんの?
0302nobodyさん02/05/23 04:19ID:???
>297
色を変えるだけなら
ttp://pc.2ch.net/test/read.cgi/hp/1016170321/36-43
■ このスレッドは過去ログ倉庫に格納されています