PHPでOOP (894レス)
PHPでOOP http://medaka.5ch.net/test/read.cgi/php/1172205352/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
208: nobodyさん [sage] 2008/02/01(金) 12:19:15 ID:??? 全部のクラスに共通するメソッド等が実装できる http://medaka.5ch.net/test/read.cgi/php/1172205352/208
209: nobodyさん [sage] 2008/02/01(金) 13:06:22 ID:??? >>208 サンクス。 でも、オーバーロードが出来ない場合は逆に足かせになる可能性もあるね。 例えば、継承されているクラスが沢山ある状況でObjectクラスに メソッドを追加する場合とか。 http://medaka.5ch.net/test/read.cgi/php/1172205352/209
210: nobodyさん [sage] 2008/02/01(金) 16:28:22 ID:??? 喋るのはコントローラとモデル コントローラとビュー 基本的にはね http://medaka.5ch.net/test/read.cgi/php/1172205352/210
211: nobodyさん [sage] 2008/02/01(金) 16:49:11 ID:??? 少ない数のクラスを書いたり読んだりする程度であれば、すぐに分かるのだが、 フレームワークレベルのクラス構造となると、その構成が全く分からなくなって 来るんだよなぁ。何かコツのようなものはあるのかな? 処理の内容を追いかけると、次々に別のクラスに処理を渡す構造になっていて、 最後はあっけない、みたいな感じだ。 フレームワークを作る場合のクラスの設計手法を身につけるなどしないと いけないのかも。 メンバに定義はしていないけれど、メソッドではその変数をエラーが 出ないように処理が書かれているっていう書き方は多いようだ。 そうしておけば、そのフレームワークを使う人は、クラスを継承して メンバに値を代入するだけで良い。 http://medaka.5ch.net/test/read.cgi/php/1172205352/211
212: nobodyさん [sage] 2008/02/01(金) 18:37:23 ID:??? このサイト、説明は分かるのだが、具体的に作っているコードは MVCのうちどれにあたるのかがいまいちです。 ttp://www.stackasterisk.jp/tech/php/phpMvc01_01.jsp Result.php は、Viewにあたるものという解釈でいいんですよね? http://medaka.5ch.net/test/read.cgi/php/1172205352/212
213: nobodyさん [sage] 2008/02/01(金) 18:47:22 ID:??? PHPでMVC関連のサイトを紹介で貼っておきます。 特集:第3回 PHPを思うままに操れるようになる「MVC」と「Smarty」 (1/4) ttp://www.itmedia.co.jp/enterprise/0402/19/epn01.html http://medaka.5ch.net/test/read.cgi/php/1172205352/213
214: nobodyさん [sage] 2008/02/01(金) 18:50:51 ID:??? 2004年って・・・・・・・ http://medaka.5ch.net/test/read.cgi/php/1172205352/214
215: nobodyさん [sage] 2008/02/01(金) 20:08:38 ID:??? OOPに取り付かれている人のブログ ハタさんのブログ : : php http://blog.xole.net/category.php?k=php http://medaka.5ch.net/test/read.cgi/php/1172205352/215
216: nobodyさん [sage] 2008/02/02(土) 07:42:39 ID:??? PHPでね、イベントドリブンなWEBフレームワークとか自作してみるといいかも。 例えば、サブミットボタンの処理ハンドラがオーバーライドで記述可能で そこでフォーム値をモデルに渡して処理させるみたいなやつ・・ 「POST」や「GET」とかローレベルの概念は全て隠蔽されてて フレームワークにイベント発生時のロジックだけ記述して終わりみたいなの・・・ そしてPHPであれこれ試行錯誤したあと、ASP.NETとか参考にするとね PHPでOOPするバカらしさに気付くかもしれない・・・OTL http://medaka.5ch.net/test/read.cgi/php/1172205352/216
217: に ◆lKs5QMUHoA [sage] 2008/02/02(土) 08:25:40 ID:??? ASP.NET は、ちょっとだけやってみたことあるけど、概念的に違和感が あって、やらなくなったな。 ある程度Webアプリを学んだ事のある人には便利なんだろうけれど、 初めて学ぶ人には、ドキュメントが少なすぎだし、いきなりイベントドリブンで やるのはどうかと思った。 で、まずは、Webアプリの基礎をやるという意味合いでPerlをやってみた。 で、今はPHPをやっている。PHPそのものがOOPに完全な対応をしていない ので、これで大規模なアプリを組むことも無いかなと思っている。 対応したとしても、それからノウハウが出てくるので、さらに数年先になる。 でも、学ぶ時は、既存のモジュールを使って早くやるのよりも、モジュール なしの状態で、モジュールを作ってみる方がいいので、とりあえず今は PHPでOOPです。 http://medaka.5ch.net/test/read.cgi/php/1172205352/217
218: nobodyさん [sage] 2008/02/02(土) 09:56:37 ID:??? >>217 多分、その違和感のある概念がOOPの本質だと思うよ。 そしてその概念は、洗礼された実装に触れることでしか 身につかないとも思うんだ。 初心者こそイベントドリブンを真っ先に学習したほうがいいよ。 最終的に、理解し易く安全な実装方法に結びつくと思うからね。 PHPでOOPで実装ってケースはありだとは思うけど、 概念は別で学習した方が効率的だと思うんだ。 http://medaka.5ch.net/test/read.cgi/php/1172205352/218
219: nobodyさん [sage] 2008/02/02(土) 13:32:52 ID:??? OOPに取り付かれているとか良くわからんw 普通にプログラミングしていると使うだろ? switchに取り付かれているとかそういうレベルに聞こえるんだが。 http://medaka.5ch.net/test/read.cgi/php/1172205352/219
220: nobodyさん [age] 2008/02/02(土) 15:21:16 ID:??? MVCモデルでプログラミングする場合、Model から View へ処理を渡す経緯は、 どっちが正しいのかな? ・Control クラスのメソッド内で、Model クラスと View クラスのインスタンスを生成する。 Control クラスが、Model からデータを受け取り、View クラスへデータを渡し、 描画指示を出す。 ・Model クラスのメソッド内で、View クラスのインスタンスを生成する。 Model クラスが、Viewクラスへデータを渡し、描画指示を出す。 Control クラスは、View クラスを一切操作しない。 それとも、こういうところまでは理論的には定めていないので、 ケースバイケースであり、どちらがよいというものは無いということかな? http://medaka.5ch.net/test/read.cgi/php/1172205352/220
221: nobodyさん [sage] 2008/02/02(土) 15:36:53 ID:??? お前は何を言ってるんだ http://medaka.5ch.net/test/read.cgi/php/1172205352/221
222: 1 ◆SWtzLesEmM [sage] 2008/02/02(土) 16:44:49 ID:??? PHPでイベントドリブンですか?(・∀・) …こんなのありました。^^ PHP イベントドリブン に一致する日本語のページ 約 10,600 件 ●PRADO http://www.pradoframework.com/wiki/index.php/Ja:What_is_PRADO >PRADO はコンポーネントベースかつイベントドリブンなウェブアプリケーションを開発するためのPHP5フレームワークです。 ●S2Prado.PHP5 http://labs.s2php5.jp/s2prado.php5 http://blog.xole.net/article.php?id=553 >S2Baseの方は待望のPRADO対応。 ●Piece Framework http://trac.piece-framework.com/piece-unity/wiki/ja/Start >Piece_Unityは、Visual BasicやDelphiのようなイベントドリブンなフレームワークです。 ●Delphi for PHP http://www.codegear.com/jp/products/delphi/php http://orz.qzlab.com/yamagw/index.php?Delphi%20for%20PHP%A4%CE%BB%C8%A4%A4%CA%FD >イベントドリブンなロジックの実装が容易に実現する。 ●Pharon http://pharon.lolipop.jp/ >最大の特徴は、wizard によりイベントドリブン型のスケルトンを自動作成することです。 http://medaka.5ch.net/test/read.cgi/php/1172205352/222
223: 1 ◆SWtzLesEmM [sage] 2008/02/02(土) 17:00:36 ID:??? インターネット越しにイベント処理をさせるのが、WEBプログラミングの特徴ですね。 イベントドリブンは、PHPよりもむしろFlash/Flexとかで使われる仕組みなのでしょうか? レガシーの中心でのOOP http://kaede.to/~canada/doc/2005/07/06/ >Webプログラミングにおいて、ブラウザとのやり取りがレガシー(古典的)なデータ交換に過ぎず、これがWebプログラミングを難しくしている >Webは1ページごとに毎回セッションが起動し、ドキュメントを表示するとすぐ終了する。 >オブジェクト指向プログラミングにおける利点の1つであるイベントドリブンなプログラミングは不可能だ。 >何しろ1セッションに1イベントしか発生しないのだから。 >と同時にセッション状態を保存する必要も出てくる。 http://www.adobe.com/jp/devnet/flex/articles/framework_beta_print.html >インタラクティブ性に優れたイベントドリブンなインタフェイス http://www.atmarkit.co.jp/fwcr/rensai/flex203/01.html >イベント処理によってアプリケーションを構築する手法はイベント駆動型(イベントドリブン)と呼ばれます。 http://www.azul.systems-noel.jp/item_9.html >Flex2はイベントドリブンなので、ビューに起こったイベントをコントローラのリスナでキャッチするように意識すれば、MVCの分離はきれいにできるようになっています。 >なんかほんとにJavaのSwingを使ってるような気分になりますね。 http://bitmap.dyndns.org/blog/archives/001215.html >イベントドリブンモデルには、主に以下の 4 つのオブジェクトが登場する。 http://medaka.5ch.net/test/read.cgi/php/1172205352/223
224: 1 ◆SWtzLesEmM [sage] 2008/02/02(土) 17:05:16 ID:??? >>220 >・Control クラスのメソッド内で、Model クラスと View クラスのインスタンスを生成する。 こっちの方が、Controlにまとまっている分だけスッキリしており、分かりやすいコードになるんじゃないでしょうか? http://medaka.5ch.net/test/read.cgi/php/1172205352/224
225: nobodyさん [sage] 2008/02/02(土) 17:24:12 ID:??? >>224 レスありがとうございます。 1番目の方にすると、Modelクラスから取得したデータを Viewクラスに渡すことになるので、その分余計にメモリや CPUを消費してしまうのでは、と心配になって聞いてみましたが、 考えてみると、コードの見易さなどを優先するのがOOPですので、 そちらの方がいいですね。 でも、フレームワークのソースなどを見ていると、 各クラスが、メンバに、別のクラスへのリファレンスを持ってたり するので、もっと理論に従った組み方があるのかも、と思っています。 http://medaka.5ch.net/test/read.cgi/php/1172205352/225
226: nobodyさん [sage] 2008/02/02(土) 17:36:37 ID:??? >>184 ファイル:全部で8つ。index.phpを実行する。 抽象クラスと具象クラスに実装を分けてみました。 csv.txt(※前回と同じ) index.php cfcontrol.php アブストラクトとして実装 cfview.php cfmodel.php コンクリートとして実装 data_model.php index_view.php output_view.php http://medaka.5ch.net/test/read.cgi/php/1172205352/226
227: nobodyさん [sage] 2008/02/02(土) 17:38:02 ID:??? [config.php] <?php // 実際の処理を行うスクリプトをインクルード include("./index_view.php"); include("./output_view.php"); include("./data_model.php"); // 最初に呼ばれるビューのプレフィックス設定 define ('INDEX_VIEW_PREFIX', "Index"); // モデルクラスのプレフィックス設定 define ('MODEL_PREFIX', "Data"); ?> [index.php] <?php include("./cfcontrol.php"); $view_key = $_POST["view_key"]; $data = $_POST["data"]; $app = new CFControl($view_key, $data); $app->Execute(); ?> http://medaka.5ch.net/test/read.cgi/php/1172205352/227
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 667 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.339s*