PHPでOOP (894レス)
上下前次1-新
294: 2008/02/08(金)16:04 ID:??? AAS
Viewクラスの継承関係で、かいつまんだ一覧を書いておきます。
個別にはDocに書いてはあるけれど、こういう書き方みると分かりやすくない?
Base - View - RenderView - IndexView
■Base(抽象)クラス[fw/framework/Base.php]
(省略)
■View(抽象)クラス[fw/framework/View.php]
●プロパティ
$post_file; // POSTするファイル名
■RenderView(抽象)クラス[fw/abstract/views/RenderView.php]
●プロテクテッドメソッド
省8
295: 2008/02/08(金)16:20 ID:??? AAS
>>293
1行上のフックハンドラ実行の結果を渡している。
296: 2008/02/08(金)16:41 ID:??? AAS
ロードメソッド[MainControl::_form_onLoad(&$sender, $e)]が(POSTパラメータが
無い場合に呼ばれるメソッド)呼ばれるまでの経緯をたどってみたが、非常に複雑だ。。。
[fw/index.php]が実行される。
Mainクラスのインスタンスが生成され、execute(&$app, $e)が実行される。
Base:: & execute(&$param, $e) にて、 Base:: & _onExecute(&$param, $e)が実行される。
これは、Main::execute(&$app, $e)にてオーバーライドされている。
Controlクラスのインスタンスが生成され、execute(&$app, $e)が実行される。
Base:: & execute(&$param, $e) にて、 Base:: & _onExecute(&$param, $e)が実行される。
これはControl:: & _ onExecute(&$param, $e)にてオーバーライドされている。
Control:: & _onExecute(&$param, \$e) にて、Control::_hookedUpControler(&\$sender, \$e)を呼び出す。
省6
297: 2008/02/08(金)17:33 ID:??? AAS
リンク
symfony入門(1):symfonyで始めるPHPフレームワーク
外部リンク[aspx]:codezine.jp
Zend Framework入門(1):フレームワークの全体像とインストール
外部リンク[aspx]:codezine.jp
298(2): に ◆lKs5QMUHoA 2008/02/08(金)18:46 ID:??? AAS
>>285のファイルが落とせない・・・
299: 2008/02/08(金)19:33 ID:??? AAS
>>298 見れるはずですが・・以下はどうですか?
Eclipceでのデバッグ画面です
画像リンク[jpg]:proxy.f3.ymdb.yahoofs.jp
300(2): 2008/02/08(金)22:21 ID:??? AAS
>>298どうでしょうか?
外部リンク:briefcase.yahoo.co.jp
301: 2008/02/08(金)22:24 ID:??? AAS
なんでPHP4文法でやってんの?
302: に ◆lKs5QMUHoA 2008/02/08(金)23:53 ID:??? AAS
>>300でいけました。サンクスです。
303(1): に ◆lKs5QMUHoA 2008/02/09(土)01:49 ID:??? AAS
これは、>>1さんのサイトでは、「入力フォームを作ってみる」とは
別で、「フレームワークを作ってみる」の演習という位置づけにした
方がいいかもしれないね。
これからの流れとしては、上のほうにあるように、このソースを
解読・改変していくための補助ドキュメント作成の方向と、
このフレームワークを使ってみる人のためのドキュメント作成
(チュートリアルみたいなもの)になるだろうね。
出来る範囲でみんなで手伝っていってみましょう。
このフレームワークは、MFCみたく、あらかじめ準備された
クラスのメソッド中に書き加えていくスタイルなのかな?
省2
304: に ◆lKs5QMUHoA 2008/02/09(土)02:12 ID:??? AAS
こうやってソースを読んでみると、これまで抽象的に聞いていた
フレームワークを使ったプログラミングのメリットとデメリットが実感できるね。
今まで、システムを組む際はOOPやフレームワークを使う方向にするべきだと
思ってたけれど、そうでもなく、状況や目的に合わせて選択する
というのが良い事が分かってきたような気がする。
小規模で全体概要を把握したいとか、移植性を考える場合は、フレームワークよりも、
クラスライブラリを使うスタイルの方が良い場合もありそうだ。
305(1): に ◆lKs5QMUHoA 2008/02/09(土)08:12 ID:??? AAS
MVCでフレームワークを自作する方向と、クラスライブラリを自作する方向の
2つの方向をやってみて、それぞれのメリットとデメリットを確認していけば、
システムを作る場合の検討材料に出来ると思う。
何でもフルスクラッチしていき、なるべく依存性は無いようにし、(言語の
バージョンくらいに収めるとか)その組み合わせでアプリを作る、みたいな。
306(1): 2008/02/09(土)09:45 ID:??? AAS
再度リファクタしてみました。
外部リンク:briefcase.yahoo.co.jp
[Controlクラス]
・リクエストオブジェクトの参照の重複の削除
・サブクラスでのフックハンドラ処理修正
・Viewオブジェクトの実行方法修正
※これはViewオブジェクトハンドリングの自由度をました反面、
ユーザからの取り回しが煩雑になったかもしれませんね・・
[Modelクラス]
・継承関係の見直し、ItemBaseクラスの導入などです・・
省10
307: 2008/02/09(土)10:20 ID:??? AAS
フレームワークのメリットとデメリットにおいて、なるべく具体例を書いた形でまとめてみた。
【メリット】
1.ビューとロジックの切り分けが出来る。(共同作業時に便利)
外部リンク[html]:www.atmarkit.co.jp
2.定型的なコードを何度も書かなくてよくなる。
例えば、ASP.NETでは、POSTの値を取得して・・・などの事を考えなくて良い。
テキストボックスやボタンも、画面にドラッグするだけ。
3.ソースコードが自動的にフレームワークの規約に従った記述方法となり、
全体的な処理構成が把握しやすく、メンテナンスが楽になる。
例えば、構造化プログラミングならば、まず全体構成(どの関数がどんな役割を
省16
308(1): 2008/02/09(土)11:01 ID:??? AAS
QA方式で書いてみた。
Q:どんな時にフレームワークを使った方がいいの?
・短期間で仕上げなければならない時(この場合はフレームワークの使い方を把握しているのが前提)
・チームで分担してシステムを組む時
・バージョンアップを行うなど、長期的な運用が想定される時
Q:フレームワークがあまり向かない場合は?
・個人で小規模アプリを組む時。(一度組んで終わりの場合など)
・そのアプリの全体構成をすみずみまで把握しておきたい場合
・サーバの移植を想定しなければならないなど、環境があまり固定出来ない場合
このような状況の場合は、クラスライブラリの使用を検討すると良い。
309(1): 2008/02/09(土)11:18 ID:??? AAS
何かフレームワークを使ったとして、そのフレームワークがいつまでメンテされるか
判らないことを考えると、バージョンアップをするようなアプリの開発に向いていると
いえるかどうかは、かなり怪しいと思う。
310: 2008/02/09(土)11:25 ID:??? AAS
>>309
そういうケースもあるから入れるか迷ったんだよね・・・
だけど、現在の比較的規模の大きなアプリは何らかのフレームワークで
組まれている事実があるということで、書いてみた。
フレームワークのメンテが突然打ち切られるケースは無いと見ても
良いと思うけどね。事前に何らかのアナウンスがあるはず。
で、フレームワークそのものを入替える必要が生じた時は、もちろん
全部作り直しになるが、この労力は、フレームワークを使わない場合に
比べて楽だよね。という意見です。
311: 2008/02/09(土)12:20 ID:??? AAS
書いてみた、とかって適当かつ無責任な
312: 2008/02/09(土)12:23 ID:??? AAS
完璧な文章がいきなりかけるわけないんだから修正しながらでいいと思う。
適当だの無責任だのいうのなら、このスレに来なくて良いと思う。
313: 2008/02/09(土)12:32 ID:??? AAS
ひょっとして、つられた?
上下前次1-新書関写板覧索設栞歴
あと 581 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.018s