何でしょーね、上の PDF でも人を食ったようなテンプレートエンジンがありますが、PHP は元々埋込型なので要らないっちゃぁ要らないですよ。ただかゆいところに手が届かずにそれを求めてテンプレートエンジンを使っています。というかテンプレートエンジンを試すうちに規模の大きい開発ではそちらを選択するようになってきた、とか。
ロジックとプレゼンテーションを別ファイルにしたい、その場合 include でも行けるけど $template->assign.. のようにロジックの側で「何をしているのか」を明確にした文脈のある処理を記述する事が出来る、プレゼンテーションの変更無しにある程度ロジック側で対処出来る事が増える辺りが嬉しいのかも。そこで俺ルールを使うよりは Smarty のようにリソース/採用例の多いテンプレートエンヂンを選択します。
ちなみに今のテンプレートエンジンにはまだまだ不満があります。速度面と仕様面で、速度面は Smarty のようにある程度仕様が固まった所で C で書き直すか、PECL に出す手があります。仕様面については、、自分自身が「こうして欲しい」という要望を持っていてどのエンジンも不満だったり、、もっとデザイナーの側に使いやすく進化出来ます。
デザイン屋の技術力 (スコア:2, すばらしい洞察)
プレゼンテーションとロジックの分業ってのは、絵を作る側
にロジック側に依存した、その言語のタグを埋め込んで
貰うわけだが、はたして今のプレゼンテーション側の作成者に
それが出来ているの(技術力があるか)かが疑問。
結局、紙芝居だけ貰って後はロジック開発者側が、
HTMLにタグを埋め込んでいくと言うの未だに多
Re:デザイン屋の技術力 (スコア:0)
>HTMLにタグを埋め込んでいくと言うの未だに多いのでは
>無いでしょうか・・。
やはり、上記の手段が一番効率がいいのですかね?
今まで関わったものは、全て紙芝居ありきでした。
Re:デザイン屋の技術力 (スコア:0)
Re:デザイン屋の技術力 (スコア:0)
テンプレートをしっかり使える人はJavaに移っちゃうからね。
PHPって、どうしても素人用の言語ってイメージなんだよね。
確かに生産性は高いけど。
Re:デザイン屋の技術力 (スコア:1)
PHP なら今思い出せるだけで
# 釣り?
Re:デザイン屋の技術力 (スコア:0)
私もusersメーリングリストの傾向を見る限り、その印象が強い。
Re:デザイン屋の技術力 (スコア:1)
FAQ の掘り起こしとか、SQLビルダーやコードジェネレーター、マニュアルを兼ねた便利なツール代わり。もしくはヲチスレの肥やし。
下だけ見ても建設的な事はほとんど見つからないと思うんですけど。
Re:デザイン屋の技術力 (スコア:0)
Re:デザイン屋の技術力 (スコア:0)
といったことは出来ますが
Re:デザイン屋の技術力 (スコア:1)
そんなことはないと思うが。何を根拠にこんなことをいうのだろう。
だいたい、Javaのほうでもテンプレートを使いこなしている人は少ないぞ。
たいがいはVelocityやXMLCじゃなくJSPを使っている。
でもまあ、PHPにはinclude()があるから、わざわざテンプレートライブラリを
用意する必要性がうすいのは確か。
---- view.php -------
<html>
<body>
<h1><?= $title ?></h1>
Hello <?= $user ?>!<br>
</body>
</html>
---- main.php -------
<?php
// メインロジック
$title = 'include sample';
$user = 'world';
// HTMLファイルを表示
include('view.php');
?>
PHPでテンプレートライブラリを使っている人、利点を教えて。
Re:デザイン屋の技術力 (スコア:1)
http://www.php.gr.jp/seminar/20030830/doc/beginner-template.pdf
ちょっと探せばざくざく出てきますよ。
何でしょーね、上の PDF でも人を食ったようなテンプレートエンジンがありますが、PHP は元々埋込型なので要らないっちゃぁ要らないですよ。ただかゆいところに手が届かずにそれを求めてテンプレートエンジンを使っています。というかテンプレートエンジンを試すうちに規模の大きい開発ではそちらを選択するようになってきた、とか。
ロジックとプレゼンテーションを別ファイルにしたい、その場合 include でも行けるけど $template->assign.. のようにロジックの側で「何をしているのか」を明確にした文脈のある処理を記述する事が出来る、プレゼンテーションの変更無しにある程度ロジック側で対処出来る事が増える辺りが嬉しいのかも。そこで俺ルールを使うよりは Smarty のようにリソース/採用例の多いテンプレートエンヂンを選択します。
ちなみに今のテンプレートエンジンにはまだまだ不満があります。速度面と仕様面で、速度面は Smarty のようにある程度仕様が固まった所で C で書き直すか、PECL に出す手があります。仕様面については、、自分自身が「こうして欲しい」という要望を持っていてどのエンジンも不満だったり、、もっとデザイナーの側に使いやすく進化出来ます。
まぁ取り敢えず使ってみましょうよ。
んで要らないと思えば使わなければいい。
「PHP なんだからテンプレートエンジンなんか要らないぢゃん」という意見も言い換えれば数あるテンプレートエンジンの中から最速&手間いらずで使えるデフォのテンプレートを選択しているという風にも取れるワケで。
# へべれけ~~、、文章壊れてたらごめんなさい。
Re:デザイン屋の技術力 (スコア:0)
Template-ITのチュートリアル [php.net]を読み、便利そうに感じました
Re:デザイン屋の技術力 (スコア:1)
え、なんで?そのチュートリアルと同じようにすればいいだけだが。
--- view.php ---
<table>
<?php foreach($data as $name) { ?>
<tr>
<?php foreach($name as $cell) { ?>
<td><?= $cell ?></td>
<?php } ?>
</tr>
<?php ? ?>
</table>
書き方が変わるだけで、やり方の本質は同じだよ。
Re:デザイン屋の技術力 (スコア:1)
-- main.jsp --
$data = array
(
"0" => array("Stig", "Bakken"),
"1" => array("Martin", "Jansen"),
"2" => array("Alexander", "Merz")
);
include('view.php');
Re:デザイン屋の技術力 (スコア:0)
あります。(FORM 周りに制御コードが入ったりします。)
# Dreamweaver とか Dreamweaver とか Dreamweaver とか。
# MX 以降は知らないけど。
したがってこの方法ではデザインとロジックを分離したことになりません。
一人で全部や
Re:デザイン屋の技術力 (スコア:1)
テンプレートだっておなじでしょ。
紹介してくれたTemplate-ITのマニュアルにある例:
<html>
<table border>
<!-- BEGIN row -->
<tr>
<!-- BEGIN cell -->
<td>
{DATA}
</td>
<!-- END cell -->
</tr>
<!-- END row -->
</table>
</html>
いっしょじゃん。
それとも、<?php ... ?>は破壊されるけど<!-- ... -->は破壊されないとでも?
#古いDreamWeaverはそうなのかな。
>あと、view.php の方の ?= な書き方はすでに推奨されません。
これはその通りだね。すんません。便利なもんで、つい。
Re:デザイン屋の技術力 (スコア:0)
それはマニュアルのどこに書かれていますか?
<?= expression ?> は "<? echo expression ?>"のショートカットで
SGMLの処理命令ではありません。
上記はPHPマニュアル「第5章基本的な構文」に書かれています。
また、文字列関数郡のecho関数の説明にも同様のことが書かれています。
Re:デザイン屋の技術力 (スコア:1, 参考になる)
> #古いDreamWeaverはそうなのかな。
まさにそういうことです。
正確には <?php ?> の中が破壊されるわけじゃなくて HTML の中の
form のところに影響が出たりします。
Dreamweaver MX 以降ではちゃんと検証していませんが、少なくとも
4 までで再現しました。
# まぁ十分古いかもしれませんが、MX 以降は不要という考え方も
# けっこうありまして。
Re:デザイン屋の技術力 (スコア:0)
# そのおかげで ML が厨な質問であふれ返ったのは有名ではありませんか?
マニュアルを見ているのなら話は早いです。
現在公開されて