[PHP-users 2447] ロジックとデザインの分離 (was: PHPと JSPの比較 )
naoki kishida
php-users@php.gr.jp
Wed, 03 Oct 2001 22:34:08 +0900
きしだです
とりあえずいい訳というか。
> 「ロジックとデザインの分離」を唱えながら、
> FastTemplateやカスタムタグ程度の分離に固執(納得? 妥協?)している方が
> 多い様に見えるのは気のせいでしょうか…。
[php-users:2350]で書いたように
>>> 実際にカスタムタグで実現できるのはJava構文(エセC構文)と
>>> *ML構文の分離ですね。「できることなら今すぐやりたい」のも「構文の違う言語
>>> の分離」です。
>>> カスタムタグを使ってもロジックとデザインが混在できるわけで、また、現状の
>>> PHPでもロジックとデザインの分離はできますね。
というわけで、カスタムタグは別に「ロジックとデザインの分離」を唱えている
わけではないです。
また、JavaのカスタムタグはXMLであり、本質的にはXSL(T)とかわらないと思いま
す。実際に Jakarta-taglibsにはXSLというカテゴリーもあります。
# 標準化は別として。
> でも、「ファイル」や「作業」の分離が可能かどうか、
ファイルは分離できますね。
僕の自作PHPカスタムタグの場合は、テンプレートと、テンプレート読みこみスク
リプトが否応無しに別れてしまうので、分離できますし。
> プログラム動作上の「ロジックプロセス」と「デザイン(整形)プロセス」
> の分離が可能かどうか、将来性・互換性・柔軟性のある方式かどうか等を
> 考えると、既にXSL(T)が利用できる今、あまり魅力的に感じられないと思うのです。
XML+XSL(T)の場合、いったんXMLデータを吐き出してXSLTで処理ということになる
と思います。
この場合、ネームスペースを始め、すべてが処理側とXSL(T)で独立しますよね?
つまり、XMLデータという壁をへだてて、ロジックとデザインが隔離している状態
だと思います。
Javaのサーブレット+JSP・カスタムタグの場合、変数スコープは別になりますが、
共通のクラスが利用可能です。
自作PHPカスタムタグの場合は、includeするだけなので、グローバルスコープ万
歳でそのまま変数が使えます。
ホームページの場合、ロジックとデザインが密接にかかわるので、このように適
当に共有化ができたほうがいいと思うのですが。
XML+XSL(T)のメリットは、非営利団体による標準化ということで、処理系非依存
で共通化ができるということだと思います。
XMLデータさえ吐き出してしまえば、JavaからでもPHPからでもCからでも共通の
XSL(T)が使えると言う。
っていうか、XSLとXSLTってどっちがなんだったか、いまだに使いわけれないので
すが。
----
岸田 哉生(きしだ なおき)
email:kishida@fk.urban.ne.jp
http://www.fk.urban.ne.jp/home/kishida/