【総合】PHPフレームワークを語るスレ8 at PHP
[2ch|▼Menu]
[前50を表示]
200:nobodyさん
07/10/29 18:49:20
>>199
屁理屈の練習は別でやればいいよ。
ここはフレームワークを語るスレ

201:nobodyさん
07/10/29 19:00:15
Smarty派頭悪すぎワロタ

202:nobodyさん
07/10/29 19:49:56
>>200-201
おまえら頭悪すぎ
ろくなプログラム組めないんだろうな

203:nobodyさん
07/10/29 19:50:53
>>202
外の空気吸ってきなよ
深呼吸すると落ち着くぜ

204:nobodyさん
07/10/29 20:26:34
まあ、高校生くらいなんだろうな
匿名掲示板でも底は見透かされるから無理はすんなってことだ

205:nobodyさん
07/10/29 20:35:22 gR7ARslJ
言っとくけど>>202はスーパーハカーだからすごいプログラム組めるよ?

206:nobodyさん
07/10/29 20:37:23
長期休みみたいなどうでもいい流れになってるな

207:nobodyさん
07/10/29 20:42:02
smartyという単語が出てきた時から嫌な予感はしてたが

208:nobodyさん
07/10/29 20:48:53 gR7ARslJ
・・・そろそろ、やめようか・・・。

・・・そうだな・・・。

(ガッチリ握手)

209:nobodyさん
07/10/29 21:26:13
俺がここらへんでペチパー全体を馬鹿にすりゃ丸くおさまるんじゃないか?

210:nobodyさん
07/10/29 21:31:51
Ruby脂肪wwww

211:nobodyさん
07/10/29 22:11:39
底は見透かされるから(笑)

212:nobodyさん
07/10/29 22:59:42
ここではSmartyイラネ派が優勢なのか・・・時代も変わったものよのう。
昔は、いくら「include()で十分」といっても、だれも賛成してくれなかったのに。
いい時代になったのう。

Smartyはのう、テンプレートのデザインを崩してしまうタイプのテンプレートエンジンじゃから、デザイナーにはウケが悪かった。Dreamweaverと相性が悪いでの。
XOOPSがはやっておった時代、XOOPSがSmarty使ってたもんじゃからデザイナーでも試してみた人がけっこう居たんじゃが、Dreamweaver使いからはいい評価を聞かんかった。テキストエディタ派は黙々と使っておったがの。

しかし素のPHPは <?php echo htmlspecialchars($var); ?> があまりにめんどいからの、プログラマーの中には嫌うものもいた。
しかしこれも>>173みたいにちょっとしたユーティリティ関数かけば済む話での。そんなことすらできんやつもいるから、PHPユーザがばかにされるでの。

>>177
>まあつまり>>173みたいな素敵なコードをわざわざ書かなくていいってことだ!
数行のコードを書く手間と、Smartyのマニュアルにらめっこする手間とを考えれば、結論はおのずとわかると思うんだがの。
だからPHPユーザがばかにされるでの。

213:nobodyさん
07/10/29 23:02:24 rume0jLE
今Smartyと遊んでいる俺に謝れ!

214:nobodyさん
07/10/29 23:19:43
時代は変わったっていうか
2005年頃既にSmartyは終わってたと思うけど。
ちょうどsymfonyが出てきて
「templateは生phpでいいじゃん」「Smartyいらなくね?」「むしろ氏ね」
みたいな流れが大勢になった。
まさか今更Smartyなんて言葉をこのスレで見るとは思わなかったな

215:nobodyさん
07/10/29 23:23:30
今テンプレートエンジン前提にしてるFWってどんだけあんの?

216:nobodyさん
07/10/29 23:30:06 gR7ARslJ
xoopsやらのwebアプリはsmarty使うのやめて欲しい。

217:nobodyさん
07/10/29 23:30:27 rume0jLE
Ethnaって違ったっけ?

218:nobodyさん
07/10/29 23:50:00
>>216
お前が人間をやめれば解決する

219:nobodyさん
07/10/29 23:54:33
smarty派のタチの悪さが
smartyの評判をますます落としていくw

220:nobodyさん
07/10/30 00:23:47
Smartyはプラグインが蓄積されてたら{$hoge|huge|hage}で簡単にオレオレ関数呼べるし、
そう悪くはないと思うけどなあ。確かにOSSでの採用は微妙だけど。
そもそも重量級のサイトには使えないし、
DWで崩れちゃヤダヤダなデザイン屋にはPHPTALでも使うしかない?

221:nobodyさん
07/10/30 00:24:04
とりあえずSmartyに限らずテンプレートエンジンが必要か否か、
から始めようじゃないか。

Smartyを使ってる人、
Smartyは使ってないけど別のテンプレエンジン使ってる人
生PHPの人がそれぞれいるだろう。


222:nobodyさん
07/10/30 00:30:37
>>221
まだやる気か
○しますよ?

223:nobodyさん
07/10/30 00:58:09
>>219
タチの悪さ( )笑

2ちゃんねるは初めてなのか?

224:nobodyさん
07/10/30 01:04:32
>>214
>2005年頃既にSmartyは終わってたと思うけど。
>ちょうどsymfonyが出てきて
>「templateは生phpでいいじゃん」「Smartyいらなくね?」「むしろ氏ね」
>みたいな流れが大勢になった。

それはないのう。生PHPよりSmartyのほうがもてはやされてたし、いまもその傾向が強い。
Smartyイラネ派はいつもマイノリティーじゃい。今日がはじめてじゃないかの?勢力が逆転してるのは。
流れが悪くなったら船をコロコロ乗り換えるおまえさんみたいなやつは昔から多いがの。

まあ、生PHPだとテンプレートに何でもかけてしまうから、できることを制限させるという目的でSmartyを使うのはありだとは思うがの。

225:nobodyさん
07/10/30 01:08:36
過去スレ読んでない奴多いなw
このスレでは毎回Smartyフルボッコだったよ
てかもう飽きた
テンプレートエンジン専用スレなかったっけ
そっちでやってくれないか

226:nobodyさん
07/10/30 01:09:56
2ちゃんが世間と一致していると思っている奴ハケーンw

227:nobodyさん
07/10/30 01:15:25
smartyとか言いだしたのプードル飼ってる奴じゃね?
このスレじゃ歴史的に禁句なんだよ
毎回無駄に荒れて何も得るものがないから。

228:nobodyさん
07/10/30 01:18:28
お前の職場にトイプードルを飼ってるPHPerはいないか?
そいつが犯人!

229:nobodyさん
07/10/30 01:30:17
なんかこういう流れは前にもあったなー、と思ったら、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さん
07/10/30 01:40:31
>>229
それがこのスレでとっくの昔に出てた結論だよ
PHPer馬鹿にすんなよ

231:nobodyさん
07/10/30 01:44:53
言ってる内容は陳腐とはいえ特に問題ないが
「自分は分かってる。自分以外はバカだから分かってない」みたいな口ぶりがムカつくので
賛同してやらん。

232:nobodyさん
07/10/30 01:53:53
またもやアニオタはダメだとの論拠が強化された。

233:nobodyさん
07/10/30 01:53:57
>>176
単純だけど便利になったわ
今まで単にvar_dumpしてた

234:nobodyさん
07/10/30 01:55:01
>>232
駄目っていうか思いこみが激しいな
まあどうでもいいけど

235:nobodyさん
07/10/30 02:51:06
URLリンク(journal.mycom.co.jp)
Rubyは公式ロゴが決定したというのにぺちぱーは醜い内部抗争ワロスwww

236:nobodyさん
07/10/30 02:51:39
>>230
とっくの昔ってどのへん?
過去スレならどのスレのどのあたり?

237:nobodyさん
07/10/30 02:56:15
>>231
Smartyユーザ乙。
おまえの賛同なんかだれもいらんと思うが
少なくともRailsの作者はわかってる、と書いてある。

>>221
生PHP + 自作関数 かな。


238:nobodyさん
07/10/30 04:05:16
俺俺FW作ってるけど
リクエストパラメータとエラーメッセージを
どうやってviewに渡すかいつも迷う
mojavi系みたいにRequestクラスを作るかとか
関数の中のstatic変数に保持させようかとか
静的クラスに保持させようかとか・・・
選択肢が多くて決められねーyo

239:nobodyさん
07/10/30 04:33:04
requestオブジェクト作ってcontextオブジェクトにぶち込んどけばいいんじゃね
と、勝手に思うけど、好きにやってみて改良改良・・がいいんじゃね
俺俺FWなんだから そんなの考えてたら他のFWと同じに(ry

240:nobodyさん
07/10/30 05:53:29
ZFでリクエスト周りってどうなってんの?
Zend_Requestみたいのないけど

241:nobodyさん
07/10/30 06:06:19
Zend_Memory コンポーネントは、 限られたメモリ環境でデータを管理するためのものです。
メモリマネージャが要求に応じて メモリオブジェクト (メモリコンテナ) を作成し、
必要に応じて透過的にスワップ/読み込みを行います。
たとえば、あるオブジェクトを作成あるいは読み込むことによって
メモリの使用量が制限値を超えてしまう場合に、 管理しているオブジェクトのいくつかをメモリの外部の キャッシュにコピーします。 このようにして、管理しているオブジェクトのメモリ使用量が 制限値を超えないようにします。

どんな仕組みだこれ?
PHPの限界超えてねーか?


242:nobodyさん
07/10/30 12:15:34
素敵コードを書けない>>177のために、かわりに書いてみた。
URLリンク(anond.hatelabo.jp)
Smartyの倍は速いエンジンだ。アプリケーションが倍速くなるわけじゃないけど。

>>177
>そうそう、Smartyはほんと良く出来てるよね
><?php echo $hoge; ?>なんて書かずに{$hoge}だけだし
これでわかるだろ、自作関数をちょっと書けばSmartyなんかいらないことが。
それすらできないやつが「{$hoge} だけで済むSmartyはよくできてる」とかいってる。
そして今日もPHPユーザがばかにされる。残念よのう。

でもまあ foreachelse みたいなのは PHP にもあっていいかもな。
Pythonにはあるようだし。

243:nobodyさん
07/10/30 12:23:50
素敵。
これにゴテゴテ機能をつけずに、1枚includeすれば便利に使えるってのが一番美しいと思う。

244:nobodyさん
07/10/30 13:05:40
>>242-243
こいつら、昔のLinuxユーザと同じ間違いを犯してる

245:nobodyさん
07/10/30 13:15:28
>>242
つっこむのもなんだけど、 #{} の中に } が入るとエラーになるよ。

convert_template のコメントを見て思いだしたのだが、
file_put_contents には LOCK_EX の指定ができるのに、
file_get_contents には LOCK_SH の指定ができないのは何故なんだ。

246:nobodyさん
07/10/30 13:32:58
>>242-243
カワイソウ..

247:nobodyさん
07/10/30 13:43:15
何故クラス化しなかったのかが気になる。

248:nobodyさん
07/10/30 13:48:09
Smartyを擁護する気は毛頭無いが、自作関数自作関数言ってる人は、
よっぽどでかい案件か、もしくは自分で遊ぶアプリしか作ってないのかな?って思う。
何件もやってると、如何に「自分流」を入れないか、という事を気にするな、俺は。
メンテするの俺じゃないし。
・・・、本音を言えば・・・、自分流を入れると、後々それが間違ってたとして
バカにされるのが怖いっていうのもあるw 純正で対応してくれるならそれが一番!
でかい案件だと、色々と手を加えないとダメなんだろうな、とは思う。
俺は<% %>を廃止しなければ幸せになれるんじゃないだろうか・・・と思ってる。

249:nobodyさん
07/10/30 13:49:22
置き換えだけだったら意味薄くね?
かといって制御構造取り入れるとブクブク太って醜くなる
生php最強

250:nobodyさん
07/10/30 13:57:59
ちゃんと学校に行ってるのかが気になる。

251:nobodyさん
07/10/30 13:59:16
60行でバグ出すなら実績とるわな…

252:nobodyさん
07/10/30 14:01:31
>>251
激しく同意
「自作で」とか言っている奴はこのあたりが分かっていない

253:248
07/10/30 14:11:52
>>252
>>251は俺に対する皮肉(?)でしょ?
別に<?php echo 〜 ?>に限った事じゃなく、自作O/Rマッパーとか。
また、 function o(){・・・} やら function d(){・・・} やら、自分で使う分には
全く問題ないと思うよ。俺も自分で使う分にはよく使うよ。すっげー便利。
ただ、自分以外もメンテするものに使うのはどうかな?と思ってる。
そもそもそんな関数名、命名規則違反じゃないの?そのプロジェクトで。
で、そんなものをいっぱい量産するのはどうなの?って事。
と、思ったけど、場面々々で有効、無効あるから、この言い争いは無意味だったね。
すまん。


254:nobodyさん
07/10/30 14:15:45
なんにでも完璧はないし、ケースバイケースだと思うがな
何はどうあれ、ちゃんとコードを書いて晒した >>242 に賛辞を送りたい
へこむなよ > 242

255:nobodyさん
07/10/30 14:34:37
>>253
>>248にも激しく同意だから
>>251は素直にそのままの意味で解釈した。

256:nobodyさん
07/10/30 14:35:48
実際、>>245で突っ込みが入っているし

257:nobodyさん
07/10/30 14:44:04
別に>>242がコードを書いて晒さなくてはいけない場面でもないのに、
勝手に晒して「それすらできないやつが」などどほざいた挙句、
すぐにつっこまれている奴に賛辞は送れないな

258:nobodyさん
07/10/30 14:45:12
テンプレートエンジン厨は去れ

259:nobodyさん
07/10/30 14:50:26
>>258
自作厨(笑)

260:nobodyさん
07/10/30 15:02:18
フレームワークの話題スタート↓

261:nobodyさん
07/10/30 15:06:27
フレームワークの話題フィニッシュ

262:nobodyさん
07/10/30 15:07:25
>>260-261
ちゃんと/**/付けろよw

263:nobodyさん
07/10/30 15:27:52
Smarty叩きとHTML_QuickForm叩きはこのスレの永遠のテーマだな

264:nobodyさん
07/10/30 15:33:37
そんなこと言ったら今度はQF厨がくるかららめぇ

265:nobodyさん
07/10/30 15:51:39
>>245
> つっこむのもなんだけど、 #{} の中に } が入るとエラーになるよ。
それは仕様。Perlじゃないから式の中に { } が出てくるのはまれ。実用上問題ない。<?= ?> とか <%=h %> よりはこっちのほうがいいと思うがの。
どうしても使いたいなら
<?php $var = ' } を使った式'; ?>
<span>#{$var}</span>
とすりゃあいい。もしくは改造するか。
でも file_put_contents() で LOCK_EX の指定ってできるんだ。知らなかった。サンクス。

>>248
問題はそこじゃない。この程度の関数で済むものを、わざわざ大げさでかつ大して便利でもないテンプレートエンジン使ってることを問題にしてるんじゃがの。
Smartyと同じ規模のものを自作関数で作ったというなら248のいうことももっともだが、たかが数十行に対してこの見解は的外れ。


266:nobodyさん
07/10/30 15:55:34
数十行ごときのプログラムをバグ無しで書けないような奴は、どの道・・・。

267:nobodyさん
07/10/30 15:56:55
( ^ω^)おっおっおっ

268:nobodyさん
07/10/30 15:57:47
一連の流れが自作自演に見えてしまうwww

269:nobodyさん
07/10/30 16:05:12
>>249
書き換えだけでも十分役に立つ。<?php echo htmlspecialchars() ;?> は頻繁に使う機能だから、それが簡潔になるのは大きい。
そもそも元のPHPが十分な機能をもっているんだから、あまり付け加える機能はない。
といいつつ、自分が使っているのはレイアウトテンプレートをサポートしているがの。

>>251
バグってどのこと?まさか>>245のことをいってるんじゃないよね・・・
もし
> #{} の中に } が入るとエラー
が問題なら、Smartyでも同じ問題おこるから、そっちのほうが大問題だがの。
Smarty派はそれについてはスルーかの。

>>252
数十行のコードすら自分でバグ直せないのか。。。そいつはすまんかった。話の前提が間違ってた。そういうことならSmartyでもなんでも人任せにできるものを使ってくれ。

わしにしたら、バグがあったとしても、小さい自作関数ならその場ですぐに直せるけど、Smarty規模になると自分ではなかなか直せんから、自作関数の方を選ぶがの。メンテナンスのことを考えた上で。
まさかSmartyにはバグがないとかいうやつはおらんと思うけど。

270:nobodyさん
07/10/30 16:15:27
とりあえず、作ってみた姿勢は評価するんだけどね。
preg_replace()だけだからわざわざ作る必要も無い気がする。
(初心者には便利だわな。)

しかし、ここはフレームワークのスレなんだと何度言ったら(ry

・・・まぁ、ここにはフレームワークとテンプレートエンジンの区別も付かない奴しか居ないんだからしょうがないか。

271:nobodyさん
07/10/30 16:26:18
>>269
>わしにしたら、バグがあったとしても、小さい自作関数ならその場ですぐに直せるけど
>>248の言っていることを一蹴している割に、ぜんぜん理解してないことがバレバレw

>>270
ふ〜ん、ごりっぱですね

272:nobodyさん
07/10/30 16:27:11
最後の一行で煽ってるあたり、まだまだ論争を続けて欲しいように見受けられる。
270は嫌々言いながらも攻められるのが好きなドMなんだ。そうだろ?

273:nobodyさん
07/10/30 17:08:04
>>265
最近のFWは<?php echo htmlspecialchars() ;?>なんてしないよ
アサイン時に一括エスケープするから
symfony,ci,モダンなFWはだいたいそう
smarty派も非smarty派もテンプレートエンジンに拘ってる時点で旧式
もしかして過去から書き込んでるのか?

274:nobodyさん
07/10/30 18:10:13
>>273
未来からは書けないと思う。


275:nobodyさん
07/10/30 19:05:37
なんだQuickFormも使いこなせない奴が多いんだな
馬鹿ばっかりか

276:nobodyさん
07/10/30 20:06:47
フレームワーク採用する何て言ったら気絶しそうな勢いだな。

277:nobodyさん
07/10/30 20:12:33
ツールを作る人間もいるというのに、使えただけで俺はすごいとか妄想できるって幸せだな

278:nobodyさん
07/10/30 20:36:44
フレームワークに使われてる奴多いなププ

279:nobodyさん
07/10/30 20:49:16
∩アイ

280:nobodyさん
07/10/30 21:08:44
ソース読め的なレベルの質問で本当に申し訳ないのですが、DIコンテナを使用したフレームワークってどんな感じの作りになっているのでしょうか。
色々ググって見たのですが、スキルが低いため、説明を読んで見てもいまいちイメージ出来ません。(依存性の注入?とか。。)
シングルトンで各オブジェクトを引っ張って来てるみたいですが、このあたりが肝だったりするのでしょうか。
くだらない質問かと思いますがよろしくお願い致します。

281:nobodyさん
07/10/30 22:57:38
>>280
Javaスレにいったほうがいいんじゃない?
そっちのほうが活発だから。

あとシングルトン自体はあまり肝じゃない。
ぶっちゃけ規約で制限してもできることだから。

282:nobodyさん
07/10/30 23:00:33
>>277
> ツールを作る人間もいるというのに、使えただけで俺はすごいとか妄想できるって幸せだな

すでに存在するツールを作っても車輪の再発明と言われるように、
どんなアプリにも共通する土台(フレームワーク)を再発明したら馬鹿だろ・・・

使えるものは使わないとね。

283:nobodyさん
07/10/30 23:01:41
テンプレートエンジンでもフレームワークでもこの際どっちでもいいんだけど、
それらを自作してるやつって一人で作ってるか、プロジェクトで自分の
作ったフレームワークが採用されたってことか?
なんかここの流れ見てると、プロジェクトの各メンバーが
「今回のプロジェクトでは俺の自作フレームワークを使おうぜ!」
となりそうな気がする。
プロジェクトで使うためのフレームワークを社内開発したというならまだわかるんだけど。


284:nobodyさん
07/10/30 23:06:45
>>275
> なんだQuickFormも使いこなせない奴が多いんだな

QuickFormってたしか、コードでFormの項目にあたる部分を定義したら
それに相当するHTMLとチェックコードを生成してくれるライブラリだっけ?

コードでデザイン作るようなものでMVCになっていない。
これ使ってもデータベースと連携するところまでは楽にならない。
ということでフレームワークを使い始めてからは
こんなライブラリは使えないと思うようになったよ。

285:nobodyさん
07/10/30 23:28:26 N/0PbTQK
フレームワークはいいんじゃね?Smartyがダメなだけで。

286:nobodyさん
07/10/30 23:35:28
Smartyはただのテンプレートだから・・・
フレームワークのビューの部分でしかない。

287:nobodyさん
07/10/30 23:35:47 N/0PbTQK
ああQuickFormとかは有り得ないと思ったな。
毎日毎日同じようなもの作るんだったら良いかもしれないけど、忘れた頃に作るとなるとマニュアル見て、('A`)メンドクセ

288:nobodyさん
07/10/30 23:36:30
Quickformは一時期はまった
あの発想自体はいいと思う

289:nobodyさん
07/10/30 23:43:01
最新のフレームワークを使ってないと過去の人らしい。
>>273
>アサイン時に一括エスケープするから
エスケープしたいのとしたくないのが混じってるときはどうするの?

290:nobodyさん
07/10/30 23:48:16
>>289
rawコンテナみたいのも提供してるからそこから取り出すように出来てる
FWを使っていてエスケープせずに表示したかったことは
まったくといっていいほどなかった、というのは藤本神のお言葉

291:nobodyさん
07/10/30 23:49:31
昔作ったSmarty+QuickFormな遺産があって今でもメンテしてる。
当時の俺にコンポーネント指向ってのが頭にあったらもう少し
うまく使いこなせてたんじゃないかなと思ってる。 > QF

292:nobodyさん
07/10/30 23:50:32
>>283
>なんかここの流れ見てると、プロジェクトの各メンバーが
>「今回のプロジェクトでは俺の自作フレームワークを使おうぜ!」
>となりそうな気がする。
なるわけがないー
全員ひきこもりでコミュニケーション能力がないとその可能性はあるけど、
普通は互いに考えをぶつけ合ってひとつのものを作るわな。
たいがいは一人スキルの高い人がいて、その人が中心になるけどな。
283こそ創造的なプロジェクトの経験がなさそう(あったらごめんね、でも経験があればそんなこと書かないよ)

293:nobodyさん
07/10/31 00:07:52
>>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さん
07/10/31 00:08:12
>>290
そりゃ作るシステムによりすぎだろう
WikiとかCMSみたいのとか作ってると
エスケープしたくない場合なんていくらでもあると思うよ

symfonyのESC_RAW引数とかは使い勝手がよく出来てるなーと思った
遅そうだけどキニシナイ

295:nobodyさん
07/10/31 00:09:42
激しくカブったがキニシナイ

</pre<

なんか魚っぽいなw

296:nobodyさん
07/10/31 00:12:55
>>292
いや、だから互いに考えをぶつけあって
社内開発用フレームワークみたいのを
作ってるんならわかるんだって。
もしくは個人でやってるなら別に好きにやればいいと思うし。
実際このスレの住人てどんなプロジェクトでやってるのかふと疑問に思ったんだよ。

297:nobodyさん
07/10/31 00:21:44
>>289
やっぱり一括エスケープするのはよくないよ。
単にエスケープし忘れを防ぎたいとか、

298:nobodyさん
07/10/31 00:28:39
サニタイズ言うなって人にエスケープは直前にやれって怒られるぜ

299:nobodyさん
07/10/31 00:28:43
どこでもデフォでエスケープがデフォだな

300:nobodyさん
07/10/31 00:29:22
>>294
システムによりけりってアンタ、掲示板ひとつ作るにしても nl2br(htmlspecialchars($text)) は出てくるだろ。
SNSでのプロフィール表示とか。
>エスケープせずに表示したかったことはまったくといっていいほどなかった
と言い切れるって今までどんなシステム作ってきたんだよ。

>>295
すまんかった

ところでsymfonyもCIも、一括エスケープされるのは強制的なの?
こんな余計な機能はいらないからオフにして、かわりに好きなテンプレートエンジンが使えるようにしてほしい。
もしオフにできないなら、CI使おうとおもってたけどやめようかな。

301:nobodyさん
07/10/31 00:32:39
もはや自動エスケープは常識だと思ってた
そういう意見があったことのほうが非常に意外で興味深い

302:nobodyさん
07/10/31 00:35:20
>>300
オンラインショップのバックエンドとか旅券発行システムとかで
エスケープ必要なかったシステムはいくつも見てきているけど
だからって「全くといっていいほど」とはとても思えない程度にはあったなぁ

CI知らないけどSymfonyではエスケープの方式をいくつかから選択できるよ
何もしない、闇雲に全部やる、
普通の表示は全部やるけど必要なものは別オブジェクトからrawで取り出す、など。

303:nobodyさん
07/10/31 00:41:28
失敗してたので再投稿。

>>290
やっぱり一括エスケープするのはよくないよ。
単にエスケープし忘れを防ぎたいとか、htmlspecialchars() が面倒というだけなら、ビューがデフォルトでエスケープするようになってればいいだけ。
素のPHPはそうなってないけど、そうなっているようなテンプレートエンジンを選べばいいだけの話。
一括エスケープは、目的のための手段のひとつに過ぎない。手段はほかにもあるし、一括エスケープが最適な方法とは思えない。

なんか最新のフレームワークでそうなっているからとか、えらい人がそう言ったからとか、そんなことで決めてないか?
>>290からはそんな匂いがプンプンする。
もし最新のフレームワークがSmarty使ってたら、または○○神がSmarty使ってたら、Smarty使うことが最高の方法ということになるのか?

でもSymfonyもCIも一括エスケープが基本なのか。CI使おうと思ってたけど萎えた。
こんな機能いらんから、テンプレートエンジンが自由に選べられるようにしてほしい。
オフにできるならCI使ってみる。


304:nobodyさん
07/10/31 00:43:24
チームでやるには必須
どんなに注意してもかならず誰かやらかすよ
XSSの歴史がそれを証明してる

305:nobodyさん
07/10/31 00:43:47
>>302
>CI知らないけどSymfonyではエスケープの方式をいくつかから選択できるよ
これいいね。Symfonyにしようかな。

306:nobodyさん
07/10/31 00:48:38
FW自身の評判にかかわるから強制するって側面があるだろう。
トータルで見たらエラーの量を低減するのは明らかだからね。

307:nobodyさん
07/10/31 00:51:23
一括エスケープするよりしない方が簡単なんだから
したくないならそりゃしないでもいいだろう
ってか>>303の決めつけにワロタ
思いこみの深さからいうと昨日のアニヲタ君かな?
君の方が権威に弱そうだったから権威っぽい名前を出しただけのことだよw

308:nobodyさん
07/10/31 00:53:26
ビューでエスケープは勘弁してほしい
ベッキーがなんと言おうとこれだけは譲れない

309:nobodyさん
07/10/31 00:54:51
アウトプット前提でデータ割り当ててるんだから同じだろ?
何が問題なのかさっぱり分からん。

310:nobodyさん
07/10/31 01:07:20
>>293
詳しい処理見た訳じゃないが、
フレームワーク作者的に言えば
アサイン時にエスケープの有無は選べるように普通するだろ
そんなの考えたらすぐ分かるじゃん
少なくともテンプレートの層でエスケープするより
入り口でエスケープするアプローチの方がスマートだと俺は思うね。

311:nobodyさん
07/10/31 01:13:25
エスケープの有無を選択するのにVを操作するよりは依存性が低いということかな?
データの加工をV前に済ます(Vは極力弄らない)という点からみるとそのほうが妥当かも。

312:nobodyさん
07/10/31 01:17:50
(Vは極力弄らない)で思ったんだけど、
ビューのなかで繰り返しのコード(for等)をなくすアイデアない?

313:nobodyさん
07/10/31 01:19:31
Amritaみたいのを自分で作る、とか。

314:nobodyさん
07/10/31 01:27:43
煽り的に藤本氏の言葉を出したのは適切じゃなかったな
変に叩かせてしまった
面識はないけどすみません
要は、藤本氏の言葉は、ホワイトリスト方式の方がいいよという文脈だった
俺もそう思う

315:nobodyさん
07/10/31 02:25:14
EthnaもSmartyも使ってないけど、
Ethna的にはnl2br()はSmartyのnl2br修飾子を使うんだと思う。

316:nobodyさん
07/10/31 03:03:20
QFやらSmartyやらといえば、

URLリンク(blog.enjoitech.jp)

ここで普通にQF2使ってるんだけど、
QF2の状況ってどんな感じなのかしら。
ちょっと前にみたらバージョンがえらく低かったんで、
まだまだ実用外だと思っていたんだが。

QFはアイディアは面白いと思うのよ。
色々と問題はあるけど。


317:nobodyさん
07/10/31 09:59:12
>308
MVC的にはエスケープはViewがやるのが正しいんでないの?
ViewがHTMLとは限らないんだから、
どんなエスケープ処理が必要か知ってるのはViewだけであるべきでしょ。

318:nobodyさん
07/10/31 10:41:33 WWjGeZUw
php da rox!

319:nobodyさん
07/10/31 10:44:11
>>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さん
07/10/31 10:44:52
インデント無くなってるのスマソ(汗)

321:nobodyさん
07/10/31 10:52:17
だから一括してエスケープするのは問題があるってかいてるじゃん。
エスケープ漏れをなくしたいなら、view側がデフォルトでエスケープする仕様になってればいいだけ。
それで十分だし>>293のような問題も起きない。
それでも一括エスケープの方がいいという根拠は何?

322:nobodyさん
07/10/31 14:54:05
>>317
そういうロジックをViewでやるからSmartyはうんこなんだよ

323:nobodyさん
07/10/31 14:58:56
セキュリティや出力方法の変更は、VでやろうがCでやろうが同じでFA

324:nobodyさん
07/10/31 15:16:03
>>322
別にViewでやったっていいだろ?
テンプレートコーディングがうんこだと言うのは認めるが。

アサイン時のオートエスケープがどうか?という提起なのであって、
それをやるオブジェクトがViewだろうとControllerだろうとWebアプリじゃ違いはないじゃん。

あと文句言ってる奴はちゃんとオートエスケープの実装と意図を見てから言えよ。
かなり的外れになっちゃってるぞ。

325:nobodyさん
07/10/31 15:18:09
お前ら年中言い争ってるのな

326:nobodyさん
07/10/31 15:30:13
>>325
だって、ばかばっかだし

327:nobodyさん
07/10/31 15:44:34
知識に関しては知らんが、いちいち言い争ってるのは確かに馬鹿っぽい。

328:nobodyさん
07/10/31 15:47:17
馬鹿ばっかじゃないよ。分かってる奴は書き込まないだけ

329:nobodyさん
07/10/31 16:06:33
結局何がお勧めなの?

330:nobodyさん
07/10/31 16:27:25
cake。

331:nobodyさん
07/10/31 16:28:08
>>329
俺はCakePHP。
本もでたし。

332:nobodyさん
07/10/31 16:32:49
Cakeは型に嵌ると強いね

333:nobodyさん
07/10/31 17:18:03
CとVをパツパツに切れると思ってる奴は幻影を見ている

334:nobodyさん
07/10/31 17:18:17
なあ、今CodeIgniter試してみたんだけど、一括してエスケープする機能ってあるか?
$_POSTと$_COOKIEのデータを自動的にエスケープする設定はあるみたいだが、まさかこれのことではないよな?
テンプレートを出力するときに勝手に一括エスケープされるのかと思ったけど、そうでもないみたいだし。
$data = array('var'=>'<b>FOO</b>');
$this->load->view('blogview');
とかしてみたんだけど、テンプレートでは $var はエスケープされてなかった。

モダンなフレームワークであるCodeIgniterでは一括してエスケープしてくれるから htmlspecialchars() は使う必要ないと>>273が語ってくれてるんだけど、見つからん。
もちろん>>273は知ってるはずだから、すまんがさくっと教えてくれ>>273


335:nobodyさん
07/10/31 17:25:15
>>324
>あと文句言ってる奴はちゃんとオートエスケープの実装と意図を見てから言えよ。
>かなり的外れになっちゃってるぞ。
なにがどう的外れか書かないと、おまえこそ的外れだといわれるぞ。
オートエスケープ?の問題点が指摘されてるんだが、解決策は示されてない。
問題点が問題点でないというなら、解説希望。


336:nobodyさん
07/10/31 17:26:23
>>334
記憶は定かではないが、今見てないならないのかもな
自分で拡張したciに実装しただけかもしれん
ciって筋はいいけど、ちょっと機能的には弱いだろ
まあいずれにしろテンプレートレベルでエスケープするのは
いい方策ではないと思うがな

337:nobodyさん
07/10/31 17:27:32
>>335
いいから実物見てみろって。説明で判った気になったってしょうがないだろ

338:nobodyさん
07/10/31 17:32:33
>>329
Zendでいいじゃん
ダイヤブロックみたいで組み立てるの楽しいよ

339:nobodyさん
07/10/31 17:36:36
ダイヤブロックワロタw
レゴじゃないんだよな
なんかパーツがでかいっていうか

340:nobodyさん
07/10/31 17:43:01
今作ってる俺俺FWでもZend方式でいきたいんだよね
コンポーネント間で依存性をほとんどなくしたい
ただ設定クラスとかContextを作ると、そこに依存性が生まれてしまう
何にも依存してないコンポーネント群を、
それらに依存するコアコンポーネントが動かす形にしようかとか考えてる

341:nobodyさん
07/10/31 17:48:56
ダイヤブロック(笑)とかお前おっさんだろ

342:nobodyさん
07/10/31 17:50:36
依存性ってそんな問題かな
どのくらいからDI系コンテナのメリット出てくるんですかね

343:nobodyさん
07/10/31 18:01:53
疎結合の方が副作用も少なくなるし
ユニットテストも書きやすくなる
依存が多いとモックとか用意するの面倒だ
DIコンテナとかは要らないと思うけど

344:nobodyさん
07/10/31 18:08:30
独立したコンポーネントにしておけば
フレームワークのフレームワークにすることが出来るから
フルスタックFWの「この機能だけ欲しい」ってなっても
それだけを切り離すことは難しいから
ごっそり捨てるはめになる

345:nobodyさん
07/10/31 18:17:17
php4でも動くようにプロパティーをvarにしてたら
php5でstrictエラー出まくってうぜえええ

346:nobodyさん
07/10/31 18:25:32
4で動かすならstrict切れよ……
4用の箇所を洗い出すための機能みたいなもんなんだからさー

347:nobodyさん
07/10/31 18:30:36
あーそういうためのものだったのか・・・知らなかった
ありがd

348:nobodyさん
07/10/31 19:02:17
つーかさー、いろんなフレームワークに手を出してるヤシって何なの??天才なの?俺には無理orz

349:nobodyさん
07/10/31 19:17:59
ダイアブロックww

350:nobodyさん
07/10/31 20:05:57
ZendってContextにいれるようなものをどうやっていれたり出したりするわけ?

351:nobodyさん
07/10/31 20:12:16
MyZend in Zend Japanの認証まわりの手抜き感は異常
エラーメッセージはしょぼいし
パスワード忘れた時のナビゲーションもない

352:nobodyさん
07/10/31 20:13:09
>>336
>まあいずれにしろテンプレートレベルでエスケープするのは
>いい方策ではないと思うがな
だから、それはなんで?理由が述べられてないじゃん。俺、エスパー力が少ないから336の考えが読み取れない。
モダンなフレームワークがそうしてるから?ナントカの神様がそうしてるから?

>>337
実物ってどれのこといってるの?
指摘された問題点に対する回答は?


353:nobodyさん
07/10/31 20:25:58
>>352
あほすぎワロタ
君以外そんなレベルにいないよ
もっと勉強してから来いよ

354:nobodyさん
07/10/31 20:26:19
その問題のブツを持って来いよ

355:nobodyさん
07/10/31 20:37:28
変更や新規コードが多いのってUI周りじゃん。
その辺で楽できないZFは正直どんなもんかと思いますね。

356:nobodyさん
07/10/31 20:40:54
まあ確かに現状ZFはあんまりだと思うけど、
フルスタックを志向しなかったコンセプトは好き

357:nobodyさん
07/10/31 20:42:20
>>355
GoogleBaseとかサポートしてるよ?

358:nobodyさん
07/11/01 01:06:33
UI周りの楽ってどういう機能?
いまいち想像できない

359:nobodyさん
07/11/01 01:58:12
Google Baseとか3年ぶりに聞いたわ

360:nobodyさん
07/11/01 07:57:27
>>353
おれ、あほだからわからん。
テンプレートでエスケープする方法と比べてなにが利点なの?
SymfonyもCIも、テンプレートが素のPHPだからデフォルトではエスケープされないのがそもそもの問題であって、
デフォルトでエスケープされれば、別に一括してやる必要なんかまったくないと思うけど。
賢い>>353、答えよろしく。

361:nobodyさん
07/11/01 09:07:17
で結局、アサイン時に一括エスケープしてくれるモダンなフレームワークってどれ?
CIはそうではなく>>273のねつ造であることがわかったけど、ほかに何があるの?
>>273
>モダンなFWはだいたいそう
と書いてるから、ほかにもいろいろあるんだよね?
まさかsymfonyだけとかいうオチじゃないと思いたい。

もしかして>>273は未来人?将来的にはCIも一括エスケープするようになるのを知ってて書いてるとか。
そりゃ過去から書いてるように見えるわな。

362:nobodyさん
07/11/01 10:37:52 qneMLrtC
ZFとかCIとかCakeとかSymfonyとかクソみたいなFWについての議論しても意味無いと思います。
まさかこいつらを実用してる人とか居るの……?

363:nobodyさん
07/11/01 10:39:00
>>362のオススメは?

364:nobodyさん
07/11/01 10:40:12
>>361
私はCI使うときも生PHPでビューを書いてるからよく知らないけど、CIにもテンプレートエンジン?みたいなのが
あったと思う。
あれを使うと自動でエスケープされるのかもしれない。

365:nobodyさん
07/11/01 12:22:45
いい加減知ったかで煽ってるだけで回答もらえると思ってるアホは邪魔だよ
氏ね

366:nobodyさん
07/11/01 12:32:12
知ったかというか、妄想で盛り上がってるだけじゃん
レス見ればFWなんかどーでもいいと思ってるのがよくわかるw

367:nobodyさん
07/11/01 12:44:45
まともな議論はスルー、WebアプリにおけるMVCの役割分担は思考から排除、
自分が出した疑問点なのに実装は確認せず「お前がもってこいや」発言、
テンプレートロジック推奨、極度の煽り文体・・・。

もう荒らしたいだけちゃうんかと。

368:nobodyさん
07/11/01 12:49:17 QDpKWleM
PHPerって流行るとみんなそれ作るよね?
しょっぱいフレームワーク量産してるのが滑稽で仕方ないよwww

369:nobodyさん
07/11/01 12:56:45
>>366
ちんこ弄ってないで何が妄想か言ってみたまえよ糞ニート君

370:nobodyさん
07/11/01 13:12:28
このスレのスキル予想

パンチカード式プログラミング

マシン語

アセンブラ

構造化プログラミング ←今ココ

オブジェクト指向プログラミング

フレームワークを使いこなしている人は少数と見た!

371:nobodyさん
07/11/01 13:45:41
>>367
>まともな議論はスルー、
スルーしてるのは一括エスケープ推進派だよね。ちゃんと>>360の質問に答えてよ。

>WebアプリにおけるMVCの役割分担は思考から排除、
VですべきことをCでしてるのはそっちでしょ。
権威に弱いみたいだから紹介しとくね。
URLリンク(www.ipa.go.jp)
>サニタイジングは(2)HTML生成時のタイミングで行うべきである。

>自分が出した疑問点なのに実装は確認せず「お前がもってこいや」発言、
確認したよ?CI使ってみたら、そんなのなかった。つまりそっちのデマカセであることを確認しました。
だから「一括エスケープしてくれるモダンなFWってどれ?」と聞いているんだけど。>>273みるとなんかたくさんあるみたいじゃん?
うそっぱち紹介しといてこれはないよな。

>テンプレートロジック推奨、
テンプレートロジックってどのことを言ってる?HTMLエスケープすること?まさかそれをロジックといってるのかな。
symfonyでもCIでも、テンプレート中にifやforeachをバリバリ埋め込んでるけど、それは見ないふり?

>極度の煽り文体・・・。
>>353のことかぁぁ!

>もう荒らしたいだけちゃうんかと。
答えられないなら黙っとけば?負け惜しみミットモネー

372:nobodyさん
07/11/01 14:08:54
まだあほがいるのか・・・
単なる面倒くさい奴になってることに気づけよ
ヒントはいっぱい転がってるのにも関わらず理解できない奴に
これ以上丁寧に説明してやる義理はねーんだよ
というより説明しなくても分かるだろ、フツー
既に説明することすらアホらしいレベルの話なんだよ
一言で言うとお前にはプログラマとしてのセンスが決定的に欠けているんだよ

373:nobodyさん
07/11/01 14:08:59
メモリ(変数)上に持つデータは、本来のデータ(未エスケープなもの)で、
出力するときに、出力する媒体(HTMLとかSQLとか)によって適切な
エスケープするのが基本だろ。
これに異論言う奴はいないだろ?

で、実際問題、CからVに渡すとき、出力媒体はHTMLなわけだから
一括エスケープでもいいじゃん。って発想でもいいわけだし、
Vレベルでデフォルトが、エスケープ有りでもいいわけだろ?

俺にとっては微妙な差異なんだが、そこにそんなにこだわる
必要があるのか疑問だな。


374:nobodyさん
07/11/01 14:55:02
アニヲタってのはあれだな。
現実をかたくなに拒絶し、
甘く非現実的な幻想のみを受け入れ、
自分が考えたいように考え、
自分が信じたいことだけを信じる、
という思考パターンを強化学習しているようなものだから、
その嗜好がプログラマとしての資質を破壊していくようにできてるんだな。

375:nobodyさん
07/11/01 15:10:15
VとCが同時に動くWebアプリじゃ差異がないって話はずいぶん前に既出のようだが

376:nobodyさん
07/11/01 15:14:56
いちいち読んでられるかバカタレ。

377:nobodyさん
07/11/01 15:16:17
>>373
だからそういってるんだけど。
テンプレート側がデフォルトでエスケープするようになっていれば、べつに何の問題もない。
しかし未来人は一括エスケープするほうがいい方法だと思っているらしい。
引用:
>>310
>少なくともテンプレートの層でエスケープするより
>入り口でエスケープするアプローチの方がスマートだと俺は思うね。
>>336
>まあいずれにしろテンプレートレベルでエスケープするのは
>いい方策ではないと思うがな

その根拠を聞いているのに答えられていなくて、わめいてばっか。

>>372
>ヒントはいっぱい転がってるのにも関わらず理解できない奴に
>これ以上丁寧に説明してやる義理はねーんだよ
どこにヒントが?説明できないだけなのを認めることができないだけだろ?
おまえがちゃんと説明すればいいだけの話。本当にわかってるんなら、そんなに説明が難しいことでもないだろ?




378:nobodyさん
07/11/01 15:16:48
で、件の実装がなされてるFWはまだですか?

379:nobodyさん
07/11/01 15:45:12
常識的な事項だし、お前も本気で説明できないと踏んでるわけではあるまい
回りくどいことをせずに言いたいことを言えばいい

380:nobodyさん
07/11/01 16:17:38
>>377
だからホワイトリスト。以上。

381:nobodyさん
07/11/01 16:23:49
どのフレームワークのどの実装が気に入らないのかしら?
実現できないことがあるからアドバイスが欲しいの?
代替手段が欲しいと作者にメールしたいの?

382:nobodyさん
07/11/01 16:29:20
たぶん、自分の頭が悪いのが気にいらないんだろう。
でもそんなのどうしろっていうんだ。
「知らんがな」としか言いようがない。

383:nobodyさん
07/11/01 16:51:14
>>370
記録メディアとしてのパンチカードはかろうじて見たことあるけどなあ
その世代で現役の人いるんだろうか
人ってか仙人だな

384:nobodyさん
07/11/01 16:53:02
>>377
は、PHPフレームワークを超えて
未来人との戦いに必死ってことがわかった。


385:nobodyさん
07/11/01 17:23:17
>>361
今どうなってるか知らないがいずれciもそうなると思う
symfonyもescaping outputは後から付いたんだよ

386:nobodyさん
07/11/01 17:27:46
テンプレートやFWを使うと人格が攻撃的になるんですね
非テンプレ非FWこそ賢者ということが良く分かりました

387:nobodyさん
07/11/01 17:30:32
もともとテンプレートなPHPでテンプレートエンジンてwwww

388:nobodyさん
07/11/01 17:38:40
数ある言語の中でただ一つテンプレートエンジンを作る必要がない言語があるとしたら
それがPHPだろ
Smartyとかエスケープするだけの自作テンプレートエンジン(爆笑)とか
はやくゴミ箱に捨てろよwww

389:nobodyさん
07/11/01 17:43:24
>>388
なぜお前は強制するの?
ひとりで捨てとけよwww

390:nobodyさん
07/11/01 17:47:15
PHPでテンプレートエンジンてwww
パンを挽いて粉に戻して・・・またパン作ってますけどwww
しかもどえらく不味いし
お前ら元々まずいパンをもっとまずくする天才だなw

391:nobodyさん
07/11/01 17:48:16
>>388-389
これ思い出した

J-CASTニュース : 「オレも裸、オマエも裸になれ」 セクハラ調教師HP大炎上

URLリンク(www.j-cast.com)


392:nobodyさん
07/11/01 17:55:26
>>389
捨てるも何も最初から持ってねーよ
そんなの拾わねーよw


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5370日前に更新/226 KB
担当:undef