PHPを使ってプログラミングするとき、
プロシージャ指向(手続き型、構造化プログラミング)でもできますが、
オブジェクト指向を使った場合の恩恵を享受するために、
PHPでオブジェクト指向プログラミングの勉強をしてみましょう。
<目的>
PHP5でオブジェクト指向プログラミングを行なうための知識を習得する。
(PHP4のOOPもOK、このスレが1000に行く前にPHP6が出たらPHP6のOOPもOK)
<方向性>
・このスレは、プログラミング初心者、PHP初心者の勉強の場として利用することを前提にします。
・PHPのOOPの話題に限定します。
(Ruby、Python、Javaなど他言語のOOPについては、その言語のスレッドでお願いします。)
・PHPのOOP学習に役立つ本、WEBサイトの紹介をお願いします。
<その他>
・略記は、「OO」=「オブジェクト指向」、「OOP」=「オブジェクト指向プログラミング」でお願いします。
・質問をする人はなるべくトリップを付けましょう。
・荒らし、煽り、叩き、気違いは無視・無干渉でお願いします。
このスレで、今日から貴方もOOP!!!\(^o^)/
PHPでOOP
11 ◆SWtzLesEmM
2007/02/23(金) 13:35:52ID:???653nobodyさん
2009/01/26(月) 20:14:56ID:??? お?サンプルか?
654nobodyさん
2009/02/02(月) 14:37:18ID:JcAer1H1 勉強すればするだけフレームワーク使えば手っ取り早いことがわかった。
自作のモチベ下がっちまったい。
自作のモチベ下がっちまったい。
655nobodyさん
2009/02/02(月) 14:46:20ID:??? 自作する理由は楽するためじゃないだろう
656nobodyさん
2009/02/02(月) 14:54:00ID:??? もっと手っ取り早く使えるフレームワークをつくるために勉強すればいい
657nobodyさん
2009/02/02(月) 15:06:11ID:??? 元々目的としては自サイトで使うための軽量フレームワークを作るために勉強してたの。
で、既存のフレームワークのマニュアルとかソースを参考にしながら作ってたんだけど、取り込むつもりが逆に呑まれた形。
で、既存のフレームワークのマニュアルとかソースを参考にしながら作ってたんだけど、取り込むつもりが逆に呑まれた形。
658nobodyさん
2009/02/02(月) 20:06:44ID:??? 凄く難解なソースを引き継ぎさせられて、途方にくれかかった。
で、市販のモジュールを使うなどして0から作り直すなどの方法を
模索したが、結局は引継ぎしたソースを解読して手を加えるのが
楽で、早い道であることが分かった。みたいな話かな?w
PHPではないが、俺はちょうどこんな感じの体験をしたことがあるw
で、市販のモジュールを使うなどして0から作り直すなどの方法を
模索したが、結局は引継ぎしたソースを解読して手を加えるのが
楽で、早い道であることが分かった。みたいな話かな?w
PHPではないが、俺はちょうどこんな感じの体験をしたことがあるw
659nobodyさん
2009/02/03(火) 00:06:52ID:??? まぁ、たぶんそんな感じ。
要するにフレームワークの魅力に気付いたわけですよ。
要するにフレームワークの魅力に気付いたわけですよ。
660nobodyさん
2009/02/03(火) 01:52:40ID:??? 先に気づいてからやれば良かったな
661nobodyさん
2009/02/04(水) 08:03:26ID:??? そういうのは簡単に気づけないだろう。
プログラムは体感して分かっていくものなのだから。
プログラムは体感して分かっていくものなのだから。
662nobodyさん
2009/02/04(水) 21:38:41ID:??? 俺としては魅力に気付けただけでも大きな進歩だ。
自作云々は別にして。
自作云々は別にして。
663nobodyさん
2009/02/05(木) 22:29:31ID:6GWaaOT6 あけおめ
664nobodyさん
2009/02/06(金) 07:54:15ID:??? では、その気づいた魅力的な部分をここなどで紹介してみるというのはどうよ?
PHPでOOPのスレの趣旨に添ってると思うし、他の人の意見を聞いて
参考になる部分もあると思うのだが。
PHPでOOPのスレの趣旨に添ってると思うし、他の人の意見を聞いて
参考になる部分もあると思うのだが。
666nobodyさん
2009/02/09(月) 20:26:45ID:??? えらく昔の書き込みにレスしてるな。
667nobodyさん
2009/02/12(木) 07:33:22ID:??? フレームワークの魅力についてまとめてみるか?
668nobodyさん
2009/02/12(木) 09:08:20ID:??? どうぞ
670nobodyさん
2009/02/12(木) 20:11:52ID:??? いや、俺はそんなに文章がかけるほど知識は無い。申し訳ないが、サポートに回る
671nobodyさん
2009/02/12(木) 20:25:45ID:??? なぜにフレームワークの魅力をまとめようと?
673nobodyさん
2009/02/12(木) 20:59:58ID:??? なんだ教えて君か
674nobodyさん
2009/02/12(木) 21:37:52ID:??? おまえもな
675nobodyさん
2009/02/12(木) 22:00:11ID:??? サポートするといってるんだから、教えてじゃないだろw
676nobodyさん
2009/02/13(金) 20:54:05ID:??? ttp://q.hatena.ne.jp/1188498291
677nobodyさん
2009/02/15(日) 23:40:26ID:??? >>676を読んでみて、PHPに限らず、ASP.NETを体感してみると、フレームワークの
メリットやデメリットがみえてくるんじゃなかと感じた。
あれは、ポストバックとか独自の理論があって、それを学ばないと使えるようになれない。
しかし、ページをまたがってデータの受け渡しをする際は、非常に便利な機能であり、
使いこなせるようになると、生産性が向上する。
メリットやデメリットがみえてくるんじゃなかと感じた。
あれは、ポストバックとか独自の理論があって、それを学ばないと使えるようになれない。
しかし、ページをまたがってデータの受け渡しをする際は、非常に便利な機能であり、
使いこなせるようになると、生産性が向上する。
678nobodyさん
2009/02/16(月) 00:05:47ID:??? 一問一答形式でwikiでも作るか
679nobodyさん
2009/02/16(月) 00:44:15ID:??? visualstudioが優秀すぐる
680nobodyさん
2009/02/16(月) 11:09:32ID:IOY0ae9e Java とか C#やったほうが飲み込みは早くなるのかな。
でも両者とも動かせるサーバって高いからなぁ。
Web以外にも用途はあるけど。
でも両者とも動かせるサーバって高いからなぁ。
Web以外にも用途はあるけど。
681nobodyさん
2009/02/16(月) 19:31:23ID:??? >>680
いろいろな言語に触れてみると、その分視野は広くなることだろう。
共通して実装している機能を見ることで、OOPの概念をつかんだり
出来るはずだし。
しかし、広く浅くにとどまっていると、何も作れないで終わるので、
物を作る際は、一つの言語に絞り込んでいた方が良い。
なので、java や C# においてはローカルで稼動させるのにとどまらせて
おいたらどうかな?ASP.NET だと、Webアプリでもローカルでテスト動作
させる環境が Express にもついてるし。
いろいろな言語に触れてみると、その分視野は広くなることだろう。
共通して実装している機能を見ることで、OOPの概念をつかんだり
出来るはずだし。
しかし、広く浅くにとどまっていると、何も作れないで終わるので、
物を作る際は、一つの言語に絞り込んでいた方が良い。
なので、java や C# においてはローカルで稼動させるのにとどまらせて
おいたらどうかな?ASP.NET だと、Webアプリでもローカルでテスト動作
させる環境が Express にもついてるし。
682nobodyさん
2009/02/16(月) 23:33:26ID:??? ウェブアプリの範囲なら、どの言語のどのフレームワークでも大差ないよ。
ASP.NETは、デスクトップアプリケーションからのアプローチなんで、これだけちょっと勝手が違うけど。
プログラミングを仕事にするなら、最初は型ありの言語をやった方がいいと思う。
JavaとかC#が理解出来れば、PHPやPerlはすぐに分かる。
ASP.NETは、デスクトップアプリケーションからのアプローチなんで、これだけちょっと勝手が違うけど。
プログラミングを仕事にするなら、最初は型ありの言語をやった方がいいと思う。
JavaとかC#が理解出来れば、PHPやPerlはすぐに分かる。
683nobodyさん
2009/02/17(火) 12:38:03ID:??? でも、perlってすぐ忘れちゃうよな...
684nobodyさん
2009/02/17(火) 20:53:57ID:???685nobodyさん
2009/02/23(月) 20:40:12ID:??? PHP では OOP を学べないという意見があるが、結論だけ
いうのではなく、その理由の部分を述べていくといいかもね。
いうのではなく、その理由の部分を述べていくといいかもね。
686nobodyさん
2009/02/23(月) 21:35:23ID:??? 別に学べるのでは?
687nobodyさん
2009/02/23(月) 22:27:49ID:??? ん、どこかにPHPでは学べないと書いてあるのかな?
個人的には、純粋にOOPを学びたいのであれば別の言語がいいかなーとは思う。
理由は、Webは身近だし使い慣れてると言えるかもしれないが
PHP以外のHTMLやらJSやらHTTPプロトコル等知らなければいけない知識が多くあるから。
その辺を知っていれば問題はないと思うけどね。
個人的には、純粋にOOPを学びたいのであれば別の言語がいいかなーとは思う。
理由は、Webは身近だし使い慣れてると言えるかもしれないが
PHP以外のHTMLやらJSやらHTTPプロトコル等知らなければいけない知識が多くあるから。
その辺を知っていれば問題はないと思うけどね。
688nobodyさん
2009/02/23(月) 23:55:46ID:??? オブジェクト指向を本格的に勉強したければ、GUIのプログラムを書いた方がいい。ウェブアプリじゃオブジェクト指向が出る幕はない。
689nobodyさん
2009/02/24(火) 02:09:17ID:??? 出る幕はあると思うが、最終的にフレームワークを構築することになると思う。
いきなりWEBフレームワークを作ることは難しいので、
実際に存在するフレームワークのソースを追いかけ、参考にしながら、
オレ的フレームワークを組み上げることで、様々な知見を得ることができると思う。
また、これらのフレームワークはたいてい、何らかのデザインパターンやアークテクチャパターンが使われているため、併せてこれらも学習する必要があると思う。
いきなりWEBフレームワークを作ることは難しいので、
実際に存在するフレームワークのソースを追いかけ、参考にしながら、
オレ的フレームワークを組み上げることで、様々な知見を得ることができると思う。
また、これらのフレームワークはたいてい、何らかのデザインパターンやアークテクチャパターンが使われているため、併せてこれらも学習する必要があると思う。
690nobodyさん
2009/02/24(火) 12:23:13ID:??? WEBアプリでもActionScript3なら、バリバリOOPだYO!
691nobodyさん
2009/02/24(火) 12:40:12ID:??? まあ、いつかはサーバサイドはAPIを提供するだけで、クライアントのUIはFlashとかJavaScriptに任せるような時代がくるのかも。
693nobodyさん
2009/02/24(火) 20:31:42ID:???695nobodyさん
2009/02/25(水) 06:21:18ID:??? >>692
聞いたことないな。そんなことするぐらいなら、Windowsアプリケーションなり、Accessなりで直接DBを参照するから。
聞いたことないな。そんなことするぐらいなら、Windowsアプリケーションなり、Accessなりで直接DBを参照するから。
696nobodyさん
2009/02/26(木) 22:25:57ID:??? クライアントマシンの性能がこれだけアップしているのに、
クライアントマシンの性能を利用しないなんて
どれだけ無駄なんだかw
クライアントマシンの性能を利用しないなんて
どれだけ無駄なんだかw
697nobodyさん
2009/02/26(木) 23:57:14ID:??? ぶっちゃけサーバサイドのフレームワークは制作の効率のためであって
性能うんぬんは考えてないんだよな
性能うんぬんは考えてないんだよな
698nobodyさん
2009/02/27(金) 00:54:42ID:??? 勉強不足で申し訳ないんだが、制作の効率より性能うんぬんを優先したフレームワークを教えて欲しい
699nobodyさん
2009/02/27(金) 05:45:51ID:??? つーか開発効率は性能に含まれるだろう
700nobodyさん
2009/02/27(金) 06:00:50ID:??? は?
701nobodyさん
2009/02/27(金) 13:31:01ID:??? 699 名前:nobodyさん[sage] 投稿日:2009/02/27(金) 05:45:51 ID:???
つーか開発効率は性能に含まれるだろう
699 名前:nobodyさん[sage] 投稿日:2009/02/27(金) 05:45:51 ID:???
つーか開発効率は性能に含まれるだろう
699 名前:nobodyさん[sage] 投稿日:2009/02/27(金) 05:45:51 ID:???
つーか開発効率は性能に含まれるだろう
699 名前:nobodyさん[sage] 投稿日:2009/02/27(金) 05:45:51 ID:???
つーか開発効率は性能に含まれるだろう
699 名前:nobodyさん[sage] 投稿日:2009/02/27(金) 05:45:51 ID:???
つーか開発効率は性能に含まれるだろう
699 名前:nobodyさん[sage] 投稿日:2009/02/27(金) 05:45:51 ID:???
つーか開発効率は性能に含まれるだろう
つーか開発効率は性能に含まれるだろう
699 名前:nobodyさん[sage] 投稿日:2009/02/27(金) 05:45:51 ID:???
つーか開発効率は性能に含まれるだろう
699 名前:nobodyさん[sage] 投稿日:2009/02/27(金) 05:45:51 ID:???
つーか開発効率は性能に含まれるだろう
699 名前:nobodyさん[sage] 投稿日:2009/02/27(金) 05:45:51 ID:???
つーか開発効率は性能に含まれるだろう
699 名前:nobodyさん[sage] 投稿日:2009/02/27(金) 05:45:51 ID:???
つーか開発効率は性能に含まれるだろう
699 名前:nobodyさん[sage] 投稿日:2009/02/27(金) 05:45:51 ID:???
つーか開発効率は性能に含まれるだろう
704nobodyさん
2009/02/27(金) 20:00:15ID:??? 「やあ、とりあえず性能の一番いいやつを一つくれないか。」
「今日はCakePHPがお勧めとなっております。」
「じゃあ、そいつをくれ。」
「かしこまりました。」
「今日はCakePHPがお勧めとなっております。」
「じゃあ、そいつをくれ。」
「かしこまりました。」
708nobodyさん
2009/02/28(土) 04:26:33ID:??? 1ファイルにphp+html+css+jsべた書きが催促
709nobodyさん
2009/02/28(土) 08:03:49ID:??? SEO的に最悪だな
710nobodyさん
2009/02/28(土) 08:44:26ID:??? 出力されるHTMLがSEOに合ったものなら、途中経過は関係ない。
711nobodyさん
2009/03/04(水) 21:56:11ID:vdYaMRth PHPでMVCってModel, View, Controllerの3クラスに
それぞれ適当な補助クラスをコンポジる感じでok?
それぞれ適当な補助クラスをコンポジる感じでok?
712nobodyさん
2009/03/04(水) 22:30:14ID:??? ng
713nobodyさん
2009/03/04(水) 22:51:16ID:??? 検索するとViewは普通にHTML部分にしてクラスにしない奴が多いが…
それはどうだろう…
それはどうだろう…
714nobodyさん
2009/03/04(水) 23:44:42ID:???715nobodyさん
2009/03/05(木) 10:13:09ID:??? 未だにコントローラが何者なのかわからねえw
コンポーネントってのもよくわからんし。
コンポーネントってのもよくわからんし。
716nobodyさん
2009/03/05(木) 11:05:22ID:??? 基礎中の基礎すぎるだろ
717nobodyさん
2009/03/05(木) 12:25:35ID:??? コントローラの役割そのものがわからないというよりも『どこまでがコントローラがやるべきことなのか?』ってことかな。
ビューとコントローラで迷うことはないけど、モデルとコントローラのどっちに書くべきかな、って言うのが多い。
まぁ、経験で補うもんだろうね。
ビューとコントローラで迷うことはないけど、モデルとコントローラのどっちに書くべきかな、って言うのが多い。
まぁ、経験で補うもんだろうね。
718nobodyさん
2009/03/05(木) 17:40:27ID:??? 100%中の100%!!!!!!!!!!
byとぐろ兄弟
byとぐろ兄弟
719nobodyさん
2009/03/06(金) 04:31:52ID:??? ってか3つに分けようとするから分からないんじゃない?
721nobodyさん
2009/03/10(火) 12:40:11ID:??? アセクサ
722nobodyさん
2009/03/29(日) 09:52:31ID:??? アホクサ
723nobodyさん
2009/04/06(月) 08:51:50ID:??? 保守しときます。
724nobodyさん
2009/04/06(月) 09:51:43ID:??? 保守要らない板だから・・
725nobodyさん
2009/04/08(水) 23:43:02ID:??? PHP研究所って全然PHP関係の書籍ださねーな。
社内だけで技術囲ってんじゃねーぞ。
社内だけで技術囲ってんじゃねーぞ。
726nobodyさん
2009/04/08(水) 23:49:40ID:??? 全然おもしろくない
727nobodyさん
2009/04/10(金) 03:54:17ID:4A05Vd6N オブジェクト指向で、MVCのMとCがいまいちつかめない
処理はModel、ViewとModelを制御するController
ってある。
例えば、ある条件を満たしたときに、データファイルからデータ一覧をリスト形式にしたくて、
・データ1
・データ2
・
みたいにずらーと繰り返しして表示するとき、
modelには、ある条件を満たしたしたかどうかを判断する処理を、
viewには<div>やら<ul><li>を、
controllerには繰り返しのwhileを?
って迷ってしまう。
でもwhileて処理になるからmodelに書いた方がいいんじゃあいの?、と・・
でもmodelにwhileの処理かくと、同時に<br>やらもmodelに書いて
viewには何を?・・ってなってしまって先にすすめない・・
つづく
処理はModel、ViewとModelを制御するController
ってある。
例えば、ある条件を満たしたときに、データファイルからデータ一覧をリスト形式にしたくて、
・データ1
・データ2
・
みたいにずらーと繰り返しして表示するとき、
modelには、ある条件を満たしたしたかどうかを判断する処理を、
viewには<div>やら<ul><li>を、
controllerには繰り返しのwhileを?
って迷ってしまう。
でもwhileて処理になるからmodelに書いた方がいいんじゃあいの?、と・・
でもmodelにwhileの処理かくと、同時に<br>やらもmodelに書いて
viewには何を?・・ってなってしまって先にすすめない・・
つづく
728727
2009/04/10(金) 03:59:45ID:4A05Vd6N ごめん、やっぱりつづかない。
非常にわかりにくいかもしれないけど
こういうときって、素直にcontrollerにwhile処理いれとけばいいのかな。
でも、controllerに制限させるものが二、三個ならいいけど
もっとwhile処理するものが多くなれば、
処理がかぶってくるんだけど、
それが気持ち悪くて・・
なにか上手い回避方法を教えてください
非常にわかりにくいかもしれないけど
こういうときって、素直にcontrollerにwhile処理いれとけばいいのかな。
でも、controllerに制限させるものが二、三個ならいいけど
もっとwhile処理するものが多くなれば、
処理がかぶってくるんだけど、
それが気持ち悪くて・・
なにか上手い回避方法を教えてください
729nobodyさん
2009/04/10(金) 04:08:52ID:4A05Vd6N で、一応考えたのが、
viewにはhtmlタグだけを、
modelには条件処理とwhile処理を、
このwhile処理の中にviewで書いたhtmlタグを
放り込んで繰り返し処理。
controllerで、このmodelに引数入れてやれば
このmodelの変数には、
条件処理された結果と、
htmlタグつきのデータ一覧が格納されて、
表示される。
みたいにしたんだけど、これでいいのかな。
wikiのまとめサイトみるとmodelにwhileかかずに
controllerに書いてたから、何か意図があってやってるのかなと
viewにはhtmlタグだけを、
modelには条件処理とwhile処理を、
このwhile処理の中にviewで書いたhtmlタグを
放り込んで繰り返し処理。
controllerで、このmodelに引数入れてやれば
このmodelの変数には、
条件処理された結果と、
htmlタグつきのデータ一覧が格納されて、
表示される。
みたいにしたんだけど、これでいいのかな。
wikiのまとめサイトみるとmodelにwhileかかずに
controllerに書いてたから、何か意図があってやってるのかなと
730nobodyさん
2009/04/10(金) 04:22:59ID:??? MVCまだ早いんでないかな
731nobodyさん
2009/04/10(金) 09:37:55ID:??? Model はデータをどこからともなく持ってくる。
View にはテンプレートエンジン使って View の中でループさせる。
Controller は Model に「データ持ってこい」と頼んで、受け取ったデータを今度は View に渡して「表示しろ」と頼む。
View は渡されたデータをぶん回して表示する。
「頼む」ってのは メソッドを呼び出すことを指す。
嘘教えてたら許して
View にはテンプレートエンジン使って View の中でループさせる。
Controller は Model に「データ持ってこい」と頼んで、受け取ったデータを今度は View に渡して「表示しろ」と頼む。
View は渡されたデータをぶん回して表示する。
「頼む」ってのは メソッドを呼び出すことを指す。
嘘教えてたら許して
732nobodyさん
2009/04/10(金) 10:04:35ID:??? >>731
というとつまり、もしも動的にデータを一覧表示させたいときなんかは、
”データ持ってこいとModelに頼む→Viewに渡して表示させる”
という一回の表示を、whileなりなんなりを使って何回も繰り返す操作を
Controllerがやるってことでいいのか。
というとつまり、もしも動的にデータを一覧表示させたいときなんかは、
”データ持ってこいとModelに頼む→Viewに渡して表示させる”
という一回の表示を、whileなりなんなりを使って何回も繰り返す操作を
Controllerがやるってことでいいのか。
733nobodyさん
2009/04/10(金) 10:51:33ID:??? date.txtにdate1,date2,date3,date4ていうデータが入ってたとき、
"2"という条件を与えたときに、
date1<br>
date2<br>
"4"という条件を与えたときに、
date1<br>
date2<br>
date3<br>
date4<br>
という一覧を行いたい場合。
Modelには、指定されるデータを一つ引き出せるメソッドを、
Viewには、Controllerから受け取ったModelの一つのデータの後ろに、<br>を加えてechoするメソッドを、
そしてControllerで、Modelのメソッドを実行して、得られたデータをViewのメソッドへ渡し、一つデータを表示させる、
この操作を条件分繰り返すwhileもControllerに書いておく。
で、いいのけ
超基本的な場合、イメージ的には、
・Viewは、htmlしか知らない人でも、(phpの変数以外は)htmlタグ部分がはっきりしてるので弄ろうと思えば弄れる作り
・Modelは、処理されたデータを与える
・Controllerは、初期条件をMVに与えたり、MVにあるいろいろなメソッドの中から、
必要なものを選んで、データを得たり、表示させたり(MをVに渡して表示させたり)、
MVを組み合わせて完成したものを表示させる
みたいな感じ
だけで基本的名ことがまだまだ全然わからん
"2"という条件を与えたときに、
date1<br>
date2<br>
"4"という条件を与えたときに、
date1<br>
date2<br>
date3<br>
date4<br>
という一覧を行いたい場合。
Modelには、指定されるデータを一つ引き出せるメソッドを、
Viewには、Controllerから受け取ったModelの一つのデータの後ろに、<br>を加えてechoするメソッドを、
そしてControllerで、Modelのメソッドを実行して、得られたデータをViewのメソッドへ渡し、一つデータを表示させる、
この操作を条件分繰り返すwhileもControllerに書いておく。
で、いいのけ
超基本的な場合、イメージ的には、
・Viewは、htmlしか知らない人でも、(phpの変数以外は)htmlタグ部分がはっきりしてるので弄ろうと思えば弄れる作り
・Modelは、処理されたデータを与える
・Controllerは、初期条件をMVに与えたり、MVにあるいろいろなメソッドの中から、
必要なものを選んで、データを得たり、表示させたり(MをVに渡して表示させたり)、
MVを組み合わせて完成したものを表示させる
みたいな感じ
だけで基本的名ことがまだまだ全然わからん
734nobodyさん
2009/04/10(金) 12:01:58ID:??? >>732
まあ作り方によるんだろうけど……
ループでViewを何回も呼び出すよりも、例えば配列でデータを一度に全部渡しちゃって、Viewにループしてもらったほうがスッキリしない?
Viewの中にPHPの生のコードが入るのを避けたいなら、先に挙げたテンプレートエンジン使うとかすればいいし。
まあ作り方によるんだろうけど……
ループでViewを何回も呼び出すよりも、例えば配列でデータを一度に全部渡しちゃって、Viewにループしてもらったほうがスッキリしない?
Viewの中にPHPの生のコードが入るのを避けたいなら、先に挙げたテンプレートエンジン使うとかすればいいし。
735nobodyさん
2009/04/10(金) 12:17:29ID:??? >>734
たしかにそうか
ループするデータ表示のデザインて単純なものが多いだろうし
デザイン変更するときも、viewにphpのコードが入っててもそこまで苦にはならないか。
テンプレートエンジンどれがいいか決めれないし、
controllerにphpコードの種類がいっぱい入ってくると見にくいし長くなりそうだから
とりあえずはviewでループさせる方法にしてみるわ
あんがと
たしかにそうか
ループするデータ表示のデザインて単純なものが多いだろうし
デザイン変更するときも、viewにphpのコードが入っててもそこまで苦にはならないか。
テンプレートエンジンどれがいいか決めれないし、
controllerにphpコードの種類がいっぱい入ってくると見にくいし長くなりそうだから
とりあえずはviewでループさせる方法にしてみるわ
あんがと
736nobodyさん
2009/04/10(金) 12:48:47ID:??? >>727
レス全部読んでないから、的外れになるかもしれないけど、
MVCの基本コンセプトは『プログラムの着火点(エントリーポイント)は、URLである』
という考え方が中心になっているらしいよ
つまり、どんなWEBアプリもそのプログラムにアクセスしないと何も起こらないという発想。
そこから更に考えを発展させて、URLの一部にメソッドを含めよたのがMVCのポイント。
この、メソッドを含んだURLを処理する枠組みをコントローラにした訳。
だから、コントローラを中心にデータをサーバに貯めるならModelに、
データをユーザに表示するならViewにと処理系を分けた。
一般的にビジネスロジックはModelにとか言われるけど、
このビジネスロジックとはデータに正規表現をかけて別の形に置き換えるとか、
特定の数値を暗号化したりとか、殆どの処理の処理を指す。
だから、ロジックの中心はModelで処理され、コントローラはただMやVにデータを振り分けるだけに徹するのが
正しいMVC設計と言われてる。
実際のコード量もControllerが異様に肥大しているMVCは、悪いMVCとされている。
迷ったらMにロジック書いて、Cから呼出すようにする。
どうしても呼出せないロジックだけCで処理しよう。
レス全部読んでないから、的外れになるかもしれないけど、
MVCの基本コンセプトは『プログラムの着火点(エントリーポイント)は、URLである』
という考え方が中心になっているらしいよ
つまり、どんなWEBアプリもそのプログラムにアクセスしないと何も起こらないという発想。
そこから更に考えを発展させて、URLの一部にメソッドを含めよたのがMVCのポイント。
この、メソッドを含んだURLを処理する枠組みをコントローラにした訳。
だから、コントローラを中心にデータをサーバに貯めるならModelに、
データをユーザに表示するならViewにと処理系を分けた。
一般的にビジネスロジックはModelにとか言われるけど、
このビジネスロジックとはデータに正規表現をかけて別の形に置き換えるとか、
特定の数値を暗号化したりとか、殆どの処理の処理を指す。
だから、ロジックの中心はModelで処理され、コントローラはただMやVにデータを振り分けるだけに徹するのが
正しいMVC設計と言われてる。
実際のコード量もControllerが異様に肥大しているMVCは、悪いMVCとされている。
迷ったらMにロジック書いて、Cから呼出すようにする。
どうしても呼出せないロジックだけCで処理しよう。
737nobodyさん
2009/04/10(金) 13:22:45ID:??? >>736
なるほど
完全に思い込みで、
Vには、phpコードでの処理に関連するものはほとんど無くしてhtml表示メインが良い
みたいになぜか考えてしまっていて、なかなか進めなかった。
>メソッドを含んだURLを処理する枠組みをコントローラにした訳。
>だから、コントローラを中心にデータをサーバに貯めるならModelに、
>データをユーザに表示するならViewにと処理系を分けた。
これで、C、M、Vにはそれぞれこれをしようっていう考えが固まってきて
踏ん切りがついて先にすすめそうだ
とんクス
なるほど
完全に思い込みで、
Vには、phpコードでの処理に関連するものはほとんど無くしてhtml表示メインが良い
みたいになぜか考えてしまっていて、なかなか進めなかった。
>メソッドを含んだURLを処理する枠組みをコントローラにした訳。
>だから、コントローラを中心にデータをサーバに貯めるならModelに、
>データをユーザに表示するならViewにと処理系を分けた。
これで、C、M、Vにはそれぞれこれをしようっていう考えが固まってきて
踏ん切りがついて先にすすめそうだ
とんクス
738nobodyさん
2009/04/11(土) 01:35:03ID:??? ループして全部表示させるっていうのはVの仕様って気がするんだよねー。
最初の1件とか最初から100件とか、或いは全部っていうのはVの都合なわけで、
変更したいって思ったときはVだけ触ればよくしたい。
ってことで、
無駄とかなんとかは気にせずに、純粋な感じでいうと
Cの人は全部もらって、そのままVの人に渡す
っていうのがMVCぽいかな、って思う。
最初の1件とか最初から100件とか、或いは全部っていうのはVの都合なわけで、
変更したいって思ったときはVだけ触ればよくしたい。
ってことで、
無駄とかなんとかは気にせずに、純粋な感じでいうと
Cの人は全部もらって、そのままVの人に渡す
っていうのがMVCぽいかな、って思う。
739nobodyさん
2009/04/11(土) 07:42:37ID:??? >>738
俺は、Vの役割は「もらったデータを表示する」だと思ってるから、
ループする処理とかはCの役割だと思うけどな。
Vは、大量データ表示用のフォーマットや、1件詳細表示用のフォーマットを
持っているという形。
Cは、指定された件数のデータを表示させる機能を持っている、という形。
俺は、Vの役割は「もらったデータを表示する」だと思ってるから、
ループする処理とかはCの役割だと思うけどな。
Vは、大量データ表示用のフォーマットや、1件詳細表示用のフォーマットを
持っているという形。
Cは、指定された件数のデータを表示させる機能を持っている、という形。
740nobodyさん
2009/04/11(土) 07:47:58ID:??? 抽象論も大事だけど、具体的にコードを書いていきながら進めると分かりやすくなるかもしれないね。
質問者さんは、自分の思う発想でコードを書いてさらしてみたらどうかな。
それに対していろいろな人がレビューをすると何か見えてくるかもしれない。
質問者さんは、自分の思う発想でコードを書いてさらしてみたらどうかな。
それに対していろいろな人がレビューをすると何か見えてくるかもしれない。
741nobodyさん
2009/04/11(土) 14:03:22ID:??? PHPじゃないけど、こんな記事があった。
ASP.NET MVC入門
http://www.atmarkit.co.jp/fdotnet/aspnetmvc/aspnetmvc01/aspnetmvc01_01.html
ASP.NET MVC入門
http://www.atmarkit.co.jp/fdotnet/aspnetmvc/aspnetmvc01/aspnetmvc01_01.html
742nobodyさん
2009/05/07(木) 16:51:10ID:??? OOPの理論って奥が深いな。
デザインパターンなども学んで理論に忠実に沿った理想的な
プログラミングをしてみたいなとも思ったけれど、つきつめると
ケースバイケースってことに落ち着くから、こういう、忠実さを
追いかけるのは無駄な考え方のような気もしている。
この考えで合ってるよね?w
デザインパターンなども学んで理論に忠実に沿った理想的な
プログラミングをしてみたいなとも思ったけれど、つきつめると
ケースバイケースってことに落ち着くから、こういう、忠実さを
追いかけるのは無駄な考え方のような気もしている。
この考えで合ってるよね?w
743nobodyさん
2009/05/07(木) 16:54:10ID:??? 結論出ちゃったじゃないか
744nobodyさん
2009/05/07(木) 20:10:16ID:??? それ、ASP.NETに新しく導入された「ASP.NET MVC」ってフレームワークの記事なんだよ。
そもそもASP.NETはイベントドリブンなフレームワークで、本来の意味でのMVCを採用してたんだけど、StrutsとかRoRとかがウェブで流行ったから、MSも似たようなフレームワークを作ったわけ。
だからのこれまでのASP.NETの方が本来的なMVCに近い。「ASP.NET MVC」は「ASP.NET ウェブMVC」とかって名前にすれば良かったのに。
そもそもASP.NETはイベントドリブンなフレームワークで、本来の意味でのMVCを採用してたんだけど、StrutsとかRoRとかがウェブで流行ったから、MSも似たようなフレームワークを作ったわけ。
だからのこれまでのASP.NETの方が本来的なMVCに近い。「ASP.NET MVC」は「ASP.NET ウェブMVC」とかって名前にすれば良かったのに。
745nobodyさん
2009/05/07(木) 20:53:37ID:??? M$って、紛らわしい名前つけるのが好きだよね。
ASP.NETにおいてMVCに関する詳しい記事かなと思ったけれど、
実際に読んでみると、まったく別なフレームワークってことだった。
違いについて理解するのがひとつ面倒になったなぁ。
ASP.NETにおいてMVCに関する詳しい記事かなと思ったけれど、
実際に読んでみると、まったく別なフレームワークってことだった。
違いについて理解するのがひとつ面倒になったなぁ。
746nobodyさん
2009/05/07(木) 23:05:13ID:??? stackoverflowを作ったヤツね。
747nobodyさん
2009/05/19(火) 20:06:52ID:??? 保守しとくね。
748nobodyさん
2009/06/18(木) 20:12:33ID:??? なんでカソってんだー
749nobodyさん
2009/07/02(木) 08:55:14ID:SGa5I59I PHPにおけるOOPは100mを自動車で走るようなもの
自転車を使え
走れ
歩いてもいいぞ
自転車を使え
走れ
歩いてもいいぞ
750nobodyさん
2009/07/02(木) 09:07:04ID:??? OOPを使いまくる必要はないけど
必要な機能をモジュール化したいときにOOPをいいとこ取りすれば便利
必要な機能をモジュール化したいときにOOPをいいとこ取りすれば便利
752nobodyさん
2009/08/27(木) 07:51:29ID:???レスを投稿する
ニュース
- 【サッカーW杯】1次リーグ敗退に韓国大統領が異例の失望表明…「無能な指揮官選べば結果は火を見るより明らか」 [王子★]
- 「愛子さま皇位継承あり得ず」 中曽根弘文氏、結婚する人ない [ぐれ★]
- 女優・松本まりか「壊されたくない物があるなら、罰で強制でなく…大切に思ってもらえるように行動すべき」作家の国旗に関する投稿に私見 [少考さん★]
- ”アジアの惨状”「世界でダントツの弱い地域…」9チーム中7チームが敗退、SNS嘆き節「弱すぎる」「イタリア出したほうがいい」 [ゴアマガラ★]
- 【五輪】IOC「私たちは再び日本で冬季五輪を行いたいと考えている」 [ニーニーφ★]
- 女優・松本まりか「壊されたくない物があるなら、罰で強制でなく…大切に思ってもらえるように行動すべき」作家の国旗に関する投稿に ★2 [少考さん★]
- 【実況】博衣こよりのえちえち電脳少女シロ清楚の日9 🧪🐬★3
- 🏡
- 高市支持率上昇。最多理由「人柄が信頼できる」 [237216734]
- 【画像】中森明菜さん、変わり果てた姿でテレビ出演wwwwwwwwwwwwww [242521385]
- 🏡立てろカス共😡
- 【高市速報】愛子さまと結婚する人いない!と、自民中曽根氏 [219241683]