【総合】PHPフレームワークを語るスレ8
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/10/17(水) 16:01:41ID:72/gWtt1http://pc11.2ch.net/test/read.cgi/php/1181350116/
0785nobodyさん
2007/11/27(火) 20:43:47ID:???ruby公式ロゴ決定でPHP嫉妬www
0786nobodyさん
2007/11/27(火) 20:46:35ID:???三木谷とまつもとが結託でPHPのシェア大幅下落www
0787nobodyさん
2007/11/27(火) 21:10:23ID:???0788nobodyさん
2007/11/28(水) 02:24:54ID:???0789nobodyさん
2007/11/28(水) 11:13:11ID:???Seleniumは、PHPというよりHTML(Javascript)側のテストツールだぞ。
XSSとかのテストに便利
(でも、ルール作るのが面倒やな。)
一つ一つのモジュールの出力をテストするにはPHPUnitとかかな。
0790nobodyさん
2007/11/28(水) 21:02:03ID:???0792nobodyさん
2007/11/29(木) 12:25:20ID:???Googleは技術と戦略を軸に規模を拡大してきた。ただ、それが強みでも弱みでもある。楽天はオペレーションを加えた3つをしっかりとやってきた
何様だ?
楽天とgoogleなんて比べることすらおこがましいだろ
ruby魂売りすぎワロタ
0793nobodyさん
2007/11/29(木) 13:40:05ID:???0794nobodyさん
2007/11/29(木) 13:55:53ID:???0797nobodyさん
2007/11/29(木) 16:09:45ID:5C/J/t4qRailsがもてはやされてる頃に、楽天が採用するって言い出したんだよな。
まぁ、どっちもどっちだ。
0798733
2007/11/29(木) 18:36:58ID:???でも一つの答えをくれたRailsに感謝。
楽天くらい開発スタッフかかえてるんなら自分たちでFW作って社内標準にすればいいのにな。
0799nobodyさん
2007/11/29(木) 18:39:18ID:???0800733
2007/11/29(木) 19:03:17ID:???0801nobodyさん
2007/11/29(木) 20:34:40ID:???0802nobodyさん
2007/11/29(木) 21:40:55ID:???全部自分好みにできるがな。
0803733
2007/11/29(木) 22:21:45ID:???0804nobodyさん
2007/11/29(木) 23:44:43ID:???単に俺がしょぼいんだろうなあ…。
0805nobodyさん
2007/11/30(金) 08:57:17ID:???楽天は安くて品揃え良くすれば、Ruby使おうがJava使おうがどうでもいいよ。と普通の世間の人は思ってる。
0806nobodyさん
2007/11/30(金) 10:44:14ID:bY6T+Roz0807nobodyさん
2007/11/30(金) 12:19:43ID:???Rubyは良い言語だよね?
0808nobodyさん
2007/11/30(金) 12:28:20ID:???rubyは楽天と組むとイメージダウンが著しいな
0809nobodyさん
2007/11/30(金) 13:36:29ID:???0810nobodyさん
2007/11/30(金) 14:15:18ID:???0811nobodyさん
2007/11/30(金) 15:38:10ID:???0812nobodyさん
2007/11/30(金) 15:40:46ID:???楽天だってjavaもphpも使ってるって言ってるし。
0813nobodyさん
2007/11/30(金) 17:13:05ID:???0814nobodyさん
2007/11/30(金) 17:24:40ID:???0815nobodyさん
2007/11/30(金) 17:40:31ID:???PHPでフレームワーク使ってる奴はレアな存在ってことを象徴してるよな
http://www.phppro.jp/phpconference2007/qa/2
0816nobodyさん
2007/11/30(金) 18:53:18ID:???それぞれ個別のFWスレがあるんで
実際に使ってる人達は基本的にそっちでやっている
このスレも前スレくらいまではもう少しまともだった
今はもう煽る奴と煽られる奴しかいない
0817nobodyさん
2007/11/30(金) 19:00:15ID:???0818nobodyさん
2007/11/30(金) 20:36:44ID:???PHPの難しさを100としたら
Javaの難しさはどのくらいですか?
ちなみにPHPは5でオブジェクト指向で書いてます
0819nobodyさん
2007/11/30(金) 20:50:41ID:???習得時間を要するフレームワーク覚えたり、Tomcatの設定とか
Javaでウェブアプリを作る上で付随することを覚えるのが辛いかもね。
0820nobodyさん
2007/11/30(金) 22:21:47ID:???オブジェクト指向でかけるならそんな難しくないでしょ。
JAVAでもC++でも…。
俺、未だにオブジェクト指向を理解できてない…orz
0821nobodyさん
2007/11/30(金) 22:26:35ID:???0822nobodyさん
2007/11/30(金) 22:36:21ID:???やってみりゃいいよ。
俺はCからJavaに移る時に、3ヶ月目に これがクラスの力か!って閃いた。
初めて自転車に乗る時みたいなもんだ。
0823nobodyさん
2007/12/01(土) 00:09:25ID:???0824nobodyさん
2007/12/01(土) 09:52:25ID:???今まで変数の「型」について意識していなかったら結構ひっかかるかも?
それ以外はそんなに苦労しないんじゃないかな、と思う。
0825nobodyさん
2007/12/01(土) 10:51:28ID:sHVEWDE60826nobodyさん
2007/12/01(土) 10:58:52ID:???0827鍔莊 ◆SrChNIpw0A
2007/12/01(土) 11:20:34ID:???0829nobodyさん
2007/12/01(土) 13:22:32ID:???昭和のかおりのする言語乙
0830nobodyさん
2007/12/01(土) 13:57:51ID:???PHPは・・・Zend Studioおねがいしまつ。
0831nobodyさん
2007/12/01(土) 15:08:06ID:???つか、作り方どっかに転がってなかったか?
0832nobodyさん
2007/12/01(土) 18:28:33ID:???0834nobodyさん
2007/12/01(土) 21:18:47ID:???それこそキリないだろ。
0835nobodyさん
2007/12/01(土) 21:43:32ID:sHVEWDE60836ほれ
2007/12/02(日) 00:38:16ID:???0837nobodyさん
2007/12/02(日) 05:30:09ID:???皆さんphpでDIコンテナって使う機会ありますか?
便利そうだなーと思うものの実際使ったことがないので効果のほどがわかりません
どうでしょうか
0838nobodyさん
2007/12/02(日) 07:23:30ID:???あれはJavaのような融通の利かない言語のためにあるもの。
スクリプト言語にはまず必要ない。
config.php:
<?php $class = 'Foo'; ?>
main.php:
<?php $obj = new $class(); ?>
でたいてい間に合う。
ああAOPがあったか。AOPがやりたいなら悪くないかもしれんが、
スクリプト言語ならAOPも簡単にできそうだしなあ。やっぱいらんと思う。
0839nobodyさん
2007/12/02(日) 12:15:27ID:???0840nobodyさん
2007/12/02(日) 12:26:50ID:???0841nobodyさん
2007/12/02(日) 12:45:42ID:???ってか、それMockとか作るたびにソース書き直してそれやってるの?
DIコンテナはやっぱりテストする際に、実装しているクラスとMockを簡単に切り替える点にあるといえる
インスタンスの管理だけがDIの利点ではないだろう。
もし、それだけなら単なるFactoryつくればおk
AOPについても同様で、既に作成済みのクラスや機能について
処理を追加したいと考えた際にAOPが無くちゃ何も出来ない。
誰かがソースを直して待つしかないなら、AOPで書き換えるようにする。
もしかして、ソース管理は自分一人でやってないよな?
0842nobodyさん
2007/12/02(日) 13:45:47ID:???>ってか、それMockとか作るたびにソース書き直してそれやってるの?
そうだよ。変更箇所だけを集めたファイル(config.php)を作って、必要があれば都度書き換えてる。
DIコンテナも設定ファイルを書き換えるよね。そのXMLファイルがPHPファイルになっただけ。本質的な違いはない。
>DIコンテナはやっぱりテストする際に、実装しているクラスとMockを簡単に切り替える点にあるといえる
>
>インスタンスの管理だけがDIの利点ではないだろう。
>もし、それだけなら単なるFactoryつくればおk
「実装しているクラスとMockを簡単に切り替える」のは「インスタンスの管理」だと思うんだが違うのかね。
ついでにいうと>>838のコードは「実装しているクラスとMockを簡単に切り替え」ている例だと思うけど。何が不満なのかしら。
>AOPについても同様で、既に作成済みのクラスや機能について
>処理を追加したいと考えた際にAOPが無くちゃ何も出来ない。
>誰かがソースを直して待つしかないなら、AOPで書き換えるようにする。
それはJavaにそういう機能がないだけだよね。クラスの定義自体を動的に行うスクリプト言語にそんなこといわれてもなあ。
>もしかして、ソース管理は自分一人でやってないよな?
人数は関係ないんじゃない?Javaではソース管理が一人だとDIコンテナやAOP使う利点がなくなるの?
0843nobodyさん
2007/12/02(日) 15:18:44ID:???0844nobodyさん
2007/12/02(日) 17:07:56ID:???個人的にはHawkさんこそ復帰して欲しい・・・。
0845nobodyさん
2007/12/02(日) 18:01:06ID:???って気づいちゃった人だったけ?
0846nobodyさん
2007/12/02(日) 19:03:29ID:???横レスすまんけど
DIつう仕組みがすでにあるのに俺俺ファクトリーみたいなのを使う理由って何だ?
煽りじゃなくて単純な疑問。答えてくれるとうれしい
0847nobodyさん
2007/12/02(日) 20:19:53ID:???必要ないから。大げさだから。学習コストがかかるから。
俺俺ファクトリーで済むのにわざわざDIを使う理由は何だ?
Javaは融通がきかないからDIコンテナを使うのはわかる。
でも何でも実行時に行うスクリプト言語でわざわざ手間掛けてDIコンテナを使う理由はあるのか?
設定ファイル(config.php):
<?php $klass = 'Foo'; ?>
main.php:
<?php require_once('config.php'); $obj = new $klass(); ?>
これですむような言語にDIなんて必要ないだろ。
0848844
2007/12/02(日) 21:17:48ID:???お前Hawkさんとこに糞なコメント残したtestと同じタイプか?
何かしらプライベートであったからあーいう結末になったんだろ?
俺はあの人のサイトには随分世話になったんだ。
そういう言い方すんな、日本のPHP界にとっても有益な人だっんだ。
0849nobodyさん
2007/12/02(日) 21:27:44ID:???これでいいかな?
0850nobodyさん
2007/12/02(日) 22:03:43ID:???0851nobodyさん
2007/12/02(日) 22:21:46ID:???糞なコメントって何だ?
事情は知らんが印象に残ってただけで中傷する意図はない
プライベートどうこうじゃなくて個人の資質の問題だろう
気づいたこと自体は気づかないままよりいいんじゃね
0853nobodyさん
2007/12/03(月) 01:09:56ID:???0854nobodyさん
2007/12/03(月) 01:37:18ID:???俺俺ファクトリーもそうだけど、ソースの修正量が増えたときに
インスタンス管理なんかを誰が管理しなくちゃ行けない場面が沢山あるんだよ。
少人数でソースの管理を行っているなら、コミットログとかコミュニケーションの範疇で
なんとかなるけど、規模が大きくなってくるとそれが大変になってくるんだ。
確かに俺俺ファクトリーでも十分使えるけど
>>847 の書いたようなコードが、実際に動く部分に混入するとそれこそ苦労倍増なんだよ。
だから、みんなでコンテナに登録してテストとかの際に切り替えは
コンテナからやっちゃいましょうね。っていう仕組みがDIで簡単にできる。
また、AOPについては前にも書いたけど、誰かがソースを修正しているときに
そのソースの修正を待たずに、処理を追加できる利点があるんだ。
ソースの完了を待って、自分のコードを書くのじゃ遅いから、
あらかじめインタフェースとかを切っておいて決まり事をつける事で
誰かに待たされる事なくプログラムを進める事ができるんだ。
って、長文すまん
0855nobodyさん
2007/12/03(月) 01:43:48ID:???コンパクトで少人数なら俺俺、でかくて大人数ならDI、とかそういう感じ?
0856nobodyさん
2007/12/03(月) 03:11:05ID:???>少人数でソースの管理を行っているなら、コミットログとかコミュニケーションの範疇で
>なんとかなるけど、規模が大きくなってくるとそれが大変になってくるんだ。
>確かに俺俺ファクトリーでも十分使えるけど
>>>847 の書いたようなコードが、実際に動く部分に混入するとそれこそ苦労倍増なんだよ。
おまえが何を問題にしているのかを明確にしてほしいんだけど、「(インスタンス管理のための)コードが、実際に動く部分に混入するとそれこそ苦労倍増」になることが問題ということでOK?
この前提が正しいとしたら、解答は「混入させない」。混入してたらそれはバグだから修正する。それだけ。
でもこれってJavaでも一緒だよね。Javaだと混入させない魔法でもあるの?
>だから、みんなでコンテナに登録してテストとかの際に切り替えは
>コンテナからやっちゃいましょうね。っていう仕組みがDIで簡単にできる。
だからそんなことはDIじゃなくても十分できるの。特にスクリプト言語なら。
>また、AOPについては前にも書いたけど、誰かがソースを修正しているときに
>そのソースの修正を待たずに、処理を追加できる利点があるんだ。
違うだろ。AOPの利点は次の2つ。
* 既存のクラスに手を加えることなく処理を追加できること
* クラス階層を横断して機能を追加できること
>ソースの完了を待って、自分のコードを書くのじゃ遅いから、
>あらかじめインタフェースとかを切っておいて決まり事をつける事で
>誰かに待たされる事なくプログラムを進める事ができるんだ。
それはAOP関係なくて、mockとかdriverとかstubとかいうものでやること。AOPである必要はない。
0857nobodyさん
2007/12/03(月) 03:56:12ID:???0858nobodyさん
2007/12/03(月) 10:25:24ID:aJcrBH5W0859nobodyさん
2007/12/03(月) 11:07:06ID:???0860nobodyさん
2007/12/03(月) 11:18:21ID:???って完全にスレ違いだな。スマソ
0861nobodyさん
2007/12/03(月) 11:31:44ID:???【総合】PHPフレームワークを語るスレ8
http://pc11.2ch.net/test/read.cgi/php/1192604501/l50
0862nobodyさん
2007/12/03(月) 18:20:40ID:???MD5脂肪でPHP脂肪wwww
0864nobodyさん
2007/12/03(月) 21:09:02ID:???0866nobodyさん
2007/12/04(火) 00:23:04ID:???きっとDIとAOPがはやってるからという理由で勉強したJavaプログラマー、社会人3年目くらいか。
0867nobodyさん
2007/12/04(火) 00:43:22ID:???使える場面では使ってもいいとおもうよ>DI
少なくとも毛嫌いするようなもんでもないと思う
0868nobodyさん
2007/12/04(火) 00:47:26ID:???0869nobodyさん
2007/12/04(火) 00:48:51ID:???PHPを比べてる時点でナンセンスだと思うけどね
0870nobodyさん
2007/12/04(火) 01:08:03ID:???人が書いた俺オレfactoryと、人が書いたDIコンテナと、どう違うというのだろう。
>少なくとも毛嫌いするようなもんでもないと思う
嫌ってるんじゃなくて、DIコンテナを使ってうれしい場面がPHPではないってことだろ。好き嫌いの話じゃない。
そんなにいうなら、どう嬉しいのかをちゃんと語ればいいじゃん。ちゃんと説得力を持って。
説得力のある理由がでてきてないから必要ないといわれるわけで。
0872nobodyさん
2007/12/04(火) 01:31:29ID:???俺の低レベルな理解力では次のように理解
DI:クラスを置き換えできる。
AOP:メソッドを追加したり置き換えできる。
Mock:DIと同じ?(DIをテスト用途で使うことに特化した呼び名?)
あとmixinってのもあるよね。
mixin=AOP?
0873nobodyさん
2007/12/04(火) 10:29:36ID:???AOPは既存処理の前後に共通化された処理を挿入する。(前後とは限らない?)
mix-inは、共通で使う処理を関数化しておいて、それを任意のクラスのメソッドとして使えるようにする。
とか俺も半端な知識で言っている。
てかスレ違い。この辺の議論やると終わらないし。
0874nobodyさん
2007/12/04(火) 12:15:47ID:???scarletとか手軽そうだね
0875nobodyさん
2007/12/04(火) 12:38:33ID:???>人が書いた俺オレfactoryと、人が書いたDIコンテナと、どう違うというのだろう。
少なくとも同じじゃないだろ
俺俺ファクトリーだと、大規模化したときコードの見通し悪くなるよ
>>870自身がどんな場合でもファクトリパターンで対応して
DIなんていらねーって言うんならもう何も言うことないけど
0876nobodyさん
2007/12/04(火) 16:47:36ID:???>俺俺ファクトリーだと、大規模化したときコードの見通し悪くなるよ
コードって、どれを指してる?
例えば>>847の例だと設定ファイルとメインファイルの両方ともPHPのコードなんだけど、どっちのコードの見通しが悪くなると思ってる?
>DIなんていらねーって言うんならもう何も言うことないけど
DIの概念自体を否定してるんじゃなくて、何でも動的なスクリプト言語ならDIコンテナをわざわざ導入する必要がないといってるだけ。
DIでやろうとしていることは、スクリプト言語なら言語仕様の範囲で簡単に実現できる。
PHPでもDIコンテナが役に立つ例をだれも出せてないじゃん。それを示せばみんな納得できるのに、出しもしないでDIマンセーされてもな。
0877nobodyさん
2007/12/04(火) 18:03:00ID:???PHPでウェブプログラミングなんて、そもそも小規模なのばっかだし。
0878nobodyさん
2007/12/04(火) 18:30:24ID:???・DIの概念はPHPにおいても有効である。
・ただし、PHPでは>>847のように比較的簡単に実現できる。
・大掛かりな仕組みは必要ないじゃん。
JavaではDI必須。っていうのが当たり前になりつつあるようだけど
スクリプト言語では>>847のように比較的簡単にできてしまうことが、
静的型付き言語であるJavaでは一筋縄では実現できないから、Springとか
Seasarとかそういう大掛かりな仕組みが必要ってだけじゃない?
あと、Java的にはDI使うとクラス関係が疎結合になり
コンパイルが早くなるらしいね。
PHPの場合、大掛かりなDIを導入するメリットがJavaほどには無いように思う。
>>877そういうなよ。
なぜ、ぶった切ろうとする?
新しい話題提供できるならして欲しい。
DIについて話題になったのは、このスレでは初めてじゃない?
smarty必要か?PHPにフレームワークは必要か?とか
毎度毎度の定期ループしてる話題よりよほど良いと思うがな。
0879nobodyさん
2007/12/04(火) 19:29:14ID:???気にすることないよ。
0880nobodyさん
2007/12/04(火) 19:47:46ID:???AOPについではどうだろうか。
JavaでDIのメリットの一つとして、AOPが簡単にできることが挙げられる。
というか、AOPなしだとDIのメリットは半減する。
・PHPでもAOPは有効か?(どんなときに?)
・PHPではAOPも簡単に実現できるか?(YESなら大掛かりな仕組みはいらない)
0881877
2007/12/04(火) 20:39:47ID:???てかjavaでもいいや。xmlに書くとかもうウンザリ。
コード読んだ方がどこで何やってるかわかりやすいわ。
他人の俺俺ファクトリーでもスキルある奴が作ってればそれでいい。
だいたいソース読んで困るのは、ファクトリとかそんな知識すらないバカのだし。
0882nobodyさん
2007/12/05(水) 01:58:35ID:???以前開発していたちょっと中規模なプロジェクトがあったんだけど、
そのプロジェクトはDIコンテナのような仕組みが無くて、
>>847の書いたようなファクトリモドキを書いて、開発してたんだよ。
で、プロジェクトも終盤になってよし結合テストしよう!ってなったときに、
みんながcommon.phpみたいな必ず読み込まれるようなファイルに
$hoge = 'MyClass'
みたいな記述をして、どこからrequireされたか分からない、autoloadされたクラス内で
$obj = new $hoge($params)
と書かれてたんだわ。
それ自体は別に共通化されたファイル内に書かれていたから良かったんだけど、ときどきデバッグ用に
$hoge = 'OtherClass'
とかって書いちゃってるコードが混入して、結合テストがすごく大変だったトラウマがある。
あと、依存関係が全然整理されてなくて
public function __construct($str){
$this->hoge = new $str;
}
なんて記述があったときには、何をnewできるのか、何が newされる対象なのかがわからなくて、保守のときに大変だったトラ ウマがある。(ドキュメントがあまり書かれてなかったんだよね...)
それがあってから、俺が担当するプロジェクトはDIを使うようにしてる。
どこで生成されるべきか、どこで使うか、どうやって切り替えるかを明確にするためにDI使ってる。
設定ファイルの管理は面倒だけど、テストがその分、楽になったかな。
DIのメリットはこんな感じだった。
スクリプト言語でも十分使えると思う。管理という面においては。
0883nobodyさん
2007/12/05(水) 02:04:50ID:???Apache 2.0系、2.2系にクロスサイトスクリプティングの脆弱性
Apache脂肪でPHPまたもや脂肪www
■ このスレッドは過去ログ倉庫に格納されています