dポイントプレゼントキャンペーン実施中!

smartyというのが、デザインとプログラムを分けれるというので
使ってみたのですが、

//--------------------smarty---------------------
<table border=1>
<tr>
<th>{$table.title}</th>
</tr>
{foreach item=result from=$data_list}
<tr>
<td>{$result[0]}</td>
</tr>
{/foreach}
</table>

と、smarty用の記述をHTML内にいろいろ書かなければならず
//------------------php----------------------
<table border=1>
<tr>
<th><?=$table[title] ?></th>
</tr>
<?php foreach($data_list as $key => $value){ ?>
<tr>
<td><?= $value ?></td>
</tr>
<?php } ?>
</table>

とHTML内にPHPをいろいろ書くのと 
あまり大差無い気がして どういう点がよいのがイマイチ分かりません。

smartyは 使う メリットは どういうものがあるのでしょうか。

A 回答 (1件)

こんばんは



>smartyは 使う メリットは どういうものがあるのでしょうか。
たとえば、ブログのような場合だと思います。
利用するブログにもよりますが、たいていのブログはテンプレートによって
デザインを変えられるようになっています。

このときに、HTMLの中にPHPを直接記述する場合、プログラムの部分を更新
しようとすると、すべてのテンプレートを更新しなければなりません。

一方で、
{$result[0]}
などは「結果」だけですから、その結果を求めるプログラム部分を変更しても、
「{$result[0]}」を変更する必要はありません。

業務用のプログラムなどで、機能の変更はあっても、デザインの変更の必要は
ほとんどない場合には、yuzuru0024 さんが
>HTML内にPHPをいろいろ書くのと 
>あまり大差無い
とおっしゃるようにメリットはないと思います。むしろ、別々ですと
効率が悪くなることもあります。

一方で、ブログやネットショップのようなデザインも大事な要素で、
時々変更することもあるような場合には、デザインとプログラムが別々の
方が使い勝手がよくなります。

用途次第で、smartyが便利だったり、不便になるだけだったりするのだと思います。


-------------------------
以下のサイトも参考になると思います。
http://www.smarty.net/docsv2/ja/what.is.smarty.tpl
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
将来的なデザインの変更頻度によって使い分けるのがいいみたいですね。

お礼日時:2011/10/13 08:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!