PHPでOOP (894レス)
PHPでOOP http://medaka.5ch.net/test/read.cgi/php/1172205352/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
202: に ◆lKs5QMUHoA [sage] 2008/01/31(木) 20:46:31 ID:??? >>200 > viewに渡すデータはセッタで渡したくならない? 表示させるデータはセッタがいいだろうね。 > あとinなのかoutなのか分岐させるとしたらそれはコントローラ側の > 仕事なんじゃないかなと思うんだけど違うかな >>185のソースがそれにあたるものだと思ってたけど。 if( ($form_str == "")or($form_str == "in") ){ 省略 }elseif($form_str == "out"){ 省略 } コントローラは、POSTしてきた値を見て、必要なModelやViewを 選択し、実行する役割なので、それを実現したつもり。 http://medaka.5ch.net/test/read.cgi/php/1172205352/202
203: に ◆lKs5QMUHoA [sage] 2008/01/31(木) 21:58:27 ID:??? 厳密にMVCを分けることは出来ない場合もあるということだけど、 CFControlクラスで、CFViewを使って表示する内容までもを 指定していする処理を書いていたのは間違いかな? 検索結果の表示や、データの更新の場合は、 Control→Model→View だけど、 ボタンを押した時の画面の展開のみの場合は、 Contol→View という流れとなり、Viewオブジェクトを 生成するクラスが異なるという処理でいいのかな? http://medaka.5ch.net/test/read.cgi/php/1172205352/203
204: に ◆lKs5QMUHoA [sage] 2008/02/01(金) 07:38:53 ID:??? 「とりあえずはフレームワークを使ってみろ」という返事がきそうだけど、 各クラスの役割は以下のような感じでいいかな? Control ・POSTでデータを受け取り、その値に不正なものが無いかをチェック。 ・変なところからのアクセスではないかをチェック。 ・$_POST["Form"]の値をみて、それに必要な画面と処理を判断する。 Model ・SQLを発行し、データを受け取る。 ・データをViewクラスに渡す。 View ・フォームを表示する。(フォームごとにクラスを分けたほうがいいのかは迷うな) ・データを1件受け取り、tableタグでレイアウトを調整し、表示する。 http://medaka.5ch.net/test/read.cgi/php/1172205352/204
205: nobodyさん [sage] 2008/02/01(金) 09:44:17 ID:??? とりあえずはフレームワークを使ってみろ http://medaka.5ch.net/test/read.cgi/php/1172205352/205
206: nobodyさん [sage] 2008/02/01(金) 11:08:23 ID:??? 自分なりに調べて見つけたPHPのサンプルを使った解説ページも 読むとwebアプリについて学べるのではないかと思っている。 やることが多くなったけれど、とりあえずは以下の3本だてで 勉強してみることになるのかな。 MVCに分けて、簡単なアプリを自作する。 (ログイン、メニュー、検索条件指定、検索結果、データ編集などの画面があるもの) 和モノフレームワークを使って学ぶ。 簡単なアプリを自作する。 http://pc11.2ch.net/test/read.cgi/php/1197383840/3 サンプルで理解! フォームデータの受け渡し ttp://www.atmarkit.co.jp/flinux/rensai/mysql5_03/mysql5_03a.html http://medaka.5ch.net/test/read.cgi/php/1172205352/206
207: nobodyさん [sage] 2008/02/01(金) 12:06:10 ID:??? ちいたんのソース見てみたけれど、 class CObject ってあって、必ずそれが継承されて作られてるよね。 これの都合って何なんだろう。(メリットは何?) javaも.NETもこういう基本クラスがあるよね。 http://medaka.5ch.net/test/read.cgi/php/1172205352/207
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
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 673 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.009s