トップページphp
1001コメント246KB

【PHP】フレームワークについて語るスレ5【総合】

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん2006/09/30(土) 10:25:07ID:WYEQsiOw
前スレ
[PHP]フレームワークについて語るスレ4[総合]
http://pc8.2ch.net/test/read.cgi/php/1151706907/

[PHP]フレームワークについて語るスレ3[総合]
http://pc8.2ch.net/test/read.cgi/php/1145971945/
[PHP]フレームワークについて語るスレ2[総合]
http://pc8.2ch.net/test/read.cgi/php/1135847024/
【PHP】フレームワークについて語るスレ【総合】
http://pc8.2ch.net/test/read.cgi/php/1123608068/
0825nobodyさん2007/01/27(土) 22:12:36ID:???
mod_rubyは定数とかが他のアプリケーションにまで影響したりして
はまった記憶がある。数年前の話だからよく覚えてないけど。
0826nobodyさん2007/01/27(土) 22:23:41ID:???
嫌なハマリ方だなそれは…
0827nobodyさん2007/01/27(土) 22:31:15ID:???
セーフモードか。ちょっと調べてみた。

んー。
共有サーバで高速に実行する仕組みができないと、
PHPなんて使ってる意味がなくなる気がするんだが。
symfonyみたいな重たいフレームワークが…

で、書いてて思ったんだけど、現状(PHP5 safe_mode)でも
共用レンタルサーバでsymfonyってまともに動くの?
0828nobodyさん2007/01/27(土) 22:46:40ID:???
PHP は FastCGI + suEXEC が主になっていくんじゃないかなあ。
他の LL の FastCGI はプログラム自体が常駐する (これにももちろんメリットはある) けど
PHP の FastCGI SAPI は他の SAPI と同じく、インタプリタが常駐するだけなので
サーバを管理する側にしてみれば扱いやすいんだよね。
0829nobodyさん2007/01/27(土) 23:00:49ID:???
>>824
セーフモードに頼りきって安心している鯖缶対策
ファイルを作ったときの権限問題

予想だけどね
08308272007/01/27(土) 23:37:42ID:???
FastCGIになるならPHPのメリットが薄れていく気がするんだけど、どうなんだろう。
他の言語でも当然同じように動くよね。

んで、XREAでsymfony動かしてみた。
やっぱCGIモードじゃないとダメだった(キャッシュがアレだから)
ローカルのApache2+mod_phpに比べて、7倍ぐらい速くて笑ったw
0831nobodyさん2007/01/28(日) 00:08:25ID:???
(CGI 全盛時代の) mod_php のアドバンテージって、インタプリタの起動コストの低さだったわけで。
そして FastCGI ならどの言語でもインタプリタの起動コストは抑えられるし、
PHP 以外はプログラム自体が常駐するのでスクリプトをパースするコストも抑えられる。
suEXEC すればセキュリティリスクも抑えられるしね。

で、専用サーバならプログラム自体が常駐したほうが DB 接続の“本当の”永続化とか
できることが多くていいんだけど、共有サーバではリソース的によろしくない。
そこでやっぱり mod_php とほぼ同じ感覚で使える FastCGI 版 PHP はいいよね、ってこと。
(mod_php も mod_perl, mod_python, mod_ruby 等と比べて機能は貧弱だけど無難な選択だし)
0832nobodyさん2007/01/28(日) 23:40:11ID:???
どうしちゃったのよ、みんな建設的じゃんw
別のスレ開いちゃったかと思ったよw
0833nobodyさん2007/01/29(月) 16:37:19ID:???
おまいらCSRF対策どうしてる?
やっぱりワンタイムチケット使ってるのかな?

フレームワークってGETでページ遷移、POSTで内容を取得みたいなことが多いけど
よくあるCSRF対策だとPOSTでページ遷移しろって書いてあるし

実装面倒だからWAF使おうかなと思ってたりするけど他の人はどうしている?
フレームワークにワンタイムチケットのクラスとかつっこんで使うのが主流なのだろうか
0834nobodyさん2007/01/29(月) 17:00:52ID:???
あんた"POST"の意味わかってないでしょ。
RFC2616を一から読み直したほうがいい。
http://www.faqs.org/rfcs/rfc2616.html
0835nobodyさん2007/01/29(月) 17:16:35ID:???
というよりCSRF対策の意味のほうだろ
POSTで投稿

確認画面に遷移
(ここでチケット発行、入力データはセッションの方で保存)

確認ボタンを押したら、チケット認証後セッションに溜めてある
入力データを処理
0836nobodyさん2007/01/29(月) 18:55:25ID:???
とりあえずみっちゃんの記事置いときますね
ttp://takagi-hiromitsu.jp/diary/20050427.html
0837nobodyさん2007/01/29(月) 19:11:10ID:???
>>834
読んでみましたが、余計意味がわからなかったです。以下にRFCからの引用

9.5 POST

POST メソッドは、サーバがリクエストライン内の Request-URI により識別
されるリソースへの新しい従属{subordinate} として、リクエストに同封さ
れるエンティティを受け入れる事を要求するために使用される。POST は以下
の機能のカバーするための画一的メソッドとして設計されている。

Webアプリを作る上ではユーザからの情報取得の手段の一つという認識しかないのですが
それ位の認識じゃダメですかね...
0838nobodyさん2007/01/29(月) 19:13:15ID:???
>>835
いやCSRFの対策方法を知りたいというより

POSTで投稿 をするページへのページ遷移をPOSTでしろという説明がある
(XSSCSS対策と思う)のですが、みなさんはそれをやってますか? という意味の質問です。
08398332007/01/29(月) 19:20:12ID:???
>>838
間違えました。IEのCSSXSS対策ですね。

この話の元は、以下などにかかれています。
ttp://www.jumperz.net/texts/csrf.htm

まず、アプリケーションの作りとして、リクエスト1はGETよりもPOSTを用いる方が好ましい。
通常、POSTリクエストに対するレスポンスはキャッシュに残らないため、POSTを使用すること
で、hiddenフィールドに格納したトークンがキャッシュに残ってしまう可能性を下げることが
できる。また、処理1には「トークンの発行」という副作用があるためだ。
0840nobodyさん2007/01/29(月) 19:20:40ID:???
>>838
それをやってますか?
ということであれば、必要な部分はやってますとしか答えようが無い
0841nobodyさん2007/01/29(月) 19:44:40ID:???
>>839
> まず、アプリケーションの作りとして、リクエスト1はGETよりもPOSTを用いる方が好ましい。
またそんな馬鹿なこと言ってると高木のおっさんに怒られるぞ?
0842nobodyさん2007/01/29(月) 20:41:41ID:???
そもそも高木のおっさんはPHPの利用はやめろと言っている
0843nobodyさん2007/01/29(月) 21:03:59ID:???
>>842
> そもそも高木のおっさんはPHPの利用はやめろと言っている
ワロタ
0844nobodyさん2007/01/29(月) 21:04:44ID:???
>>833
Pieceフレームワークを使えばすべて解決
0845nobodyさん2007/01/29(月) 21:07:19ID:???
>>844
お前頭良いな
0846nobodyさん2007/01/29(月) 21:09:12ID:???
話しぶった切ってスマンが、
mojaviは(PHPで)フレームワークってどういうものかの学習には最適だと思うがなぁ
まぁ、ここにいる奴らや昔から使ってる奴はそんなレベルの話はとっくに卒業してるから、
大分前に廃れてしまったんだとは思うが
他のフレームワークもざっと見たけど、mojaviが一番使いやすいよ。
俺はいまだに4主体の開発ってのもあって、
何か結局自分仕様にカスタマイズしたmojaviに戻ってきちゃったよ
0847nobodyさん2007/01/29(月) 21:16:15ID:???
高木のおっさん大人気だな
サイバーテロの技法の著者とは和解したのか?
0848nobodyさん2007/01/29(月) 21:17:54ID:6qNgArJf
symfonyってMojavi3をベースにしてらしいですが、
AgaviはMojavi4をベースにしてるらしいですよ?
0849nobodyさん2007/01/29(月) 21:29:04ID:???
Mojaviねぇ。
今はフルスタックのが流行りだからなー
0850nobodyさん2007/01/29(月) 22:40:06ID:???
>>842
なんでPHPをやめろと?
0851nobodyさん2007/01/29(月) 22:52:47ID:???
>>840
IEのパッチが出ていてもPOSTでページ遷移させるのが基本ですかね。
POSTでページ遷移させるのは結構面倒なんで。
次のページへのリンクがボタンだったり、フレームワークの内部処理としては、GETとPOSTで分けられなかったり。

0852nobodyさん2007/01/29(月) 22:53:27ID:???
高木って誰?有名なの?
もしかしてブーのこと?
0853nobodyさん2007/01/29(月) 23:35:56ID:???
>>846
色々な処理をviewに書いちゃう僕はなんなんだろう>mojavi
0854nobodyさん2007/01/29(月) 23:49:27ID:???
>>850
セキュリティーホールありまくりだから
0855nobodyさん2007/01/30(火) 11:03:08ID:???
>>853
事情が良くわからないし案件にもよるだろうけど、
ってか多分何がしかの理由があってそうしてるんだろうけど、
そういうケースの場合
実はフレームワーク使わないほうが開発効率が良かったみたいな話はざらにあるよ

そもそもフレームワークってWebアプリケーションのコードのテンプレート化みたいなノリから始まったわけでしょ
0856nobodyさん2007/01/30(火) 18:37:16ID:???
>>833
http://www.w3.org/2001/tag/doc/whenToUseGet.html
0857nobodyさん2007/01/30(火) 21:26:45ID:???
mojavi2は確かに構造的に綺麗だけどその構成に従って
作っていくとファイルやらディレクトリやらがやたらと多くなる印象がある
javaやってたりする人からすればそうでもないのだろうが
個人的な好みとしてそれがあまり好きじゃない
0858nobodyさん2007/01/30(火) 22:02:40ID:???
M2はview必須なのがうざかった覚えがある
symfonyみたいにaction+templateで
必要な時だけview書くのがいい
0859nobodyさん2007/01/31(水) 15:36:08ID:???
変数アサインするためだけのViewクラスとか作らないと
いけないからな
0860nobodyさん2007/01/31(水) 17:54:22ID:???
>>856
なかなかよさげなドキュメントthanx
IEの脆弱性のせいでこのドキュメント通りにいかない現実があるというのがCSRF対策(CSSXSS対策)
と思っていたのですが違うのかな
0861nobodyさん2007/01/31(水) 18:31:47ID:zQv0inOh
Ethnaのサンプルプロジェクトはアーカイブでダウンロード出来ないですか?
Ethna.shを認識しなくて困っております。。。(´・ω・`)
0862nobodyさん2007/01/31(水) 23:55:07ID:???
> Ethna.shを認識しなくて
認識ってなに?
0863nobodyさん2007/02/01(木) 00:03:10ID:???
Mojavi3やAgaviでもViewを作らなきゃいけないの?
0864nobodyさん2007/02/01(木) 02:45:02ID:???
>>854
現在のバージョンのセキュリティホールと、
そのつき方を教えてください。
0865nobodyさん2007/02/01(木) 17:42:25ID:???
>>863
継承
MyAction , MyView … 作りゃ何でもできんじゃね
0866nobodyさん2007/02/01(木) 20:32:47ID:???
>>860
IEだけ?
Fxなら平気だと思ってる?
0867nobodyさん2007/02/01(木) 20:48:13ID:???
>>866
> IEだけ?

CSSXSSの脆弱性があったのはIEだけだと思っていたのですけど
その他にもPOSTで遷移させた方がいい理由ってあるのですか?

0868nobodyさん2007/02/02(金) 20:58:03ID:KpI9K752
StrutsだとActionクラスに直にビジネスロジックを記述するのは
推奨されていくて、別途ビジネスロジックを記述するクラスを用意して
それを呼ぶようにしなさいってことになってるんだけど、
Mojavi3・Agaviあたりでもそれは同じでしょうか?
BusinessクラスとかLogicロジックとかそんな感じで。
08698682007/02/02(金) 21:00:43ID:???
あともう一つ。
PHP5の開発ではデータベースへのアクセス方法として
DAOとかDTOとか用意したり、O/Rマッパーを使った開発は
スタンダードですか?
0870nobodyさん2007/02/02(金) 21:03:55ID:???
http://www.atmarkit.co.jp/flinux/special/php5/php5c.html

名前空間って最初の構想ではあったのになくされたの?
なくすな馬鹿Zend
0871nobodyさん2007/02/02(金) 21:15:19ID:???
mojavi4は結局どうなりましたか?
0872nobodyさん2007/02/02(金) 22:34:21ID:???
>>869
何を持ってスタンダードとするかは分からないが
最近のPHPFWならだいたいO/R mapperはついている
他スクリプト言語FWの影響で大概activerecordパターンだと考えても差し支えない
あとMojavi3とかAgaviとか誰も使ってないsymfonyにしとけ
つーかJavaで何が流行ってるか知らないけど
Strutsとか今だに使われてるもんなの?
もう枯れて前時代的なイメージがあるんだが
0873nobodyさん2007/02/03(土) 00:12:48ID:???
PHPみたいにスタンダードと呼べるフレームワークが1個もない方がよっぽど異常。
0874nobodyさん2007/02/03(土) 04:22:52ID:???
>>873
お前の知識の古さが異常。
0875nobodyさん2007/02/03(土) 09:03:50ID:???
>>872
> もう枯れて前時代的なイメージがあるんだが
スタンダードなんだから枯れてなきゃダメ。
ある程度以上に枯れてないものに人気が集中してたら、
それは単なる「流行」ですよ。

>>874
事の善悪は別として、実際スタンダードと呼べるものはない。
0876nobodyさん2007/02/03(土) 09:30:31ID:???
>PHPみたいにスタンダードと呼べるフレームワークが1個もない方がよっぽど異常。

誰もStrutsを使うのが異常とは言っていない。

俺はPHP4ではCakePHP、5ではSymfonyが事実上のスタンダードになりつつあると
思ってるんだけど。
0877nobodyさん2007/02/03(土) 14:06:00ID:???
国内ではEthnaが一番多いような気がする・・・。

俺の周りだけかもしれんが。
0878nobodyさん2007/02/03(土) 19:54:09ID:???
もうEthnaにしようよ。

俺が使い始めちゃったから廃れちゃうと困るんですw
お願いしますw
0879nobodyさん2007/02/03(土) 19:59:31ID:???
>>878
じゃあ使い方教えてくれ
0880nobodyさん2007/02/03(土) 20:12:51ID:???
フレームワーク云々の前にさ
PHPユーザさん達よ、まだPHP4は捨てられないかい?

会社でみんな使ってるから今更変えれない?
君が5を使うべきだと宣言すればいいんじゃないのかい?

使ってるホスティング屋がPHP4しかサポートしてない?
そんな使えない鯖屋はさっさと切るべきじゃないかい?

だって、枯れてるし、なんだかんだでPHP4って事足りるしってか?
0881nobodyさん2007/02/03(土) 21:15:44ID:???
>>880
童貞と一緒に捨ててるお
0882nobodyさん2007/02/03(土) 21:17:41ID:???
PHP4ってエラーが例外じゃないのがちょっと。

と思ってPHP5使ってる。
0883nobodyさん2007/02/03(土) 22:03:46ID:???
例外取り入れるんだったら標準関数も
全部例外スローするようにしてから取り入れろよなあ
phpエラーと例外混在するじゃん
結局phpエラー吐く関数またラップし直しじゃんもうphpアホかと
php5ってなんでエラーハンドラと例外ハンドラって2つあるんすか?
っていうspamをZendに送りつけたいよ畜生
0884nobodyさん2007/02/03(土) 23:41:43ID:???
エラー→Perlライク
例外→Javaライク
0885nobodyさん2007/02/04(日) 11:35:54ID:???
>>883
だ、か、らぁ、もうRubyにしろよ!
0886nobodyさん2007/02/04(日) 13:46:27ID:???
エラーハンドラで例外投げるようにすればいいだろ
0887nobodyさん2007/02/04(日) 15:42:01ID:???
Mojaviは終わりだと悟った
http://www.google.co.jp/trends?q=mojavi&ctab=0&geo=all&date=all
0888nobodyさん2007/02/04(日) 15:55:00ID:???
だって今Mojaviトップページしかないじゃん
0889nobodyさん2007/02/04(日) 20:28:22ID:???
実際のところCakeとSymfonyとethna、選ぶならどれよ?
0890nobodyさん2007/02/04(日) 20:47:02ID:???
CakeとSymfony使ってみたけど、圧倒的にSymfonyがよかったです。
0891nobodyさん2007/02/05(月) 00:18:16ID:???
>>890
どのような点で?
0892nobodyさん2007/02/05(月) 02:02:33ID:???
Cakeを使ってみての素直な感想

CREATE文を書くのが面倒くさい。
テーブル名の規約がうざい。
モデルを手動で作るのが面倒くさい。
コントローラとモデルが微妙にくっついていてうざい。
データバリデーションはいらない。
フォームのバリデーションが欲しい。
ドキュメントがすくない。

Cakeを使っている人がいるのか疑ったくらいです。
まあ、単に使い方が分かってないだけかも知れないですけど。

CakeとSymfonyを両方使ったことがある人でCakeの方が
いいって言う人います?
0893nobodyさん2007/02/05(月) 10:07:57ID:???
>>892
去年の7月くらいの話だけど、
おれはまずSymfonyのAskeetを一通りやってみようと思った。
二日目でドキュメントどおりにやって動かなくなった。

それでCakeのチュートリアルをやってみたら、あっさり終わった。

なので俺はCake派。
0894nobodyさん2007/02/05(月) 16:25:34ID:8IvMkLEL
動く動かないのレベルかよ、プギャーだな
0895nobodyさん2007/02/05(月) 19:26:56ID:???

ethna と symfonyはどうなのどうなのお!
0896nobodyさん2007/02/05(月) 19:33:06ID:???
PHPのFWなんて全部クソだよ
好みで選べ
0897nobodyさん2007/02/05(月) 19:50:14ID:???
>>892
893ではないが、
シンプルに俺はSymfony設定ファイルが多くてややこしい気分になった。
俺にはCakeの様に配列に放り込むほうが判りやすかった。
だがCakeはその後のバッドノウハウ的なものも含めて色々面倒な気がする。
この面倒が無い(FW内で想定される動作の幅が広く、それらに関してはしっかり動く)
のであれば、Symfonyもやってみたい。
0898nobodyさん2007/02/05(月) 20:36:40ID:???
Symfony使えばそのムリクリが解消されると思うよ。
Symfony使ってみてうまくいかなくて、Cake使ってるって感じの人も
あとあとの苦労を考えてSymfonyを頑張ってみるのがいいと思う。
本当に小規模・使い捨てみたいなやつならCakeでもいいと思うけど。
だからといってSymfonyが小規模では使わないという意味ではないです。
0899nobodyさん2007/02/05(月) 20:43:36ID:???
Symfony使って彼女が出来ました。
0900nobodyさん2007/02/05(月) 23:13:22ID:UMonpC6l
モジャビをダウンロードしてみたいのですが・・・
(どんなもんか、評価したみようと思って)

モジャビのホームページのどのボタンを押しても
画面が全然変わりません。
漏れのブラウザが悪いのか?
JavaはONにしてます。
どうしたら良いですか?
どっかミラーサーバとか無いですか?
0901nobodyさん2007/02/05(月) 23:16:55ID:???
腐海化してる日本のユーザーグループサイトになかったけ?
0902nobodyさん2007/02/06(火) 00:13:31ID:???
>>900
あそこはまだ作成中
日本のサイトからダウンロードすれ
0903nobodyさん2007/02/06(火) 01:37:37ID:???
>>900
あとモハビな。
0904nobodyさん2007/02/06(火) 02:50:11ID:???
>>897
書き散らす分には配列に放り込むのは楽だろう。
しかし、ある程度プロジェクトが膨らんでくると、
設定ファイルを管理するツールが必要になってくる。

そのときYAMLのような汎用ファイルか、PHP配列をソース開いて
正規表現等で解釈させるような方法でやるか、
どちらがツールを楽に構築できるか、差は一目瞭然。
0905nobodyさん2007/02/06(火) 03:11:22ID:???
>>883
>結局phpエラー吐く関数またラップし直しじゃんもうphpアホかと
set_error_handlerいっこ定義するだけじゃん。別に何も難しくないし、もう>>883アホかと

>php5ってなんでエラーハンドラと例外ハンドラって2つあるんすか?
互換
0906nobodyさん2007/02/06(火) 04:49:10ID:???
互換性って何?って話だな
0907nobodyさん2007/02/06(火) 08:54:29ID:???
>>892
少し趣旨はズレますが、私はSymfonyを使っていてあまりにもパフォーマンスが出ないので、cakePHPに乗り換えました。

しかし、それでもまだ不満なので、Django(Python)に思い切って乗り換えようかと悩み中です。
0908nobodyさん2007/02/06(火) 12:29:56ID:???
javaつかっとけば?
0909nobodyさん2007/02/06(火) 14:06:07ID:???
rubyでいんじゃね?
0910nobodyさん2007/02/06(火) 16:26:13ID:???
スピードで言えばzendが一番早そうだけどどうだろ
09119102007/02/06(火) 16:26:51ID:???
ZFのパフォーマンスね。
0912nobodyさん2007/02/06(火) 19:46:41ID:???
http://www.nikkeibp.co.jp/news/it07q1/524693/
Zend Studio 5.5は、Zend Frameworkのバージョン0.6.0を同こんする。

こんな中途半端なバージョン組み込まれてどうしろと?
0913nobodyさん2007/02/06(火) 20:10:40ID:???
>>912
時期尚早ですな
早めのうぷでーとしてくれるなら5.0からアップグレードして良いが
0914nobodyさん2007/02/07(水) 08:55:06ID:???
>>912
やっぱZendの人もSymfonyの完成を見て焦ってしまったんじゃないですかね。
バンドルはしなくて良いと思う。
=必要ならダウンロードして取得すればいいだけだからね。
無理やり押し付けてSymfonyのシェア拡大を阻止しようと思ったのかなー???
0915nobodyさん2007/02/07(水) 09:02:51ID:???
symfonyガソバレ!!!
0916nobodyさん2007/02/07(水) 09:32:04ID:???
フレームワーク戦争勃発
0917nobodyさん2007/02/07(水) 09:38:57ID:???
>>912
そもそもZendStudioなど使わない
0918nobodyさん2007/02/07(水) 11:38:08ID:???
進歩煮会と全土組の抗争が!?
0919nobodyさん2007/02/07(水) 14:13:58ID:???
毛育一家も忘れないであげてください
0920nobodyさん2007/02/07(水) 14:38:40ID:???
>>914
もともとzfはPDTやZSと連携することになっていたと思うが
0921nobodyさん2007/02/07(水) 18:47:26ID:???
実用じゃなくて勉強のためにコード追っていきたいんだけど、
symfonyとZF、どっちがオススメ?
0922nobodyさん2007/02/07(水) 18:55:50ID:???
その目的なら激しくZFを勧めるな
symfonyのコードは癖がありすぎる
0923nobodyさん2007/02/08(木) 02:58:05ID:???
ZFのが癖がありすぎるな。
あのアンダーバー規約は今時の他の言語ではありえない。
0924nobodyさん2007/02/08(木) 05:23:29ID:???
アンダーバー規約って?
レス数が900を超えています。1000を超えると表示できなくなるよ。