- 1 名前:nobodyさん [2007/10/17(水) 16:01:41 ID:72/gWtt1]
- 前スレ
pc11.2ch.net/test/read.cgi/php/1181350116/
- 229 名前:nobodyさん mailto:sage [2007/10/30(火) 01:30:17 ID:???]
- なんかこういう流れは前にもあったなー、と思ったら、JavaでのEJBとPOJOの流れによく似とらんかいの?
昔、EJBが全盛だったころは猫もしゃくしもEJBを使おうとしておっての、EJBが使えないと一人前とは見なされなかった。 その時期に「EJBは複雑すぎる。もっと簡単なソリューションがあるはずだ」といってみても、お前の頭が悪いからEJBを使いこなせないだけだろ、と一喝されたものだ。 でも結局はIoCだのDIだのPOJOだのがでてきて、SpringやHibernateが主役になった。あれだけベンダーが金をつぎこんだEJBはもはや誰も見向きもしない。 あの当時、EJBを誇らしげに語ってたやつやベンダーは、今はそんなことはまるでなかったかのように「これからはDIだ」とか語ってんの。自分たちが今まで間違ってたことはなかったことになってるらしい。 Smartyから素のPHPへの回帰も、規模は小さいけどよく似てないかの。みんながSmartyだと言ってたから、よく考えもせずにSmartyを採用してたというのが本当のとこじゃないかの。 みんながSmartyといえばそれを持ち上げ、Smartyいらないという流れになれば立場を変える。EJBのやつらとなんも変わらんわの。どっちも自分の頭を使ってない。 Ruby on Railsは変なテンプレートエンジンを使ってなくて、eRubyをそのまま使ってるけど、単に使ってるというんじゃなくて、自信を持って「他のテンプレートエンジンはいらない」と言い切ってる。 Railsの作者はよくわかってる。PHP陣営も見習ってほしいのう。 さて、アニメでもみるかの。今日は何があったかの。
- 230 名前:nobodyさん mailto:sage [2007/10/30(火) 01:40:31 ID:???]
- >>229
それがこのスレでとっくの昔に出てた結論だよ PHPer馬鹿にすんなよ
- 231 名前:nobodyさん mailto:sage [2007/10/30(火) 01:44:53 ID:???]
- 言ってる内容は陳腐とはいえ特に問題ないが
「自分は分かってる。自分以外はバカだから分かってない」みたいな口ぶりがムカつくので 賛同してやらん。
- 232 名前:nobodyさん mailto:sage [2007/10/30(火) 01:53:53 ID:???]
- またもやアニオタはダメだとの論拠が強化された。
- 233 名前:nobodyさん mailto:sage [2007/10/30(火) 01:53:57 ID:???]
- >>176
単純だけど便利になったわ 今まで単にvar_dumpしてた
- 234 名前:nobodyさん mailto:sage [2007/10/30(火) 01:55:01 ID:???]
- >>232
駄目っていうか思いこみが激しいな まあどうでもいいけど
- 235 名前:nobodyさん mailto:sage [2007/10/30(火) 02:51:06 ID:???]
- journal.mycom.co.jp/news/2007/10/29/013/images/001l.jpg
Rubyは公式ロゴが決定したというのにぺちぱーは醜い内部抗争ワロスwww
- 236 名前:nobodyさん mailto:sage [2007/10/30(火) 02:51:39 ID:???]
- >>230
とっくの昔ってどのへん? 過去スレならどのスレのどのあたり?
- 237 名前:nobodyさん mailto:sage [2007/10/30(火) 02:56:15 ID:???]
- >>231
Smartyユーザ乙。 おまえの賛同なんかだれもいらんと思うが 少なくともRailsの作者はわかってる、と書いてある。 >>221 生PHP + 自作関数 かな。
- 238 名前:nobodyさん mailto:sage [2007/10/30(火) 04:05:16 ID:???]
- 俺俺FW作ってるけど
リクエストパラメータとエラーメッセージを どうやってviewに渡すかいつも迷う mojavi系みたいにRequestクラスを作るかとか 関数の中のstatic変数に保持させようかとか 静的クラスに保持させようかとか・・・ 選択肢が多くて決められねーyo
- 239 名前:nobodyさん mailto:sage [2007/10/30(火) 04:33:04 ID:???]
- requestオブジェクト作ってcontextオブジェクトにぶち込んどけばいいんじゃね
と、勝手に思うけど、好きにやってみて改良改良・・がいいんじゃね 俺俺FWなんだから そんなの考えてたら他のFWと同じに(ry
- 240 名前:nobodyさん mailto:sage [2007/10/30(火) 05:53:29 ID:???]
- ZFでリクエスト周りってどうなってんの?
Zend_Requestみたいのないけど
- 241 名前:nobodyさん mailto:sage [2007/10/30(火) 06:06:19 ID:???]
- Zend_Memory コンポーネントは、 限られたメモリ環境でデータを管理するためのものです。
メモリマネージャが要求に応じて メモリオブジェクト (メモリコンテナ) を作成し、 必要に応じて透過的にスワップ/読み込みを行います。 たとえば、あるオブジェクトを作成あるいは読み込むことによって メモリの使用量が制限値を超えてしまう場合に、 管理しているオブジェクトのいくつかをメモリの外部の キャッシュにコピーします。 このようにして、管理しているオブジェクトのメモリ使用量が 制限値を超えないようにします。 どんな仕組みだこれ? PHPの限界超えてねーか?
- 242 名前:nobodyさん mailto:sage [2007/10/30(火) 12:15:34 ID:???]
- 素敵コードを書けない>>177のために、かわりに書いてみた。
anond.hatelabo.jp/20071030034313 Smartyの倍は速いエンジンだ。アプリケーションが倍速くなるわけじゃないけど。 >>177 >そうそう、Smartyはほんと良く出来てるよね ><?php echo $hoge; ?>なんて書かずに{$hoge}だけだし これでわかるだろ、自作関数をちょっと書けばSmartyなんかいらないことが。 それすらできないやつが「{$hoge} だけで済むSmartyはよくできてる」とかいってる。 そして今日もPHPユーザがばかにされる。残念よのう。 でもまあ foreachelse みたいなのは PHP にもあっていいかもな。 Pythonにはあるようだし。
- 243 名前:nobodyさん mailto:sage [2007/10/30(火) 12:23:50 ID:???]
- 素敵。
これにゴテゴテ機能をつけずに、1枚includeすれば便利に使えるってのが一番美しいと思う。
- 244 名前:nobodyさん mailto:sage [2007/10/30(火) 13:05:40 ID:???]
- >>242-243
こいつら、昔のLinuxユーザと同じ間違いを犯してる
- 245 名前:nobodyさん mailto:sage [2007/10/30(火) 13:15:28 ID:???]
- >>242
つっこむのもなんだけど、 #{} の中に } が入るとエラーになるよ。 convert_template のコメントを見て思いだしたのだが、 file_put_contents には LOCK_EX の指定ができるのに、 file_get_contents には LOCK_SH の指定ができないのは何故なんだ。
- 246 名前:nobodyさん mailto:sage [2007/10/30(火) 13:32:58 ID:???]
- >>242-243
カワイソウ..
- 247 名前:nobodyさん mailto:sage [2007/10/30(火) 13:43:15 ID:???]
- 何故クラス化しなかったのかが気になる。
- 248 名前:nobodyさん mailto:sage [2007/10/30(火) 13:48:09 ID:???]
- Smartyを擁護する気は毛頭無いが、自作関数自作関数言ってる人は、
よっぽどでかい案件か、もしくは自分で遊ぶアプリしか作ってないのかな?って思う。 何件もやってると、如何に「自分流」を入れないか、という事を気にするな、俺は。 メンテするの俺じゃないし。 ・・・、本音を言えば・・・、自分流を入れると、後々それが間違ってたとして バカにされるのが怖いっていうのもあるw 純正で対応してくれるならそれが一番! でかい案件だと、色々と手を加えないとダメなんだろうな、とは思う。 俺は<% %>を廃止しなければ幸せになれるんじゃないだろうか・・・と思ってる。
- 249 名前:nobodyさん mailto:sage [2007/10/30(火) 13:49:22 ID:???]
- 置き換えだけだったら意味薄くね?
かといって制御構造取り入れるとブクブク太って醜くなる 生php最強
- 250 名前:nobodyさん mailto:sage [2007/10/30(火) 13:57:59 ID:???]
- ちゃんと学校に行ってるのかが気になる。
- 251 名前:nobodyさん mailto:sage [2007/10/30(火) 13:59:16 ID:???]
- 60行でバグ出すなら実績とるわな…
- 252 名前:nobodyさん mailto:sage [2007/10/30(火) 14:01:31 ID:???]
- >>251
激しく同意 「自作で」とか言っている奴はこのあたりが分かっていない
- 253 名前:248 mailto:sage [2007/10/30(火) 14:11:52 ID:???]
- >>252
>>251は俺に対する皮肉(?)でしょ? 別に<?php echo 〜 ?>に限った事じゃなく、自作O/Rマッパーとか。 また、 function o(){・・・} やら function d(){・・・} やら、自分で使う分には 全く問題ないと思うよ。俺も自分で使う分にはよく使うよ。すっげー便利。 ただ、自分以外もメンテするものに使うのはどうかな?と思ってる。 そもそもそんな関数名、命名規則違反じゃないの?そのプロジェクトで。 で、そんなものをいっぱい量産するのはどうなの?って事。 と、思ったけど、場面々々で有効、無効あるから、この言い争いは無意味だったね。 すまん。
- 254 名前:nobodyさん mailto:sage [2007/10/30(火) 14:15:45 ID:???]
- なんにでも完璧はないし、ケースバイケースだと思うがな
何はどうあれ、ちゃんとコードを書いて晒した >>242 に賛辞を送りたい へこむなよ > 242
- 255 名前:nobodyさん mailto:sage [2007/10/30(火) 14:34:37 ID:???]
- >>253
>>248にも激しく同意だから >>251は素直にそのままの意味で解釈した。
- 256 名前:nobodyさん mailto:sage [2007/10/30(火) 14:35:48 ID:???]
- 実際、>>245で突っ込みが入っているし
- 257 名前:nobodyさん mailto:sage [2007/10/30(火) 14:44:04 ID:???]
- 別に>>242がコードを書いて晒さなくてはいけない場面でもないのに、
勝手に晒して「それすらできないやつが」などどほざいた挙句、 すぐにつっこまれている奴に賛辞は送れないな
- 258 名前:nobodyさん mailto:sage [2007/10/30(火) 14:45:12 ID:???]
- テンプレートエンジン厨は去れ
- 259 名前:nobodyさん mailto:sage [2007/10/30(火) 14:50:26 ID:???]
- >>258
自作厨(笑)
- 260 名前:nobodyさん mailto:sage [2007/10/30(火) 15:02:18 ID:???]
- フレームワークの話題スタート↓
- 261 名前:nobodyさん mailto:sage [2007/10/30(火) 15:06:27 ID:???]
- フレームワークの話題フィニッシュ
- 262 名前:nobodyさん mailto:sage [2007/10/30(火) 15:07:25 ID:???]
- >>260-261
ちゃんと/**/付けろよw
- 263 名前:nobodyさん mailto:sage [2007/10/30(火) 15:27:52 ID:???]
- Smarty叩きとHTML_QuickForm叩きはこのスレの永遠のテーマだな
- 264 名前:nobodyさん mailto:sage [2007/10/30(火) 15:33:37 ID:???]
- そんなこと言ったら今度はQF厨がくるかららめぇ
- 265 名前:nobodyさん mailto:sage [2007/10/30(火) 15:51:39 ID:???]
- >>245
> つっこむのもなんだけど、 #{} の中に } が入るとエラーになるよ。 それは仕様。Perlじゃないから式の中に { } が出てくるのはまれ。実用上問題ない。<?= ?> とか <%=h %> よりはこっちのほうがいいと思うがの。 どうしても使いたいなら <?php $var = ' } を使った式'; ?> <span>#{$var}</span> とすりゃあいい。もしくは改造するか。 でも file_put_contents() で LOCK_EX の指定ってできるんだ。知らなかった。サンクス。 >>248 問題はそこじゃない。この程度の関数で済むものを、わざわざ大げさでかつ大して便利でもないテンプレートエンジン使ってることを問題にしてるんじゃがの。 Smartyと同じ規模のものを自作関数で作ったというなら248のいうことももっともだが、たかが数十行に対してこの見解は的外れ。
- 266 名前:nobodyさん mailto:sage [2007/10/30(火) 15:55:34 ID:???]
- 数十行ごときのプログラムをバグ無しで書けないような奴は、どの道・・・。
- 267 名前:nobodyさん mailto:sage [2007/10/30(火) 15:56:55 ID:???]
- ( ^ω^)おっおっおっ
- 268 名前:nobodyさん mailto:sage [2007/10/30(火) 15:57:47 ID:???]
- 一連の流れが自作自演に見えてしまうwww
- 269 名前:nobodyさん mailto:sage [2007/10/30(火) 16:05:12 ID:???]
- >>249
書き換えだけでも十分役に立つ。<?php echo htmlspecialchars() ;?> は頻繁に使う機能だから、それが簡潔になるのは大きい。 そもそも元のPHPが十分な機能をもっているんだから、あまり付け加える機能はない。 といいつつ、自分が使っているのはレイアウトテンプレートをサポートしているがの。 >>251 バグってどのこと?まさか>>245のことをいってるんじゃないよね・・・ もし > #{} の中に } が入るとエラー が問題なら、Smartyでも同じ問題おこるから、そっちのほうが大問題だがの。 Smarty派はそれについてはスルーかの。 >>252 数十行のコードすら自分でバグ直せないのか。。。そいつはすまんかった。話の前提が間違ってた。そういうことならSmartyでもなんでも人任せにできるものを使ってくれ。 わしにしたら、バグがあったとしても、小さい自作関数ならその場ですぐに直せるけど、Smarty規模になると自分ではなかなか直せんから、自作関数の方を選ぶがの。メンテナンスのことを考えた上で。 まさかSmartyにはバグがないとかいうやつはおらんと思うけど。
- 270 名前:nobodyさん mailto:sage [2007/10/30(火) 16:15:27 ID:???]
- とりあえず、作ってみた姿勢は評価するんだけどね。
preg_replace()だけだからわざわざ作る必要も無い気がする。 (初心者には便利だわな。) しかし、ここはフレームワークのスレなんだと何度言ったら(ry ・・・まぁ、ここにはフレームワークとテンプレートエンジンの区別も付かない奴しか居ないんだからしょうがないか。
- 271 名前:nobodyさん mailto:sage [2007/10/30(火) 16:26:18 ID:???]
- >>269
>わしにしたら、バグがあったとしても、小さい自作関数ならその場ですぐに直せるけど >>248の言っていることを一蹴している割に、ぜんぜん理解してないことがバレバレw >>270 ふ〜ん、ごりっぱですね
- 272 名前:nobodyさん mailto:sage [2007/10/30(火) 16:27:11 ID:???]
- 最後の一行で煽ってるあたり、まだまだ論争を続けて欲しいように見受けられる。
270は嫌々言いながらも攻められるのが好きなドMなんだ。そうだろ?
- 273 名前:nobodyさん mailto:sage [2007/10/30(火) 17:08:04 ID:???]
- >>265
最近のFWは<?php echo htmlspecialchars() ;?>なんてしないよ アサイン時に一括エスケープするから symfony,ci,モダンなFWはだいたいそう smarty派も非smarty派もテンプレートエンジンに拘ってる時点で旧式 もしかして過去から書き込んでるのか?
- 274 名前:nobodyさん mailto:sage [2007/10/30(火) 18:10:13 ID:???]
- >>273
未来からは書けないと思う。
- 275 名前:nobodyさん mailto:sage [2007/10/30(火) 19:05:37 ID:???]
- なんだQuickFormも使いこなせない奴が多いんだな
馬鹿ばっかりか
- 276 名前:nobodyさん mailto:sage [2007/10/30(火) 20:06:47 ID:???]
- フレームワーク採用する何て言ったら気絶しそうな勢いだな。
- 277 名前:nobodyさん mailto:sage [2007/10/30(火) 20:12:33 ID:???]
- ツールを作る人間もいるというのに、使えただけで俺はすごいとか妄想できるって幸せだな
- 278 名前:nobodyさん mailto:sage [2007/10/30(火) 20:36:44 ID:???]
- フレームワークに使われてる奴多いなププ
- 279 名前:nobodyさん mailto:sage [2007/10/30(火) 20:49:16 ID:???]
- ∩アイ
- 280 名前:nobodyさん mailto:sage [2007/10/30(火) 21:08:44 ID:???]
- ソース読め的なレベルの質問で本当に申し訳ないのですが、DIコンテナを使用したフレームワークってどんな感じの作りになっているのでしょうか。
色々ググって見たのですが、スキルが低いため、説明を読んで見てもいまいちイメージ出来ません。(依存性の注入?とか。。) シングルトンで各オブジェクトを引っ張って来てるみたいですが、このあたりが肝だったりするのでしょうか。 くだらない質問かと思いますがよろしくお願い致します。
- 281 名前:nobodyさん mailto:sage [2007/10/30(火) 22:57:38 ID:???]
- >>280
Javaスレにいったほうがいいんじゃない? そっちのほうが活発だから。 あとシングルトン自体はあまり肝じゃない。 ぶっちゃけ規約で制限してもできることだから。
- 282 名前:nobodyさん mailto:sage [2007/10/30(火) 23:00:33 ID:???]
- >>277
> ツールを作る人間もいるというのに、使えただけで俺はすごいとか妄想できるって幸せだな すでに存在するツールを作っても車輪の再発明と言われるように、 どんなアプリにも共通する土台(フレームワーク)を再発明したら馬鹿だろ・・・ 使えるものは使わないとね。
- 283 名前:nobodyさん mailto:sage [2007/10/30(火) 23:01:41 ID:???]
- テンプレートエンジンでもフレームワークでもこの際どっちでもいいんだけど、
それらを自作してるやつって一人で作ってるか、プロジェクトで自分の 作ったフレームワークが採用されたってことか? なんかここの流れ見てると、プロジェクトの各メンバーが 「今回のプロジェクトでは俺の自作フレームワークを使おうぜ!」 となりそうな気がする。 プロジェクトで使うためのフレームワークを社内開発したというならまだわかるんだけど。
- 284 名前:nobodyさん mailto:sage [2007/10/30(火) 23:06:45 ID:???]
- >>275
> なんだQuickFormも使いこなせない奴が多いんだな QuickFormってたしか、コードでFormの項目にあたる部分を定義したら それに相当するHTMLとチェックコードを生成してくれるライブラリだっけ? コードでデザイン作るようなものでMVCになっていない。 これ使ってもデータベースと連携するところまでは楽にならない。 ということでフレームワークを使い始めてからは こんなライブラリは使えないと思うようになったよ。
- 285 名前:nobodyさん [2007/10/30(火) 23:28:26 ID:N/0PbTQK]
- フレームワークはいいんじゃね?Smartyがダメなだけで。
- 286 名前:nobodyさん mailto:sage [2007/10/30(火) 23:35:28 ID:???]
- Smartyはただのテンプレートだから・・・
フレームワークのビューの部分でしかない。
- 287 名前:nobodyさん [2007/10/30(火) 23:35:47 ID:N/0PbTQK]
- ああQuickFormとかは有り得ないと思ったな。
毎日毎日同じようなもの作るんだったら良いかもしれないけど、忘れた頃に作るとなるとマニュアル見て、('A`)メンドクセ
- 288 名前:nobodyさん mailto:sage [2007/10/30(火) 23:36:30 ID:???]
- Quickformは一時期はまった
あの発想自体はいいと思う
- 289 名前:nobodyさん mailto:sage [2007/10/30(火) 23:43:01 ID:???]
- 最新のフレームワークを使ってないと過去の人らしい。
>>273 >アサイン時に一括エスケープするから エスケープしたいのとしたくないのが混じってるときはどうするの?
- 290 名前:nobodyさん mailto:sage [2007/10/30(火) 23:48:16 ID:???]
- >>289
rawコンテナみたいのも提供してるからそこから取り出すように出来てる FWを使っていてエスケープせずに表示したかったことは まったくといっていいほどなかった、というのは藤本神のお言葉
- 291 名前:nobodyさん mailto:sage [2007/10/30(火) 23:49:31 ID:???]
- 昔作ったSmarty+QuickFormな遺産があって今でもメンテしてる。
当時の俺にコンポーネント指向ってのが頭にあったらもう少し うまく使いこなせてたんじゃないかなと思ってる。 > QF
- 292 名前:nobodyさん mailto:sage [2007/10/30(火) 23:50:32 ID:???]
- >>283
>なんかここの流れ見てると、プロジェクトの各メンバーが >「今回のプロジェクトでは俺の自作フレームワークを使おうぜ!」 >となりそうな気がする。 なるわけがないー 全員ひきこもりでコミュニケーション能力がないとその可能性はあるけど、 普通は互いに考えをぶつけ合ってひとつのものを作るわな。 たいがいは一人スキルの高い人がいて、その人が中心になるけどな。 283こそ創造的なプロジェクトの経験がなさそう(あったらごめんね、でも経験があればそんなこと書かないよ)
- 293 名前:nobodyさん mailto:sage [2007/10/31(水) 00:07:52 ID:???]
- >>290
>rawコンテナみたいのも提供してるからそこから取り出すように出来てる これ、blogやwikiみたいなの作るときは無駄過ぎね? $html = parse_wiki($wiki); みたいなのがあって、これをビューに渡して表示させたいとき、当然HTMLエスケープはせずに表示するよね。 でもアサイン時に一喝してHTMLエスケープしたら、$html も問答無用でエスケープされるんでしょ? wikiやblogだと $html の中身は長くなるから、必要のないエスケープが毎回強制的に実行されるのはすごく無駄だ。エスケープ処理はけっこう重いよ?測ってみたらわかると思うけど。 >FWを使っていてエスケープせずに表示したかったことは >まったくといっていいほどなかった、というのは藤本神のお言葉 それほんとか? $html = nl2br(htmlspecialchars($text)); みたいなのしょっちゅう出てくるけど。 あとは<pre<で表示するコードを色付けして表示したいとき <pre<<?php echo htmlspecialchars($code); ?></pre< ではなくて <pre<<?php echo parse_proram($code, 'javascript'); ?></pre< にするし。 レイアウトテンプレートを使ったら当然エスケープしないし。
- 294 名前:nobodyさん mailto:sage [2007/10/31(水) 00:08:12 ID:???]
- >>290
そりゃ作るシステムによりすぎだろう WikiとかCMSみたいのとか作ってると エスケープしたくない場合なんていくらでもあると思うよ symfonyのESC_RAW引数とかは使い勝手がよく出来てるなーと思った 遅そうだけどキニシナイ
- 295 名前:nobodyさん mailto:sage [2007/10/31(水) 00:09:42 ID:???]
- 激しくカブったがキニシナイ
</pre< なんか魚っぽいなw
- 296 名前:nobodyさん mailto:sage [2007/10/31(水) 00:12:55 ID:???]
- >>292
いや、だから互いに考えをぶつけあって 社内開発用フレームワークみたいのを 作ってるんならわかるんだって。 もしくは個人でやってるなら別に好きにやればいいと思うし。 実際このスレの住人てどんなプロジェクトでやってるのかふと疑問に思ったんだよ。
- 297 名前:nobodyさん mailto:sage [2007/10/31(水) 00:21:44 ID:???]
- >>289
やっぱり一括エスケープするのはよくないよ。 単にエスケープし忘れを防ぎたいとか、
- 298 名前:nobodyさん mailto:sage [2007/10/31(水) 00:28:39 ID:???]
- サニタイズ言うなって人にエスケープは直前にやれって怒られるぜ
- 299 名前:nobodyさん mailto:sage [2007/10/31(水) 00:28:43 ID:???]
- どこでもデフォでエスケープがデフォだな
- 300 名前:nobodyさん mailto:sage [2007/10/31(水) 00:29:22 ID:???]
- >>294
システムによりけりってアンタ、掲示板ひとつ作るにしても nl2br(htmlspecialchars($text)) は出てくるだろ。 SNSでのプロフィール表示とか。 >エスケープせずに表示したかったことはまったくといっていいほどなかった と言い切れるって今までどんなシステム作ってきたんだよ。 >>295 すまんかった ところでsymfonyもCIも、一括エスケープされるのは強制的なの? こんな余計な機能はいらないからオフにして、かわりに好きなテンプレートエンジンが使えるようにしてほしい。 もしオフにできないなら、CI使おうとおもってたけどやめようかな。
- 301 名前:nobodyさん mailto:sage [2007/10/31(水) 00:32:39 ID:???]
- もはや自動エスケープは常識だと思ってた
そういう意見があったことのほうが非常に意外で興味深い
- 302 名前:nobodyさん mailto:sage [2007/10/31(水) 00:35:20 ID:???]
- >>300
オンラインショップのバックエンドとか旅券発行システムとかで エスケープ必要なかったシステムはいくつも見てきているけど だからって「全くといっていいほど」とはとても思えない程度にはあったなぁ CI知らないけどSymfonyではエスケープの方式をいくつかから選択できるよ 何もしない、闇雲に全部やる、 普通の表示は全部やるけど必要なものは別オブジェクトからrawで取り出す、など。
- 303 名前:nobodyさん mailto:sage [2007/10/31(水) 00:41:28 ID:???]
- 失敗してたので再投稿。
>>290 やっぱり一括エスケープするのはよくないよ。 単にエスケープし忘れを防ぎたいとか、htmlspecialchars() が面倒というだけなら、ビューがデフォルトでエスケープするようになってればいいだけ。 素のPHPはそうなってないけど、そうなっているようなテンプレートエンジンを選べばいいだけの話。 一括エスケープは、目的のための手段のひとつに過ぎない。手段はほかにもあるし、一括エスケープが最適な方法とは思えない。 なんか最新のフレームワークでそうなっているからとか、えらい人がそう言ったからとか、そんなことで決めてないか? >>290からはそんな匂いがプンプンする。 もし最新のフレームワークがSmarty使ってたら、または○○神がSmarty使ってたら、Smarty使うことが最高の方法ということになるのか? でもSymfonyもCIも一括エスケープが基本なのか。CI使おうと思ってたけど萎えた。 こんな機能いらんから、テンプレートエンジンが自由に選べられるようにしてほしい。 オフにできるならCI使ってみる。
- 304 名前:nobodyさん mailto:sage [2007/10/31(水) 00:43:24 ID:???]
- チームでやるには必須
どんなに注意してもかならず誰かやらかすよ XSSの歴史がそれを証明してる
- 305 名前:nobodyさん mailto:sage [2007/10/31(水) 00:43:47 ID:???]
- >>302
>CI知らないけどSymfonyではエスケープの方式をいくつかから選択できるよ これいいね。Symfonyにしようかな。
- 306 名前:nobodyさん mailto:sage [2007/10/31(水) 00:48:38 ID:???]
- FW自身の評判にかかわるから強制するって側面があるだろう。
トータルで見たらエラーの量を低減するのは明らかだからね。
- 307 名前:nobodyさん mailto:sage [2007/10/31(水) 00:51:23 ID:???]
- 一括エスケープするよりしない方が簡単なんだから
したくないならそりゃしないでもいいだろう ってか>>303の決めつけにワロタ 思いこみの深さからいうと昨日のアニヲタ君かな? 君の方が権威に弱そうだったから権威っぽい名前を出しただけのことだよw
- 308 名前:nobodyさん mailto:sage [2007/10/31(水) 00:53:26 ID:???]
- ビューでエスケープは勘弁してほしい
ベッキーがなんと言おうとこれだけは譲れない
- 309 名前:nobodyさん mailto:sage [2007/10/31(水) 00:54:51 ID:???]
- アウトプット前提でデータ割り当ててるんだから同じだろ?
何が問題なのかさっぱり分からん。
- 310 名前:nobodyさん mailto:sage [2007/10/31(水) 01:07:20 ID:???]
- >>293
詳しい処理見た訳じゃないが、 フレームワーク作者的に言えば アサイン時にエスケープの有無は選べるように普通するだろ そんなの考えたらすぐ分かるじゃん 少なくともテンプレートの層でエスケープするより 入り口でエスケープするアプローチの方がスマートだと俺は思うね。
- 311 名前:nobodyさん mailto:sage [2007/10/31(水) 01:13:25 ID:???]
- エスケープの有無を選択するのにVを操作するよりは依存性が低いということかな?
データの加工をV前に済ます(Vは極力弄らない)という点からみるとそのほうが妥当かも。
- 312 名前:nobodyさん mailto:sage [2007/10/31(水) 01:17:50 ID:???]
- (Vは極力弄らない)で思ったんだけど、
ビューのなかで繰り返しのコード(for等)をなくすアイデアない?
- 313 名前:nobodyさん mailto:sage [2007/10/31(水) 01:19:31 ID:???]
- Amritaみたいのを自分で作る、とか。
- 314 名前:nobodyさん mailto:sage [2007/10/31(水) 01:27:43 ID:???]
- 煽り的に藤本氏の言葉を出したのは適切じゃなかったな
変に叩かせてしまった 面識はないけどすみません 要は、藤本氏の言葉は、ホワイトリスト方式の方がいいよという文脈だった 俺もそう思う
- 315 名前:nobodyさん mailto:sage [2007/10/31(水) 02:25:14 ID:???]
- EthnaもSmartyも使ってないけど、
Ethna的にはnl2br()はSmartyのnl2br修飾子を使うんだと思う。
- 316 名前:nobodyさん mailto:sage [2007/10/31(水) 03:03:20 ID:???]
- QFやらSmartyやらといえば、
ttp://blog.enjoitech.jp/detail.php?aid=128 ここで普通にQF2使ってるんだけど、 QF2の状況ってどんな感じなのかしら。 ちょっと前にみたらバージョンがえらく低かったんで、 まだまだ実用外だと思っていたんだが。 QFはアイディアは面白いと思うのよ。 色々と問題はあるけど。
- 317 名前:nobodyさん mailto:sage [2007/10/31(水) 09:59:12 ID:???]
- >308
MVC的にはエスケープはViewがやるのが正しいんでないの? ViewがHTMLとは限らないんだから、 どんなエスケープ処理が必要か知ってるのはViewだけであるべきでしょ。
- 318 名前:nobodyさん [2007/10/31(水) 10:41:33 ID:WWjGeZUw]
- php da rox!
- 319 名前:nobodyさん mailto:sage [2007/10/31(水) 10:44:11 ID:???]
- >>242
$file = $tpl_dir. 'template.tpl'; if (!file_exists($file)) { $contents = preg_replace( array( '/^<\?xml/', '/#\{(.*?)\}/', '/%\{(.*?)\}/' ), array( '<<?php ?>?xml', '<?php echo $1; ?>', '<?php echo htmlspecialchars($1); ?>' ), file_get_contents($file) ); file_put_contents($file, $contents); } include $file; こんな感じか。変数がかぶるとかなら関数作って渡せばいいだけやね。 うちだと、symfonyのviewの部分に、こんな感じのを作って入れてる。 (といってもそのままじゃなくて、<input />等のタグを、ヘルパに変換して代入する処理も入れてる訳だけど。
- 320 名前:nobodyさん mailto:sage [2007/10/31(水) 10:44:52 ID:???]
- インデント無くなってるのスマソ(汗)
- 321 名前:nobodyさん mailto:sage [2007/10/31(水) 10:52:17 ID:???]
- だから一括してエスケープするのは問題があるってかいてるじゃん。
エスケープ漏れをなくしたいなら、view側がデフォルトでエスケープする仕様になってればいいだけ。 それで十分だし>>293のような問題も起きない。 それでも一括エスケープの方がいいという根拠は何?
- 322 名前:nobodyさん mailto:sage [2007/10/31(水) 14:54:05 ID:???]
- >>317
そういうロジックをViewでやるからSmartyはうんこなんだよ
- 323 名前:nobodyさん mailto:sage [2007/10/31(水) 14:58:56 ID:???]
- セキュリティや出力方法の変更は、VでやろうがCでやろうが同じでFA
- 324 名前:nobodyさん mailto:sage [2007/10/31(水) 15:16:03 ID:???]
- >>322
別にViewでやったっていいだろ? テンプレートコーディングがうんこだと言うのは認めるが。 アサイン時のオートエスケープがどうか?という提起なのであって、 それをやるオブジェクトがViewだろうとControllerだろうとWebアプリじゃ違いはないじゃん。 あと文句言ってる奴はちゃんとオートエスケープの実装と意図を見てから言えよ。 かなり的外れになっちゃってるぞ。
- 325 名前:nobodyさん mailto:sage [2007/10/31(水) 15:18:09 ID:???]
- お前ら年中言い争ってるのな
- 326 名前:nobodyさん mailto:sage [2007/10/31(水) 15:30:13 ID:???]
- >>325
だって、ばかばっかだし
- 327 名前:nobodyさん mailto:sage [2007/10/31(水) 15:44:34 ID:???]
- 知識に関しては知らんが、いちいち言い争ってるのは確かに馬鹿っぽい。
- 328 名前:nobodyさん mailto:sage [2007/10/31(水) 15:47:17 ID:???]
- 馬鹿ばっかじゃないよ。分かってる奴は書き込まないだけ
- 329 名前:nobodyさん mailto:sage [2007/10/31(水) 16:06:33 ID:???]
- 結局何がお勧めなの?
|

|