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

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

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

「HTMLはHTML、プログラムはプログラムと完全に分離する方法はないものか。」
を話し合うスレッドです。
0161nobodyさん02/03/13 23:23ID:LkTLC//k
HTML::Templateおもしろいね。
でも、標準的にどこでも手に入る環境じゃないのが辛いなぁ。
0162nobodyさん02/03/14 00:11ID:???
HTML::Template はプログラマにとっては便利だけど、
デザイナは読みたくもないだろうと思うよ。
0163nobodyさん02/03/14 01:23ID:Jx+3VC0E
HTML::Templateは、たしかにどこでもインストールされてい
るわけではないけど、展開して置いておけば(つまり make とか
しなくても使えるよ。)
最近のヤツはいろいろ他のモジュールを必要とするので、1.8とか
をいれるとよいでしょう。
基本的なことは、1.8でもできるし。
0164nobodyさん02/03/14 07:46ID:nAmAc5Wh
コールドフュージョンはデザイナがコーディングするためのものです・・・。
0165nobodyさん02/03/14 15:11ID:???
>>164
どこの会社?社名出してよ。
もし契約してるとこなら、打ち切らなきゃ。
デザイナにコーディングさせたオナニーシステムなんて、使い物にならん。
0166nobodyさん02/03/14 15:46ID:xs367yVo
>>163
1.8ってまだ公開されているの?
0167nobodyさん02/03/14 23:19ID:6NMo0mqW
>>166
公開されているよ
http://www.cpan.org/authors/id/S/SA/SAMTREGAR/HTML-Template-1.8.tar.gz

ちなみに、最新は2.5です。Perl5.6必須だけど。
http://www.cpan.org/authors/id/S/SA/SAMTREGAR/
0168nobodyさん02/03/14 23:33ID:83vwJ138
>>167
Thx!早速落としたよ。
0169nobodyさん02/03/15 01:50ID:sSRdthig
レンタル・サーバだから、そういうの使えない…
Smarty も HTML::templateもよさそうだけど。

何か言い方法ありますかね?
0170nobodyさん02/03/15 02:04ID:???
ホームにインストールしる
0171nobodyさん02/03/15 02:20ID:sSRdthig
>>170
あ、それでできるんですか?
Smartyも?
0172nobodyさん02/03/19 22:42ID:BqZatu5x
テンプレートエンジン用のデザインのテンプレートがいっぱいあるのってあります?
これみたいにテーマがあって変えられるやつ。
http://curtisonline.net/theme/

PHP-nukeも使いようによっては、いじれそうだけど。
0173nobodyさん02/03/25 20:03ID:???
>>158
PHPのsafe modeを有効にしながらSmarty使う方法はありませんか?

Smartyはtemplates_c/以下にコンパイル後のファイルを置く訳ですけど、
この際に作られるディレクトリが複数階層にわたるみたいで、
これらがsafe modeの制限に引っかかってしまいます。
0174102/03/26 11:05ID:mzbnXmq6
>>173
http://marc.theaimsgroup.com/?l=smarty&r=1&w=2
ここで safe mode で検索かけてみて下さい。

おそらく解決方法があるかと思います。
017517302/03/26 16:39ID:???
>>174
情報thanx

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

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

しか無いみたいですね。
で、不特定多数の利用者が自由にSmartyを利用できるようにするためには、
CGIとしてPHPを動かすしか無い、と。
0176nobodyさん02/03/26 22:34ID:0DHHOlhe
PHP SiteManagerってどうよ?
http://www.roadsend.com/siteManager/home/treeMenu.php
0177nobodyさん02/03/27 13:10ID:xBtxtmDD
>>176
見てみたけど、多言語対応してるみたいだし、テンプレート・エンジンもあるね。
なかなかよさげだけど、誰か使ってないの?
0178nobodyさん02/03/30 22:47ID:???
>> 149
興味があり見に行きましたが、まさか Java script が必須とは (汗
いえ、只の愚痴です。すいません。
0179nobodyさん02/03/31 06:52ID:???
Smartyの英語マニュアル全部読んだのですが、
既存のHTMLファイルを取り込む方法がいまいちわからないです。
0180nobodyさん02/04/01 04:24ID:Hzf2fsPp
HTML::Templateってデザインとロジックの分離ができてないよね。
ループとか分岐の指定をする専用タグがある時点でアウトでしょ。
0181nobodyさん02/04/01 04:31ID:???
それにしてもHTML::Templateはかなり使えると思う
0182Dream ★02/04/01 06:40ID:???
>>181
うん、いい感じですね。
コンテンツ大きいとオーバーヘッドがきつそうだけど、アクセスがそんなに
負荷になっていないサーバだと、大丈夫なのかな?
とにかく、面白そうなものを教えて下さって、ありがとう>All
0183nobodyさん02/04/01 09:29ID:???
HTML::Templateってcgiでしょ?
うちは、/cgi-bin/以下に置かなきゃいけないから、いやん。
0184 ◆AngelBlk 02/04/01 11:00ID:???
Smartyだけど、青マンモス本にリファレンス載ってるみたい。
誰か買った人います?
どんな感じか教えてほしいのだけど。

会社の帰りにでも、探してみるかなぁ・・・。
0185102/04/01 14:08ID:ALawDKoI
>>179
取り込むというと…?
{include file='includefile'}
みたいなことは出来ますけど、たぶん違いますよね。

>>184
マンモス本ってなんですか?? オライリー?
0186nobodyさん02/04/01 16:33ID:SClNMZpg
>>185
お返事ありがとうございます。

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

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

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

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

---- body.html ----
<html>
〜 省略 〜
<body>
{include file='header.html'}
〜 本文 〜
</body>
</html>
-------------------
とすることで、body.htmlにheader.htmlが差し込まれた形で処理されます。
0188nobodyさん02/04/01 18:34ID:eCkZiEpB
青マンモス本でSmartyがどんなふうに取り上げられてるの?(近くで売ってないので)
Smartyのマニュアル和訳とかしてwebにあげようと思ってたんだけどなー(´д`;)7割はオワッタ
0189nobodyさん02/04/01 18:55ID:???
>>188
おーすげえ。まんせー。
0190nobodyさん02/04/01 19:41ID:jOov+muS
>>187
お返事ありがとうございます。

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

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

>>188
すごいですね。upしたら教えて下さい。
というか、途中でも、upすれば、リバイズとか助けられると思いますよ。
0191 ◆AngelBlk 02/04/01 23:16ID:???
>185
オライリーではなく。
PHP徹底攻略:実戦編のこと。
http://books.softbank.co.jp/bm_detail.asp?sku=4797315199
これ。

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

>188
目次みたら、リファレンスのところにSmartyって書いてあったよ。
でも、使い方和訳したならきぼーん。
0192 ◆AngelBlk 02/04/01 23:27ID:???
書き忘れ。
PHPusersMLより青マンモス本の目次。

http://www.geocities.jp/rui_hirokawa/php/php-book2/toc.html

多分、明日買ってきます。
0193nobodyさん02/04/02 06:01ID:???
>>190
話はずれるけど、DBからデータを取ってくるのとCVSなtextファイルからデータ取ってくるのどっちの
方が早いのかね?
0194102/04/02 09:55ID: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件も検索に引っ掛かってこない現状
は寂しいです。
0195__02/04/02 10:01ID:hdBuJcW1
.NETつかえば?
0196nobodyさん02/04/02 10:11ID:6uavVYCo
>>194
わざわざコードまでありがとうございます。
これを参考に自分で書いてみます。

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

現在新しいサイトをオープンしているようですね。
http://smarty.php.net/

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


0197 ◆AngelBlk 02/04/02 11:34ID:???
>196
別にまずいってことは無いのでは?
個人のそう言う動きを制約するものは無いはず。
0198 ◆AngelBlk 02/04/02 12:55ID:QT5eEfAO
昼休みに青マンモス買ってきました。
Smartyは完全にリファレンスだけ(公開メソッドとか関数の一覧)
なんで、>188さんがマニュアル作ってくれたなら是非ともアップしてほしい。
0199 ◆AngelBlk 02/04/02 17:35ID:???
って連続かきこスマソ。
青マンモス本ですが
Part-1 Chapter-5 Templates
ってのがSmartyの事でした。

でも、本を買えない人もいるし
やっぱ>188さんには公開してほしいですね。
0200nobodyさん02/04/02 22:29ID:???
私も青マンモス本買って来ました。
マニュアルには書いていないことが書いてありわかりやすくて良さそうです。
#まだちゃんと読んでいない。

が、マニュアルのように詳しくないので、どちらも必要と思われます。
>>188さん、私もきぼーんです。
020118802/04/02 23:11ID: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"}
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を推してる理由は、変数置換や繰り返し以外にも、
プラグイン追加による機能拡張や、テンプレートの出力を一部キャッシュして
パフォーマンスを上げたりする事が可能だから。
静的コンテンツを動的に生成したい時とか本当に便利。
■ このスレッドは過去ログ倉庫に格納されています