PHPでOOP (894レス)
PHPでOOP http://medaka.5ch.net/test/read.cgi/php/1172205352/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
303: に ◆lKs5QMUHoA [sage] 2008/02/09(土) 01:49:09 ID:??? これは、>>1さんのサイトでは、「入力フォームを作ってみる」とは 別で、「フレームワークを作ってみる」の演習という位置づけにした 方がいいかもしれないね。 これからの流れとしては、上のほうにあるように、このソースを 解読・改変していくための補助ドキュメント作成の方向と、 このフレームワークを使ってみる人のためのドキュメント作成 (チュートリアルみたいなもの)になるだろうね。 出来る範囲でみんなで手伝っていってみましょう。 このフレームワークは、MFCみたく、あらかじめ準備された クラスのメソッド中に書き加えていくスタイルなのかな? それとも、VBみたいにそういうソースコードを全部隠蔽 してしまう方向でいくのかな?ちょっと気になった。 http://medaka.5ch.net/test/read.cgi/php/1172205352/303
304: に ◆lKs5QMUHoA [sage] 2008/02/09(土) 02:12:22 ID:??? こうやってソースを読んでみると、これまで抽象的に聞いていた フレームワークを使ったプログラミングのメリットとデメリットが実感できるね。 今まで、システムを組む際はOOPやフレームワークを使う方向にするべきだと 思ってたけれど、そうでもなく、状況や目的に合わせて選択する というのが良い事が分かってきたような気がする。 小規模で全体概要を把握したいとか、移植性を考える場合は、フレームワークよりも、 クラスライブラリを使うスタイルの方が良い場合もありそうだ。 http://medaka.5ch.net/test/read.cgi/php/1172205352/304
305: に ◆lKs5QMUHoA [sage] 2008/02/09(土) 08:12:13 ID:??? MVCでフレームワークを自作する方向と、クラスライブラリを自作する方向の 2つの方向をやってみて、それぞれのメリットとデメリットを確認していけば、 システムを作る場合の検討材料に出来ると思う。 何でもフルスクラッチしていき、なるべく依存性は無いようにし、(言語の バージョンくらいに収めるとか)その組み合わせでアプリを作る、みたいな。 http://medaka.5ch.net/test/read.cgi/php/1172205352/305
306: nobodyさん [sage] 2008/02/09(土) 09:45:19 ID:??? 再度リファクタしてみました。 ttp://briefcase.yahoo.co.jp/bc/oopfw [Controlクラス] ・リクエストオブジェクトの参照の重複の削除 ・サブクラスでのフックハンドラ処理修正 ・Viewオブジェクトの実行方法修正 ※これはViewオブジェクトハンドリングの自由度をました反面、 ユーザからの取り回しが煩雑になったかもしれませんね・・ [Modelクラス] ・継承関係の見直し、ItemBaseクラスの導入などです・・ MVCの継承関係が美しくないですが・・ >>291 リファクタしながら構成を練っていってますが 継承クラスでの責任が小さい単位で分割されていると 大きく修正が入った時も楽だと思います。 >>303 MFCもVB6もフックハンドラに処理を記述していく方式なので それを参考にしています、サンプルFWも自由にいじってもらって 参考にしてもらえたら良いと思います。 >>305クラスライブラリ方式もいいかもしれないですね。 http://medaka.5ch.net/test/read.cgi/php/1172205352/306
307: nobodyさん [sage] 2008/02/09(土) 10:20:45 ID:??? フレームワークのメリットとデメリットにおいて、なるべく具体例を書いた形でまとめてみた。 【メリット】 1.ビューとロジックの切り分けが出来る。(共同作業時に便利) http://www.atmarkit.co.jp/fdotnet/aspandvs/aspandvs01/aspandvs01_01.html 2.定型的なコードを何度も書かなくてよくなる。 例えば、ASP.NETでは、POSTの値を取得して・・・などの事を考えなくて良い。 テキストボックスやボタンも、画面にドラッグするだけ。 3.ソースコードが自動的にフレームワークの規約に従った記述方法となり、 全体的な処理構成が把握しやすく、メンテナンスが楽になる。 例えば、構造化プログラミングならば、まず全体構成(どの関数がどんな役割を 持っているかなど)を把握し、そこから問題部分を探すことになる。 フレームワークの場合は、まずはこのイベントハンドラの部分を見れば良いなという事が分かる。 【デメリット】 1.フレームワーク自体の使い方を学ばなければならない。 ・言語の基本ルールとは異なった、フレームワーク特有の記述方法があるため、すぐに組めない。 ASP.NETでは、IsPostBack の概念を学ばなければならない。 http://www.atmarkit.co.jp/fdotnet/dotnettips/043postback/postback.html ちいたんでは、function action( &$c )とか、$c->という書き方と機能を把握しなければならない。 http://php.cheetan.net/manual/tutorial.php ・フレームワーク自体にも得手・不得手など特徴があり、それを把握しなければならない。 ASP.NETはIISが必要な為、自動的にサーバOSはWindowsが必須となり、依存性がある。 ASP.NETとStrutsの比較は、以下のサイトを参照 http://www.atmarkit.co.jp/fdotnet/special/aspstruts01/aspstruts01_01.html 2.フレームワーク自体に問題があると対処が困難。 例えば.NET Framework のバグは、開発元の不具合修正を待つしかない。 オープンソースのフレームワークであっても、ソースコードが大量な為、把握が出来ない。 http://medaka.5ch.net/test/read.cgi/php/1172205352/307
308: nobodyさん [sage] 2008/02/09(土) 11:01:52 ID:??? QA方式で書いてみた。 Q:どんな時にフレームワークを使った方がいいの? ・短期間で仕上げなければならない時(この場合はフレームワークの使い方を把握しているのが前提) ・チームで分担してシステムを組む時 ・バージョンアップを行うなど、長期的な運用が想定される時 Q:フレームワークがあまり向かない場合は? ・個人で小規模アプリを組む時。(一度組んで終わりの場合など) ・そのアプリの全体構成をすみずみまで把握しておきたい場合 ・サーバの移植を想定しなければならないなど、環境があまり固定出来ない場合 このような状況の場合は、クラスライブラリの使用を検討すると良い。 http://medaka.5ch.net/test/read.cgi/php/1172205352/308
309: nobodyさん [sage] 2008/02/09(土) 11:18:48 ID:??? 何かフレームワークを使ったとして、そのフレームワークがいつまでメンテされるか 判らないことを考えると、バージョンアップをするようなアプリの開発に向いていると いえるかどうかは、かなり怪しいと思う。 http://medaka.5ch.net/test/read.cgi/php/1172205352/309
310: nobodyさん [sage] 2008/02/09(土) 11:25:52 ID:??? >>309 そういうケースもあるから入れるか迷ったんだよね・・・ だけど、現在の比較的規模の大きなアプリは何らかのフレームワークで 組まれている事実があるということで、書いてみた。 フレームワークのメンテが突然打ち切られるケースは無いと見ても 良いと思うけどね。事前に何らかのアナウンスがあるはず。 で、フレームワークそのものを入替える必要が生じた時は、もちろん 全部作り直しになるが、この労力は、フレームワークを使わない場合に 比べて楽だよね。という意見です。 http://medaka.5ch.net/test/read.cgi/php/1172205352/310
311: nobodyさん [sage] 2008/02/09(土) 12:20:07 ID:??? 書いてみた、とかって適当かつ無責任な http://medaka.5ch.net/test/read.cgi/php/1172205352/311
312: nobodyさん [sage] 2008/02/09(土) 12:23:25 ID:??? 完璧な文章がいきなりかけるわけないんだから修正しながらでいいと思う。 適当だの無責任だのいうのなら、このスレに来なくて良いと思う。 http://medaka.5ch.net/test/read.cgi/php/1172205352/312
313: nobodyさん [sage] 2008/02/09(土) 12:32:04 ID:??? ひょっとして、つられた? http://medaka.5ch.net/test/read.cgi/php/1172205352/313
314: nobodyさん [sage] 2008/02/09(土) 15:20:46 ID:??? つんでれた http://medaka.5ch.net/test/read.cgi/php/1172205352/314
315: nobodyさん [sage] 2008/02/09(土) 15:25:19 ID:??? >>308 > Q:フレームワークがあまり向かない場合は? > ・そのアプリの全体構成をすみずみまで把握しておきたい場合 全体構成を隅々まで把握してなんの意味があるのだろうか? どうせ数日たったら忘れるんだし。 > ・サーバの移植を想定しなければならないなど、環境があまり固定出来ない場合 > このような状況の場合は、クラスライブラリの使用を検討すると良い。 PHP4、PHP5両対応のフレームワークもあるし、 いろんなデータベースに対応している場合もある。 フレームワークの開発というのは、そもそもが環境が固定されていないので そういう場合にはなおさらフレームワークを使ったほうが良い。 http://medaka.5ch.net/test/read.cgi/php/1172205352/315
316: nobodyさん [sage] 2008/02/09(土) 15:29:20 ID:??? 理解と記憶は別物だと思うけどな。 http://medaka.5ch.net/test/read.cgi/php/1172205352/316
317: nobodyさん [sage] 2008/02/09(土) 16:52:42 ID:??? >>315 > 全体構成を隅々まで把握してなんの意味があるのだろうか? > どうせ数日たったら忘れるんだし。 じゃ、この項目は消しておきます。 > PHP4、PHP5両対応のフレームワークもあるし、 > いろんなデータベースに対応している場合もある。 > フレームワークの開発というのは、そもそもが環境が固定されていないので > そういう場合にはなおさらフレームワークを使ったほうが良い。 PHPスレで言うのもなんだけど、ASP.NETなども含めた総論という考えだったんだけどね。 Windowsサーバなのかなどを気にするとか、PHP5のみ対応のフレームワークで 開発していて、PHP4しか対応していないサーバで動かすことになる場合を という意味で、環境が固定されない書きました。 http://medaka.5ch.net/test/read.cgi/php/1172205352/317
318: nobodyさん [sage] 2008/02/09(土) 17:04:40 ID:??? 修正案 Q:どんな時にフレームワークを使った方がいいの? ・短期間で仕上げなければならない時(この場合はフレームワークの使い方を把握しているのが前提) ・チームで分担してシステムを組む時 ・バージョンアップや不具合修正など、納品後もメンテナンスが想定される時 Q:フレームワークがあまり向かない場合は? ・個人で小規模アプリを組む時。(一度組んで終わりの場合など) ・サーバの移植を想定しなければならないなど、環境があまり固定出来ない場合 このような状況の場合は、クラスライブラリの使用を検討すると良い。 http://medaka.5ch.net/test/read.cgi/php/1172205352/318
319: nobodyさん [sage] 2008/02/09(土) 22:32:17 ID:??? あえてPHP4の構文でやってるのは、PHP4との互換性を保つため? PHP5でやっちゃうと、PHP4の環境で動かなくなるから。 http://medaka.5ch.net/test/read.cgi/php/1172205352/319
320: に ◆lKs5QMUHoA [sage] 2008/02/10(日) 03:19:14 ID:??? ChStrクラスの件を再開しようかな。 http://medaka.5ch.net/test/read.cgi/php/1172205352/320
321: 1 ◆SWtzLesEmM [age] 2008/02/10(日) 18:45:04 ID:??? >>300 >ttp://briefcase.yahoo.co.jp/bc/oopfw ソースコードを見てビックリ!(・∀・) コメントが丁寧に書いてあり、OOPを学習する上でとても助かります! 貴重なサンプルを提供していただき、どうもありがとうございました。m(_~_)m 現時点で、バージョンがOOP_FW_02とOOP_FW_03の2つあるみたいですが、とりあえずOOP_FW_02の方をまとめページに掲載させていただきました。 http://ssurl.net/8vyv >>281 http://ssurl.net/cp7a ちょっとずつ読んでますが、全部はまだ理解できないです。(´;ω;`) レスも参考にしてみます。 (=分からないことでも、検索で調べるときのヒント・手掛かりになるので) http://medaka.5ch.net/test/read.cgi/php/1172205352/321
322: nobodyさん [sage] 2008/02/10(日) 22:19:07 ID:??? >>321 乙です。m(_ _)m >>306ですが今後は ・認証の仕組み ・ロギングの仕組み ・エラーハンドリングの仕組み ・バリデイトの仕組み ・トークンの仕組み ・リダイレクトの仕組み ・入力→確認→完了の仕組み ・コアオブジェクトの実行権限の仕組み など実装していく予定です・・ でも、こればっかりやってるわけにいかないので 気長に見守ってやって下さい。 http://medaka.5ch.net/test/read.cgi/php/1172205352/322
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 572 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.006s