元スレ【PHP】PHPフレームワーク総合スレ14
php覧 / PC版 /みんなの評価 :
402 = :
そんなにあるのか
403 = :
もうちょっとあるよ
404 = :
Yiiブログチュートリアル 日本語訳
http://www.craftgear.net/docs/yii_blog_tutorial/index.html
本家の日本語訳が途中でストップしてるけど、こちらは全部訳してある。
本家
http://www.yiiframework.com/doc/blog/ja
408 = :
決済時にGBPが暴騰する可能性が
409 = :
>>408
ん? 俺もう決済したけど。
410 = :
現金で払ったのか?
412 = :
カードってカード会社の精算日のレートであって決済日のレートじゃないんだよな
413 = :
>>412
だからもう締まって請求来てるから。
414 = :
1ヶ月後・・
>>407 「まだ届かないんですが。」
416 = :
PHPでDIコンテナを使う利点が説明された資料があれば教えてください。
DIコンテナをPHPで使う利点がいまいちわかりません。
勉強したいので、「わからないなら使わなくていい」という回答はご遠慮ください。
418 = :
遠慮はいらん
419 = :
DIを理解してないのであれば、まずは理解してください
理解さえできれば、メリット、デメリットはすぐに見えてくるかと思います
勉強のとっかかりかたまで教えてもらう必要があるように程度が低いのであれば、諦めるというのも一つの手です
ってか、ド素人なにわかな俺でもぐぐって3分かからずわかるような内容じゃん…
そもそもこれ別にPHPでって言語で限定するような内容でもないよ
PHPの使い方はこうあるべきだ!なんて思ってる人なら色々思うところあるんだろうけど
勉強したいなら勉強しましょう。質問したいならどういう理由で利点がないと感じたかを書くべき
420 = :
依存性の注入とか言われたってわからんわい、って別におかしくない
「3分かからずわかる」はないわ
あと、コンパイルしてデプロイして云々のJavaでのメリットはわかりやすくても、
それをPHPに持ち込むメリットは、正直具体例をあげて誰かに説明してもらいたい
421 = :
難しいこと言ってるけど
classのラッパーを作成するってだけのことでしょ
422 = :
>>420
そりゃあんたがセンスないからじゃないの?
今までにまともな設計した事ないでしょ?
423 = :
>>419
>そもそもこれ別にPHPでって言語で限定するような内容でもないよ
これは多言語を理解していないか、DI自体を理解していないな。
424 = :
>>417
>1分で理解出来る概念に資料も糞もないわ
大変優秀な方ですね。私にはとても1分では理解できませんでした。
DIコンテナは、Javaではよく使われてますが、動的な言語ではほとんど使われていません。
PHPのような動的な言語にもDIコンテナが役立つかどうかについては、いまだ結論は出てないようにおもいます。
ただ、PHPにはDIコンテナをうりにしたフレームワークがあるようなので、動的な言語でもDIはこんなに便利だと
いうのをうまく説明できる人がいらゃっしゃることを期待して質問しました。
ですので、なにか情報をご存知の方がいましたら教えてください。
425 = :
そもそもJavaでDIを使う事のメリットは理解してるの?
426 = :
依存するクラスに変更があった場合でも元のプログラムをmakeする必要がない
427 = :
いや違うと思うが
428 = :
>>424
http://www.slideshare.net/fabpot/dependency-injection-with-php-53
これみたらわかると思うよ。
429 = :
働いたらmakeかと思っている
430 = :
昨今のマならもっと概念的なとこで考えれよ
理解できたらあとは>>417。ケースバイケースだって意味がわかってくるんじゃないの?
>>426みたいな人には、「わからないなら使わなくていい」、という回答以外にいい答えないと思うけどな
//そもそも割とスレチ
//PHPのフレームワークにそういうのがあるから、っていっても
//そのフレームワークの話題どころか名前すら出してないのに、わざわざこのスレで語る内容かこれ
432 = :
DIコンテナってclassのラッパーのことだろ
言葉は知らなくても自然とやっている人は多い
433 = :
>>DIコンテナってclassのラッパー
こいつは全然わかってないのは分かった。
435 = :
職場の習慣で使ってはいるが
便利さはわかってない
442 = :
yiidocはとまったままなのかのう
翻訳が進んでないのが悲しい。英語苦手だから助かってたのに
443 = :
DIコンテナは静的型付け言語だから必要といってもいいものだよ。
型の依存、たとえばこのクラスAは、クラスBを継承しているなんてものがコンパイル時に決まってしまう。
そうすると単体テストがやりにくくなってしまう。たとえばクラスAのテストをするとき、
クラスBは無いものとして行うのが単体テストだから依存性があるとテストしにくいわけ。
これを取り除いて、クラスAはクラスAとして、クラスBはクラスBとして
独立している状態で実行時に設定ファイルにより継承関係をあとから付け足すのが
依存性の注入。
PHPなどの動的型付け言語の場合、evalなどの機能で実行時に
クラスとか関数を作れるので、DIコンテナのような仕組みが無くても
言語仕様の範囲である程度は作れてしまえる。
静的型付け言語だとそれが難しいから、DIコンテナのような仕組みを
作らないといけない。まあ一種のフレームワークだね。
444 = :
「静的型付け言語だから~」
よくある誤解だ。もし動的言語でDIが全く不要なものならSymfony2.0で採用されないだろう。
再コンパイルが不要というのはDIの効果のごく一部に過ぎない。
「設定ファイルにより継承関係をあとから付け足す」
これも従来の特定のDIコンテナの一部実装に過ぎない。Guiceだと非設定ファイルでの注入が普通だ。
445 = :
結局理解できてない人の暴走だったっていうオチ
446 = :
>>444
結局DIコンテナの有用性を一つも指摘してないじゃないかw
447 = :
三行で説明できないものは普及しない。これは歴史的事実。
448 = :
どんなものでも
三行で説明できます。
ただし一行の文字数は無制限という前提で。
449 = :
非常識だ
450 = :
>>428
>http://www.slideshare.net/fabpot/dependency-injection-with-php-53
>これみたらわかると思うよ。
ありがとうございます。まさにこういう資料を探してました。感謝です。
これを読んで、自分なりには以下のように解釈しました。
・DIはdecouplingが目的である
・decouplingすることはPHPのような動的言語でも役に立つ
・ゆえにPHPでもDIは役に立つ
#間違いがあればご指摘ください。
この資料のおかげで、自分なりの結論が出ました。ありがとうございます。
>>436
>DIはソフトウエアパターン、DIコンテナはそれを実現する技術の一つ。
まさしくそのとおりですね。DIコンテナを使わなくてもDIは実現できますが、
DIコンテナを導入した方が自然に記述できると思ったら導入すればいい。
>>437
こちらもありがとうございます。実装が240行程度なので、参考になります。
>>444
>もし動的言語でDIが全く不要なものならSymfony2.0で採用されないだろう。
ですね。その点、RubyやPythonのフレームワークより、PHPのほうが一歩進んでいるという印象を受けました。
レスくれたみなさん、ありがとうございました。>430みたいな人ばっかりだったらどうしようと思いましたが、聞いてよかったです。
みんなの評価 :
類似してるかもしれないスレッド
- 【PHP】PHPフレームワーク総合スレ15 (989) - [97%] - 2013/9/27 6:00 △
- 【PHP】フレームワークPharonスレ (306) - [75%] - 2022/10/10 20:00
- 【PHP】フレームワークMapleに舌鼓 (470) - [62%] - 2017/12/31 9:31
- 【PHP】フレームワーク Akelos (129) - [59%] - 2019/5/9 7:46
- 2ch有志がPHPフレームワークを作るスレ (81) - [55%] - 2019/5/9 7:46
- 【PHP】Laravel【フレームワーク】 Part.4 (460) - [53%] - 2021/4/4 4:00
- 【PHP】Laravel【フレームワーク】 Part.11 (870) - [53%] - 2022/8/28 15:45
- 【PHP】Laravel【フレームワーク】 Part.12 (314) - [53%] - 2023/1/30 18:45
トップメニューへ / →のくす牧場書庫について