[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 06/08 11:25 / Filesize : 245 KB / Number-of Response : 924
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】 Smarty 隔離スレ 【テンプレート】



1 名前:nobodyさん [2008/02/02(土) 00:21:09 ID:6cKcKeTp]
まぬあるwww.smarty.net/manual/ja/

145 名前:nobodyさん mailto:sage [2008/07/10(木) 21:23:41 ID:???]
折角公式に日本語のマニュアルがあるというのに全く。

146 名前:nobodyさん [2008/07/21(月) 01:40:20 ID:8uak49aQ]
■ MySmarty.class.php
<?php
require_once("Smarty/Smarty.class.php");

classMySmartyextendsSmarty {

publicfunction__construct() {
$this->Smarty();
$this->template_dir="./data/templates";
$this->compile_dir="./data/templates_c";
}

}
?>

■ test.php(MySmarty.class.php と同じディレクトリ) → 正常に動作
<?php
require_once( './MySmarty.class.php' );
$o_smarty = new MySmarty();
$o_smarty->display( "main.tpl" );
?>

■ dir.php(MySmarty.class.php の直下のフォルダ) → エラー
Warning: Smarty error: unable to read resource: "main.tpl" in C:\hoge\Smarty\Smarty.class.php on line 1092

<?php
require_once( '../MySmarty.class.php' );
$o_smarty = new MySmarty();
$o_smarty->display( "main.tpl" );
?>

これは仕様なの?

147 名前:146 [2008/07/21(月) 01:41:40 ID:8uak49aQ]
MySmarty.class.phpで半角空白がなくなっていますが、
2chにコピペするときの変換ミスで、実際は正常に動いています。

148 名前:nobodyさん mailto:sage [2008/07/21(月) 01:47:07 ID:???]
仕様

149 名前:146 mailto:sage [2008/07/21(月) 01:52:13 ID:???]
>>148
ええ!? マジすか……。
それじゃ、ディレクトリが多数ある場合は、
全てのディレクトリにMySmarty.class.phpが必要ってこと?
プラグイン自作してどうにかなる話じゃないですよ?w

150 名前:nobodyさん mailto:sage [2008/07/21(月) 02:24:44 ID:???]
お前は何を言ってるんだ

151 名前:nobodyさん mailto:sage [2008/07/21(月) 03:18:45 ID:???]
>>150
いや、文字通り、Smarty.class.phpを継承した設定済みのMySmarty.class.phpを
直下以外のディレクトリに置くとtemplatesディレクトリの認識がしなくなるのが仕様だったら、
多数のディレクトリ分けしてると超大変だよね、って言ってるんだけど。

>>146が仕様で間違いないのなら、俺は何か間違ったこと言っているか?


152 名前:nobodyさん mailto:sage [2008/07/21(月) 09:54:38 ID:???]
さて問題です。

dir.phpからみて
$this->template_dir="./data/templates";
$this->compile_dir="./data/templates_c";
このディレクトリはどこでしょう?


153 名前:nobodyさん mailto:sage [2008/07/21(月) 12:55:50 ID:???]
>>152
dir.phpは、MySmarty.class.phpを呼び出しているだけで、
dataディレクトリは、MySmarty.class.phpから見た相対パスだから、
dir.phpから見たdataディレクトリの場所は、関係ないと思うけど。

そもそも、なぜか絶対パスを受け付けてくれんのよね。エラーになる。



154 名前:nobodyさん mailto:sage [2008/07/22(火) 08:41:57 ID:???]
>そもそも、なぜか絶対パスを受け付けてくれんのよね。

こっちのほうが深刻というか根幹な問題をかかえてる気がするのだが・・・

155 名前:nobodyさん mailto:sage [2008/07/24(木) 14:01:26 ID:???]
PHPは実行されてるファイルの位置がカレントディレクトリになるから……

156 名前:nobodyさん mailto:sage [2008/07/24(木) 21:30:17 ID:???]
$template_dir
これは、デフォルトのテンプレートディレクトリの名前です。 ファイルのインクルード時にリソースの種類を指定しなかった場合は、
このディレクトリから探します。デフォルトは ./templates で、 これは、実行しているスクリプトと
同じ場所にある templates/ ディレクトリを探すということです。

という文章からすると「実行しているスクリプト」が基準になるということみたいだな。

157 名前:nobodyさん mailto:sage [2008/08/01(金) 21:13:05 ID:???]
Smarty廃れましたなぁ。
そんなことより、PHPもJSPのように
カスタムタグが使えたらいいのにね。

158 名前:nobodyさん mailto:sage [2008/08/02(土) 02:29:09 ID:???]
廃れてないけど

159 名前:nobodyさん mailto:sage [2008/08/02(土) 19:51:20 ID:???]
スレ立て半年でこの程度の伸びだったら、十分廃れてるだろw
ぶっちゃけ、必要な機能だけ絞り込んで自分で作った方がいい。

160 名前:nobodyさん mailto:sage [2008/08/02(土) 19:56:13 ID:???]
いいというのはどういう点で?

161 名前:nobodyさん [2008/08/03(日) 10:51:13 ID:4+uLL3BX]
でも、テンプレートって言えば、もうSmartyでしょ。

162 名前:nobodyさん mailto:sage [2008/08/03(日) 11:32:25 ID:???]
テンプレート機能だけ使いたいならSmartyを使うか、生phpで済ませる
各種FW使うなら同梱されてるテンプレートエンジンを使う

163 名前:nobodyさん mailto:sage [2008/08/04(月) 11:49:55 ID:???]
「index.php#xxx」

smartyで↑の「xxx」を取得する方法ってありますか?




164 名前:nobodyさん mailto:sage [2008/08/04(月) 22:09:03 ID:???]
>>163
例で示されたxxxの部分は通常サーバ側には送信されることはない。
なのでサーバサイドで動いているsmartyから取得することは不可能。

165 名前:nobodyさん mailto:sage [2008/08/05(火) 16:01:03 ID:???]
>>164
ぎょぎょ!
確かにその通りでした。


166 名前:nobodyさん mailto:sage [2008/08/06(水) 21:40:18 ID:???]
仮に送信されるにしても、smartyじゃなくPHPから取ると思うんだけどなあ。

167 名前:nobodyさん mailto:sage [2008/08/07(木) 20:08:18 ID:???]
テンプレ内で{}使う方法ド忘れした誰かHELP

168 名前:nobodyさん mailto:sage [2008/08/07(木) 20:16:02 ID:???]
www.smarty.net/manual/ja/language.function.ldelim.php

169 名前:nobodyさん mailto:sage [2008/09/04(木) 10:40:28 ID:???]
{include}
で出力された結果が複数行にわたる場合、全ての行に対してインデントさせるにはどうすればいいですか?
{"\t"}{include}
とかしても先頭の行だけしかインデントされなくて

170 名前:nobodyさん mailto:sage [2008/09/04(木) 11:33:28 ID:???]
全部divで囲んでCSSで

171 名前:169 mailto:sage [2008/09/04(木) 12:15:47 ID:???]
ああ、すみません、出力されたソースでの話です・・・

172 名前:nobodyさん mailto:sage [2008/09/04(木) 12:25:57 ID:???]
変数に格納してindentかけるとか?

173 名前:169 mailto:sage [2008/09/04(木) 21:08:05 ID:???]
すみません、変数の宣言はphpファイル側でするものですか?もしそうなら、
配布されているウェブアプリがsmartyを使っているのですが
配布ファイルのバージョンアップの際に面倒なことにならないかな・・・と
というかphpはわからなくて
smartyも触るのは初めてでマニュアルを見ながら触っているのですが・・・

インデントするのも難しいですね
レスしてくれた方々、ありがとうございますm(_ _)m



174 名前:nobodyさん mailto:sage [2008/09/04(木) 21:11:12 ID:???]
Smartyの前にやるべきことが・・・

175 名前:nobodyさん mailto:sage [2008/09/04(木) 21:31:16 ID:???]
デザイナにはロジックを触らせないコンセプトのSmarty

176 名前:169 mailto:sage [2008/09/05(金) 00:54:49 ID:???]
すみません、includeのassignでできました
レスしてくれた方々、ありがとうございますm(_ _)m

177 名前:nobodyさん [2008/09/24(水) 00:32:25 ID:KMdxurbq]
JSPのカスタムタグがPHPにもあればいいのにな。
タグとクラスが一対一になってるのが素晴らしい。

178 名前:nobodyさん [2008/09/25(木) 00:09:46 ID:lXgzxRnB]
すみません、教えてください。

<p>名前:{$name}</p>

テンプレートに上記のような記述をしたのですが、
「名前:」の部分が化けてしまいます。
テンプレートファイルはEUCで保存してあります。
原因としてはどのような事が考えられますか?

179 名前:nobodyさん mailto:sage [2008/09/25(木) 01:02:44 ID:???]
>>178
テンプレートをコンパイルしたあとのPHPファイルを見てみれば?

180 名前:178 mailto:sage [2008/09/25(木) 02:06:16 ID:???]
>>179
見ましたが、既に化けてます・・・
SmartyがEUC以外の文字コードで
テンプレートを処理しているということでしょうか?

181 名前:nobodyさん mailto:sage [2008/09/25(木) 02:17:37 ID:???]
phpの文字コードがあってないんじゃない?

182 名前:178 mailto:sage [2008/09/25(木) 02:47:42 ID:???]
>>181
あ、Smarty.class.phpがカスタマイズされていました。
SJIS→EUC→SJISみたいな変換してる。
お騒がせしました。すみません。
既存のものとは別にSmartyを入れます。

183 名前:nobodyさん [2008/09/26(金) 16:36:37 ID:NKaAViJV]
template_cの中身を全部削除しても、template_cの中身を見に行こうとして、
そんなファイルないよっていうエラーが出るんですが、なぜでしょうか?
ためしに、force_compileをtrueにしてみましたが、やっぱり見に行ってしまうようです。



184 名前:183 [2008/09/26(金) 17:02:20 ID:NKaAViJV]
ちなみに、全く同じものを1つ下の階層にコピーすると動きました。
これはいったい・・・。

185 名前:nobodyさん mailto:sage [2008/09/26(金) 17:16:56 ID:???]
パスがおかしい

186 名前:nobodyさん [2008/09/26(金) 17:23:10 ID:NKaAViJV]
>>185
すいません、重要な点を忘れていました。
その別ディレクトリでコンパイルされたテンプレートを、
動かない方のtemplate_cにコピーしてやると、動くのです。
なのでパスが違ってはいないです。
全く謎・・・

187 名前:nobodyさん mailto:sage [2008/09/26(金) 17:49:10 ID:???]
そんな断片的な情報では何も判断できないけど謎だね

188 名前:nobodyさん mailto:sage [2008/09/26(金) 23:07:17 ID:???]
smartyってsjisだとエラー起きませんでしたっけ?
さっきひさぶりにやってみたらsjisでも問題なく動いた(?_?)

189 名前:nobodyさん mailto:sage [2008/09/27(土) 01:11:46 ID:???]
>>188
自己解決しました

190 名前:nobodyさん mailto:sage [2008/09/30(火) 23:16:57 ID:???]
>>189
自己解決の詳細を報告しる!

191 名前:nobodyさん mailto:sage [2008/10/01(水) 16:25:04 ID:???]
>>190
気合で解決!

192 名前:nobodyさん mailto:sage [2008/10/02(木) 16:19:26 ID:???]
preFilterでテンプレートの文字コードを内部文字コードに合わせる。
postFilterで元に戻す。

これは基本だろう。

193 名前:nobodyさん mailto:sage [2008/10/03(金) 12:27:37 ID:???]
みんななんでSmartyなんて使ってるんだ。意味がわからん。



194 名前:nobodyさん mailto:sage [2008/10/03(金) 19:01:42 ID:???]
名前:<?php echo $name ?>
よりも
名前:{$name}
のほうが書きやすくて可読性も高いから。


195 名前:nobodyさん mailto:sage [2008/10/03(金) 19:14:40 ID:???]
それだけじゃなかんべw それだけしか使ってないならもったいないw

196 名前:nobodyさん mailto:sage [2008/10/03(金) 19:36:59 ID:???]
<?=$name?>

197 名前:nobodyさん mailto:sage [2008/10/03(金) 20:29:13 ID:???]
short_tagwwww

198 名前:nobodyさん mailto:sage [2008/10/04(土) 01:57:42 ID:???]
Smarty(というかテンプレートエンジン)の便利さを解らない奴は、
素人or中級者未満だと自覚した方が良いよ。


199 名前:nobodyさん mailto:sage [2008/10/04(土) 13:26:02 ID:???]
>>198
PHPそれ自体がテンプレートじゃん
わざわざSmartyを使う意味がわからん

200 名前:nobodyさん mailto:sage [2008/10/05(日) 01:31:28 ID:???]
>>199
意味がわからんというのは、君のやってる事のレベルが低いからだと思うよ。

PHP単体でキャッシュ処理や、ループ処理、エスケープ処理、携帯、PC両対応を想定したテンプレートを書いてごらん。
PHPはテンプレートっぽく使えるだけで、実務的にテンプレート管理を行おうとしたらかなりの量のコーディングが必要になってくる。
結局はテンプレートエンジンを作る必要はあるんだよ。


201 名前:nobodyさん mailto:sage [2008/10/05(日) 01:40:36 ID:???]
・PHP
<?php echo strlen($var) ? preg_replace("/[\r\n]/", "<br />", htmlspecialchars($var)) : "hoge";?>

・Smarty
{$var|escape|nl2br|default:"hoge"}


202 名前:nobodyさん mailto:sage [2008/10/05(日) 06:55:52 ID:???]
なぜphpのほうでnl2br使わんの

203 名前:nobodyさん mailto:sage [2008/10/05(日) 11:15:11 ID:???]
modelとviewを分けたいからじゃないの



204 名前:nobodyさん mailto:sage [2008/10/05(日) 18:38:44 ID:???]
>>203
どういうこと?

205 名前:nobodyさん mailto:sage [2008/10/06(月) 03:08:54 ID:???]
PHP単体で使う人は、 >>201なりPHPで書いたコードを想定してみれば良い。

「そんなコードを書く状況は100%ねぇよw」って言うなら、Smarty使う意味無いけど。

206 名前:nobodyさん mailto:sage [2008/10/06(月) 08:52:51 ID:???]
>>202
>なぜphpのほうでnl2br使わんの
知らなかっただけだろ。
あと preg_replace("/[¥r¥n]/", "<br />") だと "¥r¥n" があったときに <br /><br /> になっちゃうから
ここは preg_replace("/¥r?¥n/", "<br />") だよな。旧Macは無視したとして。

nl2br知らないわ、正規表現間違うわじゃ、底がしれる

207 名前:nobodyさん mailto:sage [2008/10/06(月) 08:55:31 ID:???]
>>200
>PHP単体でキャッシュ処理や、ループ処理、エスケープ処理、携帯、PC両対応を想定したテンプレートを書いてごらん。

キャッシュは専用ライブラリを使う
ループ処理はPHPのforeachやwhileをそのまま使う
エスケープ処理はhtmlspecialchars()を使うか、短い名前で定義する
携帯、PC両対応はSmartyに備わってる機能ではない




208 名前:nobodyさん mailto:sage [2008/10/06(月) 14:44:20 ID:???]
>>207
全部Smartyで出来るじゃんw
使わない理由と、他のライブラリを使う理由を述べよ。

209 名前:nobodyさん mailto:sage [2008/10/06(月) 14:59:38 ID:???]
>>204
改行が必ずしも<br />とは限らないからだろ。
ViewがHTMLとは限らない。

210 名前:nobodyさん mailto:sage [2008/10/06(月) 15:10:02 ID:???]
>>209
上段はHTML以外も想定してるけど
下段はHTMLのみ想定しているってこと?

211 名前:nobodyさん mailto:sage [2008/10/06(月) 17:03:58 ID:???]
>>210
Smartyのnl2brは拡張&動作の置換が可能。

212 名前:196 mailto:sage [2008/10/06(月) 19:40:07 ID:???]
全部関数書けばいいじゃん

<?=h(e(n($name)))?>

213 名前:nobodyさん mailto:sage [2008/10/06(月) 20:27:56 ID:???]
グローバル関数っすかwww

そんなの結局は劣化車輪の再発明でしかないし、Smartyを使わない理由を述べよ。



214 名前:nobodyさん mailto:sage [2008/10/07(火) 12:25:11 ID:???]
> 車輪の再発明...
実用レベルでは、してはいけない「車輪の再発明」だが、
言語の学習段階ではレベルアップのために、あえて「車輪の再発明」は必要...

論点ずれた。スマゾ

215 名前:nobodyさん mailto:sage [2008/10/07(火) 14:30:17 ID:???]
そんな段階では「発明」でも何でもないし、する必要も無い。
物理習うときにニュートン方程式の再発明から始めるのか?

216 名前:nobodyさん mailto:sage [2008/10/07(火) 15:03:12 ID:???]
物理では再発明というか、再発見をおのおのの学生がするものじゃないの?
ぶつりほうそくとは発見ではなく自然の理解であるからして。

同様に、対象を理解するために先人の真似をするのは無駄じゃない。
物理の授業でニュートンがやった実験やるのはべつに遊びってわけじゃない。


217 名前:nobodyさん mailto:sage [2008/10/07(火) 15:10:28 ID:???]
初心者の学習段階でよくやるアレは「車輪の再発明」の域にも達してないってことさ。
学習するためにやるものじゃない。

218 名前:nobodyさん mailto:sage [2008/10/07(火) 18:26:45 ID:???]
論点ズレすぎ。

車輪の再発明自体は否定も肯定もしないけど、
>>212 とか、再発明の域にすら達してないだろ。

単にSmartyを勉強するのが面倒だから、批判してるだけに見えてしまうんよ。
実際そうなんだろうけどw

219 名前:nobodyさん mailto:sage [2008/10/07(火) 21:01:42 ID:???]
patTemplate ってはやってるの?

220 名前:nobodyさん mailto:sage [2008/10/08(水) 08:35:32 ID:???]
>>208
>全部Smartyで出来るじゃんw
>使わない理由と、他のライブラリを使う理由を述べよ。

逆だよ。PHPでできるのに、なんでSmartyを使う必要があるのってこと。

221 名前:nobodyさん mailto:sage [2008/10/08(水) 08:44:32 ID:???]
>携帯、PC両対応はSmartyに備わってる機能ではない

だからなんなん?
テンプレートエンジンを利用すれば簡潔に記述できるのは事実だろ


222 名前:nobodyさん mailto:sage [2008/10/08(水) 14:08:02 ID:???]
>>220
PHPで関数集なり、テンプレートエンジンもどきを作るくらいなら
なんで既存の枯れはてたSmartyを使わないのって事。


まぁ >>212みたいなのを見ても尚、PHPで同じ事が出来る。
と感じているのであれば、何説明しても無駄だろうけどさ。
テンプレート関数毎回作って、毎回デザイナに説明して、毎回デバッグしてるんだろうねw

223 名前:nobodyさん mailto:sage [2008/10/08(水) 16:35:41 ID:???]
ああ、、、
だから毎回デスマーチになるのかw



224 名前:nobodyさん mailto:sage [2008/10/09(木) 09:57:36 ID:???]
smartyとかテンプレートエンジンのいいとこは
デザイナに渡すときも
あとはよろしくねーって言えること。
マニュアルもちゃんとしてるし。

225 名前:nobodyさん mailto:sage [2008/10/09(木) 11:10:47 ID:???]
うちの場合ページが先に出来上がってくるから、それを元にtplを作ってるな。
それでもPHPベタ書きよりはよほど楽だしあとで修正しやすい。



226 名前:nobodyさん mailto:sage [2008/10/09(木) 16:09:53 ID:???]
デザイナに include と 変数 の使い方覚えて貰うだけでかなり楽になるよね。


227 名前:196 mailto:sage [2008/10/09(木) 23:38:15 ID:???]
>>222
> PHPで同じ事が出来る。

逆だよ。Smartyが前提なのではない。
素のPHPに対してSmartyをわざわざ追加する必要が無い、ということ。

しかしほんと、化石みたいなスレだな。
Smarty信者はまだPHP4とか使ってるのかね。


228 名前:nobodyさん mailto:sage [2008/10/10(金) 00:21:33 ID:???]
smartyってもうはやってないの?

229 名前:nobodyさん mailto:sage [2008/10/10(金) 01:12:51 ID:???]
>>227
必死すぎwww
196のコードなんでPHP4とか以前にPGとしてウンコのレベルだろww

君が無知なのはわかったから
PHP単体じゃテンプレートエンジンとして機能しないのに、
「何故、Smartyは必要ないのか」を具体的に答えてくれよな?

もしSmarty云々じゃなくてテンプレートエンジンがいらねーって事なら論外だ。
初心者スレから出直してこい。


>>228
普通に使われているし、需要も多いよ。
先月にも解説新刊が出た。

230 名前:196 mailto:sage [2008/10/10(金) 09:49:15 ID:???]
>>229
答えは196に示してある通りなんだが。

俺もSmartyは仕事で3年くらい使ってたよ。

> 「何故、Smartyは必要ないのか」を具体的に答えてくれよな?
> もしSmarty云々じゃなくてテンプレートエンジンがいらねーって事なら論外だ。

じゃあ俺はお前さんにとって論外らしいので、議論の余地は無いな。

SmartyじゃないとMVCが守れない開発者は現場では使えない。

もしお前さんがデザイナーなら、PHPの基礎くらい勉強しろと言いたくなるな。
うちのWebデザイナーはみんなPHP触れるよ。

> 初心者スレから出直してこい。

ここよりレベルの低いスレがあるのか。それは恐ろしいな。


231 名前:nobodyさん mailto:sage [2008/10/10(金) 10:34:43 ID:???]
>>225
それだとあとでデザイン修正があったときとかめんどくさくない?
もらったデザインを前のとdiffかけて
差分をtplに反映とか。

ただプログラマが一元的に管理してたほうが
セキュリティ的にはいいよね。
escape忘れただけで大変なことになることもあるし。


232 名前:nobodyさん mailto:sage [2008/10/10(金) 15:47:13 ID:???]
196やら212のコードを記述するぐらいなら俺はSmarty使うよ。

233 名前:nobodyさん mailto:sage [2008/10/10(金) 17:37:52 ID:???]
196が答えか、、、終わってるなw
こんな輩が得意げに宣ってるからPHPはウンコだって言われるんだろうな。



234 名前:nobodyさん mailto:sage [2008/10/10(金) 17:44:35 ID:???]
少なくとも俺の現場ではショートタグは使えない

235 名前:196 mailto:sage [2008/10/10(金) 23:28:20 ID:???]
212に不満があるのは理解出来るけど、196は良いと思うんだけどな。
209の要件を満たす方法の一つが212で、それは211と大して変わらない。

だけど196は、MVCさえ理解できれば、209で述べられている要件も、
201よりスマートなコードにする事も、満たすことが出来るんだ。

なんでか知らんけど、Smartyを信じる人は知識があって偉い、
そうじゃない人はみんな素人だ、という反論しか戴けないのは残念だな。

>>234
ストローク数の少なさと可読性は若干損なわれるが、
それでもSmartyよりは<?php echo $name ?>のほうがマシだと思う。


236 名前:nobodyさん mailto:sage [2008/10/11(土) 00:30:31 ID:???]
>Smartyを信じる人は知識があって偉い、
>そうじゃない人はみんな素人だ

誰もそんな事言ってないから。
君がSmartyを否定するだけの根拠を持ち出さないから素人扱いされちゃうんだよ。
(まぁ、テンプレートエンジンを否定してる時点で底が知れてるけども。)

196が良いって、グローバル変数かつ、ショートタグかつ、エスケープ無しがView的にOKって事かい?
それなら、早急にWEB系PGを辞めた方が良い。

212の記法に疑問を持たないのであれば、
やはり、早急にPGを辞めた方が良い。

一応聞いとくけど、OOP&MVC的に開発する時、どんな構成で作ってるの?
フレームワークとかライブラリとか教えてよ。
まさかhtdocs以下に.phpファイルを量産してたりしないよね?


237 名前:nobodyさん mailto:sage [2008/10/11(土) 06:53:44 ID:???]
>それでもSmartyよりは<?php echo $name ?>のほうがマシだと思う。
ほらほらこんな書き方すると単にSmartyを叩いてるようにしかみえないよ

196が同じ人なら、その内容からとてもSmartyを理解してる人には思えないんだよね

>196は良いと思うんだけどな。
PHP(web)初心者だよね(笑)


238 名前:nobodyさん mailto:sage [2008/10/11(土) 12:06:19 ID:???]
いやだから、PHPで同じことができるのにわざわざSmartyを使う理由ってなに?
今まででたのは、<?php echo $var; ?> が短く書けることぐらい?

SymphonyとCodeIgniterを使って開発したけど、どっちもSmarty使わなかったし、それで何の問題もなかった。

>>229
>「何故、Smartyは必要ないのか」を具体的に答えてくれよな?
・SmartyでやろうとしていることはPHPでできる
・Smartyは学習コストがかかる
・Smartyは遅い
・Smartyのテンプレートでエラーがあった場合、その行番号がずれている

で、Smarty使う理由って何?
>>229は他人を無知よばわりしてるから、おれの知らないSmartyの利点ってやつを教えてくれ。

239 名前:nobodyさん mailto:sage [2008/10/11(土) 12:07:00 ID:???]
まちがえた、Symfonyね。


240 名前:nobodyさん mailto:sage [2008/10/11(土) 22:10:00 ID:???]
・SmartyでやろうとしていることはPHPでできる
→ PHP単体では出来ない。別個にエンジンを作る必要がある。
  キャッシュ、フィルタ、プラグイン、コンフィグをPHP単体でどうやって書くんですか?
  
・Smartyは学習コストがかかる
→ 少なくとも独自エンジンやPHPを覚えさせるより、簡単で学習環境も整っている。

・Smartyは遅い
→ 同様の機能(キャッシュ、構文、プラグイン等)を実際に実装して比較してみたかい?
  スレ頭のピュアコードより5倍遅いとかいうのを真に受けてるだけだろw
ビジネスロジック層と比べれば軽い処理なので、システム的には対した差はでねーよw
 
・Smartyのテンプレートでエラーがあった場合、その行番号がずれている
→ ずれてないよww エラー英文すら読めないレベルかwwww
  そもそもPHPのテンプレートエラーはシステムに障害をきたすし、論外だ。

→PHP単体でなく、Smartyを使う理由?
・テンプレートエンジンとして必要な機能を備えている
・拡張がし易い
・デザイナのコードがシステムに混入しない
・PHPテンプレートエンジンとしてはメジャーで扱える人が多い


>SymphonyとCodeIgniterを使って開発したけど、どっちもSmarty使わなかったし、それで何の問題もなかった。
良かったね。
僕らは楽して堅牢なシステムを作るためにSmartyを使ってるんだ。
SymphonyとCodeIgniterの利点を教えて欲しいな(^o^

241 名前:nobodyさん mailto:sage [2008/10/13(月) 03:31:41 ID:???]
cakeを上げないあたりにひねくれものな感じがプンプンするぜ

242 名前:nobodyさん mailto:sage [2008/10/13(月) 10:28:16 ID:???]
Smartyがデフォルトのテンプレートエンジンになっているフレームワークってありますか。

243 名前:nobodyさん mailto:sage [2008/10/13(月) 11:11:34 ID:???]
>>240
>・デザイナのコードがシステムに混入しない

いくらなんでもこれは冗談でしょ。



244 名前:nobodyさん mailto:sage [2008/10/13(月) 11:17:06 ID:???]
>>242
普通は自分で選ぶ

245 名前:nobodyさん mailto:sage [2008/10/13(月) 11:31:25 ID:???]
>>240
>→ PHP単体では出来ない。別個にエンジンを作る必要がある。
>  キャッシュ、フィルタ、プラグイン、コンフィグをPHP単体でどうやって書くんですか?
PEARにいくらでもライブラリあるけど。プラグインは普通に関数でいいだろ。コンフィグも普通にPHPファイル。

>→ 少なくとも独自エンジンやPHPを覚えさせるより、簡単で学習環境も整っている。
んなわけない。なんでPHPよりSmartyのほうが簡単で学習環境も整っているといえるんだよ。

>→ 同様の機能(キャッシュ、構文、プラグイン等)を実際に実装して比較してみたかい?
>  スレ頭のピュアコードより5倍遅いとかいうのを真に受けてるだけだろw
>ビジネスロジック層と比べれば軽い処理なので、システム的には対した差はでねーよw
おまえこそほんとに測定したのかよ。明らかにSmarty遅いじゃねーか。








[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<245KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef