- 1 名前:nobodyさん [2008/02/02(土) 00:21:09 ID:6cKcKeTp]
- まぬあるwww.smarty.net/manual/ja/
- 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遅いじゃねーか。
- 246 名前:nobodyさん mailto:sage [2008/10/13(月) 11:38:35 ID:???]
- >・Smartyのテンプレートでエラーがあった場合、その行番号がずれている
>→ ずれてないよww エラー英文すら読めないレベルかwwww > そもそもPHPのテンプレートエラーはシステムに障害をきたすし、論外だ。 「<p>{$var}</p>」と1行だけ書いたテンプレートを用意し、$smarty->assign('var', new MyClass()); してから表示させるとこんなエラー。 PHP Catchable fatal error: Object of class MyClass could not be converted to string in /tmp/templates_c/%%C3^C35^C35E7879%%sample1.tpl.php on line 5 1行目なのに、コンパイルされたファイルの5行目でエラーとなっている。 これでどこがずれてないというの?おまえほんとにSmarty使ってるの? > エラー英文すら読めないレベルかwwww とかいうまえに、行番号ぐらい読めるようになろうぜwwww 数字の読み書きなら教えてやるぞwwww >→PHP単体でなく、Smartyを使う理由? >・テンプレートエンジンとして必要な機能を備えている 必要な機能はPHP自体がもっている。 >・拡張がし易い >・デザイナのコードがシステムに混入しない これはダウト >・PHPテンプレートエンジンとしてはメジャーで扱える人が多い PHPそれ自体はSmartyよりはるかにメジャー。PHPなら素人デザイナーでも基本は知っている。 わざわざSmartyを学習させる意味がわかんない。
- 247 名前:nobodyさん mailto:sage [2008/10/13(月) 11:41:35 ID:???]
- >>240
>僕らは楽して堅牢なシステムを作るためにSmartyを使ってるんだ。 >SymphonyとCodeIgniterの利点を教えて欲しいな(^o^ いまどきこんなこと言うのは、フレームワークを使ってないということか。 あるいはオレ様フレームワークか。 これでオレ様フレームワークつかってたら笑うなー。
- 248 名前:nobodyさん mailto:sage [2008/10/13(月) 12:01:54 ID:???]
- >>246
要するに、「うちのデザイナはPHP理解できるからSmartyいらないんだぜ」ってことな。 前提としてる環境が違うんだからいつまでも平行線なんだろうね。他にも摺りあわない理由はありそうだが。
- 249 名前:nobodyさん mailto:sage [2008/10/13(月) 12:27:09 ID:???]
- 自社おかかえのデザイナがいるならどうでもいい話だろうが
外注に出す場合、まだsmartyの文法のほうが通じやすいと感じるがなー 既にsmartyを知ってるデザイナもちょこちょこいるし 知らない場合でもマニュアルの「II. テンプレートデザイナのための Smarty」だけ読んどいてで済む さすがにPHPを覚えてくれとは言えない
- 250 名前:196 mailto:sage [2008/10/13(月) 14:37:10 ID:???]
- やっとフレームワークの話が出てきたな。
名前もうまく書けてないレスが多いが、正しくはsymfonyと言う。 >>236 > Smartyを否定するだけの根拠を持ち出さないから素人扱い Smartyを否定するつもりは無いよ。 「否定したら玄人」とか、どんな中二病だよw まず前提として、Smartyの是非を議論する場合、 Smartyありきではなく、Smartyと実装Aと実装Bは対等に比較されるべきなんだよ。 >>237も同じで煽りに内容が無い。
- 251 名前:196 mailto:sage [2008/10/13(月) 14:56:46 ID:???]
- さて本題だけど
> 196が良いって、グローバル変数かつ、ショートタグかつ、エスケープ無しがView的にOKって事かい? その考え自体がモダンじゃないんだよな。 <?=$name?>を実行するファイルの先頭に書いたら、何が表示される? Noticeが出るだけだよね(PHP4だと出ないかも)。当たり前のことだ。 「PHP単体」という言葉自体がおかしくて、(SmartyだってPHPだしな) <?=$name?>を実行するためには、まず$nameに値を代入する必要があるんだよ。 ロジックから$nameに値を代入する過程が必ずあり、そこで、 スコープの決定と、エスケープなどのビュー用の加工処理が行われる。 ちなみに、スコープの決定条件は、196とSmartyで等価だよ。 パーサのメソッドの中でincludeしたら、スコープはそのメソッドの中になる。 212のコードの欠点は、ビュー用の加工処理が、 本来HTMLであるべきファイルの中で行われることだ。Smartyも同様。 まあ、俺はSmartyを否定したいのではなく、 別の選択肢を提示して、それに対する意見を聞きたかっただけなので、 とにかくSmartyを褒めてくれなきゃヤダヤダ、という話なら正直困る。
- 252 名前:196 mailto:sage [2008/10/13(月) 15:09:46 ID:???]
- >>248-249
DreamWeaverでしかページを作れないへぼデザイナーと仕事をするとか、 外注には出すがソースレビューしたくないという場合は、 大人しくWeb製作として依頼して、コーディングは自分でやった方がいいとおもう。 結局Smartyだろうが何だろうがビューはビューなので、 MVCが理解出来ない人にビューを作らせようとしてもうまくいかんし、 テストとデバッグは結局やらなきゃいけないんだよ。 デザイナーから見たら、実際どう描画されるかわからない記号の羅列を マニュアルと変数名の指示書どおりにHTMLに書き込んでみたりして、 「たぶんこれで出来たと思うんですがどうでしょうか」と言わないといけない時点で、 それはプログラマー仕事としての負荷を被っているわけだよ。 実質的に、分業にもなっていなければ、責任の切り分けにもなっていない。 Smartyの良くないところをあえて挙げるならば、 「Smartyを使えば、へぼデザイナーとへぼプログラマーが協力出来る」という幻想を 蔓延させた事かも知れんねw
|

|