【PHP】フレームワークについて語るスレ10【総合】
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん
2008/02/09(土) 10:43:58ID:???http://pc11.2ch.net/test/read.cgi/php/1197383840/
0810nobodyさん
2008/07/03(木) 22:55:35ID:???agaviはContextクラスがAgaviModelの派生クラスのファクトリーになってて、
IAgaviSingleModelインターフェイスを実装している場合はSingletonになるようにしてる。
0811nobodyさん
2008/07/03(木) 22:57:16ID:???想定しているのはこういうのじゃなくて?
# これなら継承しても特に問題なさそうなんだけど・・・
class A
{
protected static $obj;
public static function singleton()
{
if(!isset(self::$obj)){
self::$obj = new stdClass();
}
return self::$obj;
}
}
class B extends A{}
var_dump(B::singleton());
0812nobodyさん
2008/07/03(木) 23:14:16ID:???>>811 での Bクラスの singleton() では、例えば Aクラスを継承した
Cクラス・Dクラス・・・でも、「同じ」インスタンスが返ってくるなw
class B extends A{}
+ class C extends A{}
var_dump(B::singleton());
+ var_dump(C:::singleton());
んで、ぐーーーーっと戻るが、>>788 での記述でAクラスが書かれて
いたとすると、結果が変わる。
BクラスとCクラスでは、戻ってくるインスタンスが違う。
結局、こういうことなのかな?
詳しい人、解説頼む
0814nobodyさん
2008/07/05(土) 12:22:18ID:???0816nobodyさん
2008/07/05(土) 21:17:29ID:???そんなことより、JavaもPerlもRubyもMVCフレームワークって
ほぼ1択なのにPHPは乱立してんの?
決定版が出てこない時点で終わってるな。
0817nobodyさん
2008/07/05(土) 21:51:53ID:???ある意味、PHPの敷居の低さかな。もともとWEBフレームワークみたいなものだから、
基本機能(CookieだとかHTTP周りとか、出力とかサーバへのデプロイとかもろもろ)を
スキップしていきなり構築出来るし、書いてみれば結構できちゃった、みたいな感じじゃね?
0819nobodyさん
2008/07/07(月) 15:48:06ID:???・DIコンテナとsingletonの関連は?
・DIコンテナを使ったPHPフレームワークってある?その得意とするケースは?
初心者が、ここでこれくらい聞いてもいい?
0820nobodyさん
2008/07/07(月) 16:02:09ID:???0821nobodyさん
2008/07/07(月) 17:53:08ID:???> ほぼ1択なのにPHPは乱立してんの?
PHPがオープンだからじゃないかな?
Javaも最近オープンになってきたから
フレームワーク増えてきているよね。
0823nobodyさん
2008/07/07(月) 21:40:56ID:???Javaを勉強しないといけませんか?^^
0825nobodyさん
2008/07/07(月) 23:23:56ID:???いやいやw それデザパタとかないしw
まずは、DIコンテナが有効なのかどうか、その辺の話が出来ないのか?
ググっても古い情報しかないのは、もう廃れたのか、常識的に使われている
からなのか、どうなんだ
基本的に、手法がXML等の外部設定ファイルだろ?PHPに馴染むとは思えん。
俺を含めて、本格的に使ったことの無い奴が多いんだろうとは思うが。
0826nobodyさん
2008/07/08(火) 15:28:51ID:???XMLなどの外部設定ファイルで設定するのって
大変だよ。
0827nobodyさん
2008/07/08(火) 17:39:01ID:???Javaのフレームワークがほぼ一択だと思ってるなら、無知すぎ。
Rubyは開発者が少なすぎの過疎言語だったから。
Perlも廃れた言語だから。
Pythonも多い。
PHPも、乱立っても紹介が多いだけで、実際使われてるフレームワークは
限られてる
0829nobodyさん
2008/07/08(火) 21:14:00ID:???0830nobodyさん
2008/07/08(火) 21:14:32ID:???yamlの奴とかもあるよ
0832nobodyさん
2008/07/08(火) 21:21:43ID:???ともすればRouterやControllerあたりに目を奪われて、ライブラリ
部分の評価がおざなりになってしまったりする。
例えばCIに持ち込むとかすればいいし、双方ともそれが簡単に
出来るように作ってはあるんだけど、その時に何というか気持ち悪い
何故かと考えたが、クラス・変数・関数・ファイル名等の命名規則が、
分散しすぎているせいもあるなあというのが最近の実感。
異質な気持ち悪さがあるのは、きっと命名規則等も分散して
0834nobodyさん
2008/07/08(火) 21:29:32ID:???0835nobodyさん
2008/07/08(火) 21:38:19ID:???多分、それが普及するまでまた3年くらいかかるんじゃね?
名前空間全開で使ってると使用者が増えないという、何という二の舞w
んで、5.2のサポート終了まで引っ張るとか。
0836nobodyさん
2008/07/08(火) 21:46:15ID:???0837nobodyさん
2008/07/08(火) 21:48:24ID:???4はそれこそ、今までの遺産でがんばれば良いじゃない
0838nobodyさん
2008/07/08(火) 22:09:17ID:PfgpRR5RCodeIgniterにZendFrameworkのライブラリを引っ張ってくる=いいとこ取りで、楽ができますか?
MVCならルーティングとか、コアになる部分は、どのフレームワーク使ってもに似たような処理になっているでしょうか?^^
0839nobodyさん
2008/07/08(火) 22:12:20ID:???自由に組み合わせて食べられるとウマー?
時間があったら、フレームワークのコードを読んでみるか…。
0840nobodyさん
2008/07/08(火) 22:12:52ID:???0841nobodyさん
2008/07/08(火) 22:34:22ID:???別にそんなに難しくないし、メリットはあるとおもう。例えばZend_Pdfとか持って来たり。
lib/Zend 以下をごっそりvendor/とかにコピーしてinclude_pathを通すのが一番楽だけど、
依存に注意しながら必要なものだけを持ってくるのでも、それほど難しくない。
例外が2系統投げられるので、その辺が気になるなら対処して。
CIの場合はそれほどコアに密着したライブラリって無いので、例えばSessionとかDbとか
も、好きなものを使おうと思えば使える。Registryとか、なんでCIにないのかなって思ったし。
# そうすると、CIの機能をいくらか無視することにもなるかもだけど、それで幸せになれるならおk
で、問題はそれをやると、ソースがカオスになると。メソッドの命名規則なんか、CIはZFの
対局にいると言っても過言ではないとおもうし。
# クラスにprefixつけない、CamelCase嫌い、クラスファイル名でもCamelCase式と
# lowercase-underscore式の、独自ルールによる混在、もろもろ・・・
そこに上乗せする俺のソースはどっちで書けばすっきりするんだああ、となるよ。
0842nobodyさん
2008/07/09(水) 00:45:59ID:???ここのアホ住人は。
今は、XMLにはほとんど記述せずにアノテーションでお手軽に記述できるんだよ。
0843nobodyさん
2008/07/09(水) 00:54:02ID:???そうやって、どんどんJava風を進めて行くわけですね。>アノテーション
出来れば、そのメリット・デメリットを絡めたレスが欲しいなぁ。
なんでJavaで一般的なものがPHPで一般的でないか、それを、
「遅れている」等としか捉えられないのなら、少しおかしいと思っていいよw
0845nobodyさん
2008/07/09(水) 01:12:38ID:???それを言うなら、XML言い出した大本の>>825では自嘲している
> 俺を含めて、本格的に使ったことの無い奴が多いんだろうとは思うが。
むしろ、DI派の具体的な書き込みが無いから発展しないんだろうが。
0846nobodyさん
2008/07/09(水) 01:20:27ID:???0847nobodyさん
2008/07/09(水) 02:45:49ID:???静的言語の融通の効かなさを誤魔化すために生み出されたものだし。
0848nobodyさん
2008/07/09(水) 10:02:19ID:???0849nobodyさん
2008/07/09(水) 12:00:32ID:QmvziGkHアルゴリズム能力は知識で補えない、もって生まれた能力
0850nobodyさん
2008/07/09(水) 20:19:04ID:My9jWWGdオリジナルの式を組めるなら凄いな
0851nobodyさん
2008/07/09(水) 21:05:11ID:???アルゴリズムってか、ロジックレベルで言ってるんでは無かろうかとも思う
ってか、何これ。コピペ?
0852nobodyさん
2008/07/09(水) 23:28:12ID:???世界ITコンテスト、慶大生が3位入賞
世界の学生がIT(情報技術)の開発力を競う「イマジンカップ」(米マイクロソフト主催)の第6回世界大会が
8日までパリで開かれ、「アルゴリズム部門」で、慶応大の高橋直大さん(20)が3位に入賞した。
日本人の3位以内の入賞は初めて。アルゴリズムはコンピューターソフトの基礎となる計算手法で、
高橋さんのアルゴリズムの独創性などが評価された。
アルゴリズム部門のコンテストは数学パズルのような9問の課題を24時間の制限時間内に
コンピューターを駆使して解法を考案する。高橋さんは「好きな算数や数学の考え方をいかした。
2、3分しか寝なかった」と話した。
パリの大会には100カ国以上から124チームが参加した。予選を含めた総参加人数は20万人を超える。(パリ支局)(11:01)
http://www.nikkei.co.jp/news/shakai/20080709AT1G0900609072008.html
0853nobodyさん
2008/07/10(木) 03:46:42ID:???0854nobodyさん
2008/07/10(木) 03:57:12ID:???「DIコンテナ」のこと?それとも
「自分のプログラム技術が上手なことに気付いた」の方?
はっきりしろやw卑怯者がwww
0855nobodyさん
2008/07/10(木) 04:07:03ID:???なんで卑怯者???
0856nobodyさん
2008/07/10(木) 04:08:03ID:???0857nobodyさん
2008/07/10(木) 10:37:59ID:R+kirKl3ってなると、話がピタッと止まるから面白いw
0858nobodyさん
2008/07/10(木) 12:07:19ID:???0859nobodyさん
2008/07/10(木) 12:11:37ID:???各フレームワーク専用スレに移行しております。
0860nobodyさん
2008/07/11(金) 18:54:57ID:???クラス作成の適切な方法を調べています。
分析(モデリング)→設計の流れにおいて、
・構造化プログラミングだとDFD
・オブジェクト指向プログラミングだとUML
ユースケースドリブン=ユースケース図→ロバストネス分析→クラス図を作成する?
アーキテクチャセントリック=アーキテクチャ(基盤)としてのフレームワークを選定→フレームワークの流儀に従って機能(クラス等)をどんどん追加していく?
…ということでしょうか?
本やサイトを調べると、Javaの事例がたくさん出てきました。
0861nobodyさん
2008/07/11(金) 19:04:44ID:???0862nobodyさん
2008/07/11(金) 19:28:36ID:???0863nobodyさん
2008/07/11(金) 19:37:29ID:???0864nobodyさん
2008/07/11(金) 19:49:05ID:???=簡単なアプレットを作れます。
オブジェクト指向分析→設計って、言語の仕様に依存しないで使えますよね?
クラス作成は、適当でも動くものは作れるけど、先人が体得してきた上手いやり方を知りたいです。
デザインパターンは、これから勉強してみます。
0865nobodyさん
2008/07/11(金) 19:53:01ID:???文書を作成する場合も、フローチャート図やDFD図を書けば、人に説明できる。
データベース設計もER図で書ける。
オブジェクト指向設計はこれから勉強しますが、体当たりで試行錯誤するより、典型的な勉強方法を知りたいです。
0866nobodyさん
2008/07/11(金) 23:06:34ID:???0867nobodyさん
2008/07/11(金) 23:37:05ID:3Q95O5fB群雄割拠><
0869nobodyさん
2008/07/12(土) 09:41:14ID:jBMGyyJiが、そもそもCの勉強コスト自体が高いかね。
でも、勉強しておくと、後々効いてくる。
0870nobodyさん
2008/07/12(土) 09:52:14ID:???関連書籍のレベルも低いし
0871nobodyさん
2008/07/12(土) 11:05:18ID:???関数の寄せ集めって考えれば、すごく楽なのに。
0872nobodyさん
2008/07/12(土) 11:12:05ID:???より便利に関数・・・というか、プログラミングを、と考えていくとオブジェクト指向につながっては行くけどな。
0874nobodyさん
2008/07/12(土) 11:38:13ID:???0877nobodyさん
2008/07/12(土) 12:02:11ID:???どうせ「ソースは自分」だろうからほっとけ。
オブジェクト指向はOOPだけ見てると、どうしても小手先的な話が多くなりがちだから
OODも勉強したほうが良いとは思う。ただ、これに関して自分が呼んだ範囲でよかったと
思える本は、Booch先生の「Booch法:オブジェクト指向分析と設計」ぐらい。
しかもこれはもう絶版で再版はされないだろうから、中々に難しい。
0879nobodyさん
2008/07/12(土) 12:33:16ID:???じゃあ、自分の言葉で、「OODも勉強したほうが良い」と思われることを一つでもよろしく
例えば設計手法としてドメインモデルに基づいた「名前」の抽出とか、そう言った具体的な
ものは、"OOではなく"普通に有効なものだと思う。
何がOOのエッセンスか、その辺がよくわからない。
例えば新しい手法が出てきたとして、それがある場面で有効であっても、付帯する、
例えばJavaを前提としたUMLの書式であったりJavaの文脈であったり、そういった
ものはあまり普遍的ではないように感じる。
例: Beanとかなんとか書いてある本を、PHPで実際に参考にするのは非常に難しい。
0880nobodyさん
2008/07/12(土) 12:41:03ID:???> "OOではなく"普通に有効なものだと思う。
色々あるだろうけど、それはその通りだと思うよ。
ただ、例えばモジュール化とかの方法論は、機能単位に分解することを前提にしてたり、
して、モデリングの方法論としては使用されていなかったというだけの話で。
OO言語が流行るまで、個々のエンジニアレベルでOO的な思考がされていなかったのかと
言えば、そんなことはないでしょ。ただ、共通的なモデルとしては語られなかっただけで。
でも、それが出来るようになったのは、それなりに大きい。
後半は何言ってるかわからんから、コメントは控える。
0881nobodyさん
2008/07/12(土) 15:09:10ID:2oBRlMWNhttp://ja.wikipedia.org/wiki/%E3%83%A2%E3%83%87%E3%83%AB%E9%A7%86%E5%8B%95%E5%9E%8B%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3
>フォレスターリサーチは2006年に MDA は死に体(D.O.A.)であるとした
OOA/OOD業界には、SIerが儲けるためのバスワードが混ざっているんでしょうか?
0882nobodyさん
2008/07/12(土) 15:11:44ID:2oBRlMWN○ バズワード
バズワード - 【buzzword】(特にビジネスの世界における)流行語。
バズワード(buzzword)とは一見専門用語のように見えるがそうではない、明確な合意や定義のない用語のことである。
0883nobodyさん
2008/07/12(土) 16:00:51ID:???昔、IBMでさえ、「VBはOO言語だから、VBで作ったシステムはオブジェクト指向技術で作られているんだ」なんて
意味の無いことを主張してたし。
ただ、近いところだと、SOAなんかはバズだなぁって思う。
0884nobodyさん
2008/07/12(土) 17:44:37ID:???具体的に何が気に障ったのか判らんが
0885nobodyさん
2008/07/12(土) 17:54:21ID:bJKqKB86MVCとヴァアリデートだけできればいいし
0886nobodyさん
2008/07/12(土) 19:26:06ID:???逆に、それ以外で要らないものって何だ?
0887nobodyさん
2008/07/12(土) 19:35:29ID:???やたらと柔軟なrouterとか、使いやすいConfig、Repositoryクラスとか、そんなもの
のことかも
でも、ぶっちゃけヴァリデートはテンプレートライブラリと同程度にフレームワーク
からの独立性や選択肢が欲しいな。
一時期HTML_QuickFormが流行ったのは、独立したヴァリデーションライブラリの
側面もあったからだと俺は思ってる
0889nobodyさん
2008/07/12(土) 21:52:20ID:???> MVCが広すぎて何とも言えないが、独自セッションライブラリとかO/Rマッパとか
> やたらと柔軟なrouterとか、使いやすいConfig、Repositoryクラスとか、そんなもの
> のことかも
俺もそれのことだろうとは思ったのよ。
でも、本当にそんな便利なものをいらないと
言っているのかと疑問になってね。
0890nobodyさん
2008/07/12(土) 22:01:37ID:???0891nobodyさん
2008/07/12(土) 22:05:04ID:yMqg6CvPhttp://bizboard.nikkeibp.co.jp/kijiken/summary/19980817/NC0450H_416091a.html
日経コンピュータ 1998/08/17号
大規模オブジェクト指向開発が破綻 早期稼働を狙いVisual Basicへ変更
九州大学医学部附属病院は98年5月,医師や看護婦のあらゆる業務を支援する「新医療情報システム」を予定より1年以上遅れて全面稼働させた。
当初は97年1月から順次稼働させる予定だったが,システム・インテグレータとして開発を担当した日本アイ・ビー・エムのプロジェクト管理の甘さなどが原因で,開発が大幅に遅れてしまった。
最初smalltalkを使って、頓挫してVisualBasicに変更=オブジェクト指向プログラミングを捨てて、構造化プログラミングでデスマーチに対処したんですね?
0892nobodyさん
2008/07/12(土) 22:08:56ID:???スルガ銀行は2008年3月6日、日本IBMに111億700万円の損害賠償を求める訴訟を東京地方裁判所に提起したと発表した。
「新経営システム」の開発を委託したが、「IBMの債務不履行により開発を中止せざるを得なくなった」(広報)ことにより被った損害や逸失利益などの賠償を求めたもの。
スルガ銀が導入を目指していたのは、IBMのオープン勘定系パッケージ「NEFSS/Corebank」。
2004年9月にプロジェクトを開始していた。
当初は2008年1月の稼働を目指していたが、開発遅れにより、延期していた。
俺なら111億円も弁償できないよ><
PHPで月100万円儲けられれば十分です(^^)v
0893nobodyさん
2008/07/12(土) 22:10:53ID:???結構古い話なのね
肝心の97年のnikkeiBPの記事がリンク切れなのでぐぐっても良く判らないな。
http://bizboard.nikkeibp.co.jp/kijiken/summary/19980817/NC0450H_416091a.html
有料記事化してたこいつかな(SMLのML漁った方が早いのかな)
ともあれあの当時のVBでOO云々っていう事なら
俺も無理ある話だと同感ましたわ。
2006/7にも受注してんのな
ttp://www-06.ibm.com/jp/press/20060719001.html
こっちの話題はいまんところ見当たんない感じ
0894nobodyさん
2008/07/12(土) 22:11:11ID:???その発想はいいかもね!
PHPのフレームワークが乱立しているけど、いいとこ取りで自分で組み合わせて使うのがスマートだと思う。
=大きすぎず小さすぎず、必要十分条件を満たすように使い分けられる時代が来るかな?
0896nobodyさん
2008/07/12(土) 22:14:56ID:???それだけじゃなくて、名前は忘れたけど九大病院にシステム好きなセンセイが居て、
システムの要件としてオブジェクト指向技術をつかったシームレスなシステム化っのが
あったらしい。
で、IBMはVBだってOOPLなんだから、これもOOだって言い張ってた。
結局どうなったかは知らんけど。
スレと関係なくなってるから、ここまでにしておくね。
0897nobodyさん
2008/07/12(土) 23:13:48ID:???どうだろうね。
VB6なら、クラスもインターフェースもあるし、
オブジェクト指向として必要最低限の機能はあるんじゃね?
0898nobodyさん
2008/07/13(日) 08:44:03ID:???ttp://d.hatena.ne.jp/sumim/20040525/p1
0899nobodyさん
2008/07/14(月) 14:03:45ID:???0900nobodyさん
2008/07/14(月) 21:48:58ID:???0901nobodyさん
2008/07/14(月) 21:58:48ID:???PHPやPerlが一番いい例じゃないかw
そこまで行くと、何を今更と言ってもいいかと
まあ議論の内容は大事だけどね
0902nobodyさん
2008/07/17(木) 01:56:21ID:r8Tb5l590903nobodyさん
2008/07/17(木) 02:06:39ID:???0904nobodyさん
2008/07/17(木) 09:42:03ID:???Open Close Principle に一致する日本語のページ 約 55,700 件
http://www.morijp.com/masarl/homepage3.nifty.com/masarl/article/dp-ocp.html
Gang of Fourのデザインパターンは,全部で23個ものパターンがあります.
オブジェクト指向には,カプセル化,継承,ポリモルフィズムといった数少ない道具しかありません.
では,なぜ23個もの多くのパターンになってしまったのでしょうか?
このことは,デザインパターンの中に何かかくされた原理というべきものが存在するということを暗示しています.
それが今回紹介するOpen-Closed Principleです.
Bertrand Meyerによれば,Open-Closed Principleとは次のことを意味します.
「モジュールは拡張性について開いて(Open)おり,修正について閉じて(Closed)いなければならない」
このOpen-Closed Principle -- 「結んでひらいての法則」は,オブジェクト指向設計を考える際,その設計が正しいかどうかの指針を与えてくれるもっとも重要な原理です.
>>903
ネタThanksですw
参考になりました(^^)v
0905nobodyさん
2008/07/17(木) 13:41:46ID:???0906nobodyさん
2008/07/17(木) 13:47:12ID:???コンピュータ学園HALでも通っとけ
0907nobodyさん
2008/07/17(木) 20:12:06ID:???> オブジェクト指向には,カプセル化,継承,ポリモルフィズムといった数少ない道具しかありません.
> では,なぜ23個もの多くのパターンになってしまったのでしょうか?
数字はたった10個しかないのに、
ものすごくたくさんの数値パターンがあるのと同じ。
文字はたった26文字(アルファベット)しかないのに、
いろんな小説が作られたのと同じ。
人間は少ないもので、数多くのパターンを表現できるように・・・ではなく、
数多くのパターンを、少ない物で表現可能にしてきたのだよ。進化とともにね。
0908nobodyさん
2008/07/17(木) 20:33:28ID:???代表的なものであるのはまちがいないけど。
デザインパターンの重要な点は、有能なプログラマなら意識的
あるいは無意識にやっている、まっとうな設計に名前をつけたこと。
名前が付けられることで方法論が共有でき、会話やグループプログラミングがスムーズになるから。
レス数が900を超えています。1000を超えると表示できなくなるよ。