トップページ⇒php
886コメント381KB

PHPでOOP

■ このスレッドは過去ログ倉庫に格納されています
00011 ◆SWtzLesEmM 2007/02/23(金) 13:35:52ID:???
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^)/
0628nobodyさん2008/12/20(土) 14:28:47ID:???
>624
変化する内部状態を持つモデル同士で連携させると見通しが悪くなる。
生成してから、(観察される)内部状態が変化しないようなモデルはどこから呼んでもそれほど大きな問題はない。
オブジェクトの生成期間中に(観察される)内部状態が変化するようなモデルは、C直轄にしといた方がいい。
0629nobodyさん2008/12/20(土) 14:34:18ID:???
生成期間→生存期間
なんか寝ぼけてた。

要は変化する「状態」を持っているもの全てはCの管理下に置いておいた方がいいってこった。
「状態」が無いもの(生成時にファイルからデータをロードしてそれっきり、とか)はどこにあったって構わない。
インスタンスの生成を行なうクラスは自分ルールでもいいからある程度絞っておかないと混乱すると思うけどな。
0630nobodyさん2008/12/20(土) 15:34:43ID:???
変な質問だけど、OOP での Validator ってのがよくわかんねえ。
is_numeric(); とかをModel内にべた書きしないで、Validatorオブジェクトを通じて、変数の内容を確認すればいいの?

$str = 'string';
$valid =& new Validator();
$valid->isStr($string);

みたいな感じで。
BaseValidator みたいな基本的なチェックをするクラスを作って、継承した先で複雑なチェック用のメソッドを実装させればいいのかな。
06316302008/12/20(土) 15:37:54ID:???
引数間違えてる。最後の行。

$valid->isStr($str);

ね。まぁ、別に問題ないが。
0632nobodyさん2008/12/20(土) 15:54:47ID:???
問題はありまくりだろ
0633nobodyさん2008/12/20(土) 16:42:14ID:???
>630
ttp://gist.github.com/38261

俺はValidatorクラスはコントローラ単位で実装してる。「入力値の検証」なのだから、コントローラの責任。
Validatorだけ独立させるのはコードの見通しを良くするためであり、責任はあくまでコントローラにある。
ただ、実際にそっからコールするのはModelのメソッド。何が許可されるかを知ってるのはだいたいModelだからな。
たとえば受け付ける値が日付なら、そっから日付クラスのvalidateメソッドを呼び出す(MyDate::validate($string))。

POSTされる中に列挙型(<select>から送られるような、選択肢が限られているもの)とかがあった場合にこの構成は滅茶苦茶強い。
<select>のためのデータ生成とか、送られたvalueから画面表示用の文字列(「〜モード」とか)への変換を一箇所に集められる。
あと、文字列が決まったフォーマットになっているか調べる場合とかな。

is_strとかctype_stringとかstrlenだけで検証が終わるものはvalidatorクラス内に直書きする。
validateNumericとかvalidateStrとか書くよりその方が分かりやすい。
0634nobodyさん2008/12/20(土) 17:07:58ID:???
>>633
ものすごく丁寧にありがとう。
まだぼんやりとしかわからないけど、サンプルコードを読み解いて、いろいろ試してみる。
0635nobodyさん2008/12/20(土) 17:13:17ID:???
>>633

>「入力値の検証」なのだから、コントローラの責任。

「検証する」んじゃなく「検証させる」のが仕事じゃないの?
ここでいう入力値の検証って例えばどんなこと言ってる?

3行目で
>何が許可されるかを知ってるのはだいたいModelだからな。

って書いてるってことは、なにか、Modelに関係ないものを想定してると思うんだけど。
0636nobodyさん2008/12/20(土) 18:07:36ID:???
>635
大雑把に言うと、処理を始める前に可能なパラメータの検証全般。
純粋に入力値だけを見て判定できるものだな。システムや環境の状態を見なくとも判定できるエラーを出す役割。

処理を始めないと分からないもの(DBに指定されたエントリーがあるかとか)は、バリデーションでは扱わない。
DBにこの値があった場合はクッキーにこれが無いといけない…みたいなのも対象外。

日付として「'9999-12-31'」が指定されてもバリデーションでは引っ掛けない。これは有効な入力。
「'2008-13-45'」はバリデーションでエラーとして引っ掛ける。この日付が有効になる事はあり得ないから。
メールアドレスが正しいフォーマットかをチェックするのはバリデーションで、それが有効なメールアドレスかをチェックするのはモデル。
ユーザーIDとして正しいフォーマットならばバリデーションは通るが、当該ユーザーがいない場合モデルがエラーを出す。
0637nobodyさん2008/12/21(日) 00:53:43ID:???
>>636

なんとなく分かるけど、
例えばそれだと「2008-13-45は日付(のつもり)」ってことを
コントローラが知っとかないといけないってことだよね?

あと、日付が必要なくなった、とかいうときは
コントローラーを変更しないといけないってことにならない?


なんか拘ってるようでアレだけどお勉強スレってことで許してw
0638nobodyさん2008/12/21(日) 00:57:41ID:???
って、もしかして、リクエストとして渡ってくるものを想定してるのかな。

hoge.php?date=20081231

とか。
0639nobodyさん2008/12/21(日) 12:32:43ID:???
>637
「コントローラ」の指している範囲が俺と違う気がする。

俺はディスパッチャ(処理の振り分け)部分じゃなくて、そこから振り分けられる先のコントローラを指している。
ぐぐったが、「アクション」としてクラスにして丸ごとコントローラから切り離す文化圏もあるようだな。
「日付のつもりで送られてくる文字列がある」という事実は、ディスパッチャは(たいていの場合)知らない。
が、コントローラ(アクション)は知っている。だって知らないと日付具象モデルに処理を引き渡しようがないからな。

Cにはどの道変更が入る。リクエストをモデルに引き渡すのが仕事だからな。
「日付がどこからどう渡ってくるか」はCの管轄であってMじゃない。Mはそれを知っていてはいけない。
Mは「日付を渡されたらどうする」だけ知っていればよく、実際問題どこに日付があるかはCが隠蔽すべき。

たとえば、日付指定でDBからレコードを取っていたのを、「無指定時は今日と見なす」と変更したとする。
この場合は、Cを「日付省略時は現在の日付でMを呼び出す」ように変更し、Mには触れないのが正しい。
「省略時は日付を無視して過去のレコードを全取得する」という場合は、データ取得ロジックが変更なのでまずMは変わる。
制御の構造、呼び出しインターフェイスも変わるのでCも変わる。
0640nobodyさん2008/12/21(日) 12:37:44ID:???
まあ実際は、日付省略時のMの挙動を変えるだろうけどな。

>638
入力値以外のもの(DB内の値とか処理結果)の検証は当然モデル。
というか、そういうのは一般にはバリデーションとは言わずアサーションと呼ぶ。
0641nobodyさん2008/12/21(日) 13:45:12ID:???
>>639
Cは振り分けだけが仕事だと思ってたんだけど。
その先にさらに C があることなんてあるのか。

サブコントローラーみたいな感じ?
0642nobodyさん2008/12/21(日) 14:51:26ID:???
>641
やっぱ、そこか。
例えばブログの場合、エントリー群を司るモデルや、タグクラウドを司るモデルができる。これは自明だな。
で、データを受け取って画面を表示するだけの、ごく単純なビューがいる。これも自明。
で、それら呼び出してページのデータを作る、という「データの統合」を司るクラスが必要になる。
これをMVCのうち、MとCのどっちに置くかの問題。

MVC、MVCって言ってるけど、本質的には4層なんだよ。
処理の振り分けに1層を割くならば、4層なくてはならない。
処理の振り分け=呼び出すCの決定(ディスパッチャ)→どのMを呼び出すかを制御する(コントロール)
 →データを実際に扱う(モデル)→表示(ビュー)、となる。

実際のフレームワークだと、RailsやZendはDispatcherが振り分けを担当し、制御はコントローラが執っている。
(だから、おまいの目から見れば、コントローラは仕事をやりすぎに見えるはず)
SymfonyやCakeだとControllerがディスパッチを担当し、制御はActionが執っている。
CodeIgniterだとディスパッチは単一のエントリポイント(リクエストを受けるphpファイル)であるindex.phpが行なって、制御はCが行なっている。
0643nobodyさん2008/12/21(日) 15:35:51ID:???
>>642
>たとえば、日付指定でDBからレコードを取っていたのを、「無指定時は今日と見なす」と変更したとする。
>この場合は、Cを「日付省略時は現在の日付でMを呼び出す」ように変更し、Mには触れないのが正しい。
これって制御じゃなくてロジックだからモデル的仕事じゃねぇの?
0644nobodyさん2008/12/21(日) 16:01:38ID:???
>>642
横槍で質問してすまんかった。
すげーわかりやすい。
勉強になった。ありがとう。
0645nobodyさん2008/12/21(日) 16:03:24ID:???
4層www
0646nobodyさん2008/12/23(火) 01:41:15ID:???
>>645
あなたの顔に死相が出ていますよ。4層だけに。
0647nobodyさん2008/12/24(水) 12:54:19ID:???
考え方としてディスパッチとコントロールは分けるべきだが、
実装するときは、コントロールで括るよな?
06486422008/12/24(水) 22:47:37ID:???
>647
M・V・Cで分けるならCってのは同意。いちおう
> 処理の振り分けに1層を割くならば
と予防線は張ってあるわけだが。
俺はControllerの親クラスとかControllerFactoryでディスパッチする事が多い。
0649nobodyさん2008/12/25(木) 12:55:55ID:???
>>648

> Controllerの親クラスとかControllerFactoryでディスパッチする事が多い

ディスパッチャーのインターフェースを作って、コントローラクラスでインプリメンツするってのは駄目なの?
0650nobodyさん2009/01/04(日) 21:25:44ID:???
保守
0651nobodyさん2009/01/10(土) 18:38:23ID:???
保守
0652nobodyさん2009/01/18(日) 01:35:36ID:???
手始めに、サイトのリニューアルついでにSmarty入れてCMS'っぽく'してみる。
0653nobodyさん2009/01/26(月) 20:14:56ID:???
お?サンプルか?
0654nobodyさん2009/02/02(月) 14:37:18ID:JcAer1H1
勉強すればするだけフレームワーク使えば手っ取り早いことがわかった。

自作のモチベ下がっちまったい。
0655nobodyさん2009/02/02(月) 14:46:20ID:???
自作する理由は楽するためじゃないだろう
0656nobodyさん2009/02/02(月) 14:54:00ID:???
もっと手っ取り早く使えるフレームワークをつくるために勉強すればいい
0657nobodyさん2009/02/02(月) 15:06:11ID:???
元々目的としては自サイトで使うための軽量フレームワークを作るために勉強してたの。

で、既存のフレームワークのマニュアルとかソースを参考にしながら作ってたんだけど、取り込むつもりが逆に呑まれた形。
0658nobodyさん2009/02/02(月) 20:06:44ID:???
凄く難解なソースを引き継ぎさせられて、途方にくれかかった。
で、市販のモジュールを使うなどして0から作り直すなどの方法を
模索したが、結局は引継ぎしたソースを解読して手を加えるのが
楽で、早い道であることが分かった。みたいな話かな?w
PHPではないが、俺はちょうどこんな感じの体験をしたことがあるw
0659nobodyさん2009/02/03(火) 00:06:52ID:???
まぁ、たぶんそんな感じ。
要するにフレームワークの魅力に気付いたわけですよ。
0660nobodyさん2009/02/03(火) 01:52:40ID:???
先に気づいてからやれば良かったな
0661nobodyさん2009/02/04(水) 08:03:26ID:???
そういうのは簡単に気づけないだろう。
プログラムは体感して分かっていくものなのだから。
0662nobodyさん2009/02/04(水) 21:38:41ID:???
俺としては魅力に気付けただけでも大きな進歩だ。

自作云々は別にして。
0663nobodyさん2009/02/05(木) 22:29:31ID:6GWaaOT6
あけおめ
0664nobodyさん2009/02/06(金) 07:54:15ID:???
では、その気づいた魅力的な部分をここなどで紹介してみるというのはどうよ?
PHPでOOPのスレの趣旨に添ってると思うし、他の人の意見を聞いて
参考になる部分もあると思うのだが。
0665nobodyさん2009/02/07(土) 01:12:17ID:???
>>4
宣伝乙
0666nobodyさん2009/02/09(月) 20:26:45ID:???
えらく昔の書き込みにレスしてるな。
0667nobodyさん2009/02/12(木) 07:33:22ID:???
フレームワークの魅力についてまとめてみるか?
0668nobodyさん2009/02/12(木) 09:08:20ID:???
どうぞ
0669nobodyさん2009/02/12(木) 15:59:22ID:???
>>667
wikiにしてもらえるなら俺も手伝う
0670nobodyさん2009/02/12(木) 20:11:52ID:???
いや、俺はそんなに文章がかけるほど知識は無い。申し訳ないが、サポートに回る
0671nobodyさん2009/02/12(木) 20:25:45ID:???
なぜにフレームワークの魅力をまとめようと?
06726622009/02/12(木) 20:56:21ID:???
>>662 ≠ >>667
だからね。
俺は人に語れるほどまだ理解してないから。
0673nobodyさん2009/02/12(木) 20:59:58ID:???
なんだ教えて君か
0674nobodyさん2009/02/12(木) 21:37:52ID:???
おまえもな
0675nobodyさん2009/02/12(木) 22:00:11ID:???
サポートするといってるんだから、教えてじゃないだろw
0676nobodyさん2009/02/13(金) 20:54:05ID:???
ttp://q.hatena.ne.jp/1188498291
0677nobodyさん2009/02/15(日) 23:40:26ID:???
>>676を読んでみて、PHPに限らず、ASP.NETを体感してみると、フレームワークの
メリットやデメリットがみえてくるんじゃなかと感じた。
あれは、ポストバックとか独自の理論があって、それを学ばないと使えるようになれない。
しかし、ページをまたがってデータの受け渡しをする際は、非常に便利な機能であり、
使いこなせるようになると、生産性が向上する。
0678nobodyさん2009/02/16(月) 00:05:47ID:???
一問一答形式でwikiでも作るか
0679nobodyさん2009/02/16(月) 00:44:15ID:???
visualstudioが優秀すぐる
0680nobodyさん2009/02/16(月) 11:09:32ID:IOY0ae9e
Java とか C#やったほうが飲み込みは早くなるのかな。
でも両者とも動かせるサーバって高いからなぁ。
Web以外にも用途はあるけど。
0681nobodyさん2009/02/16(月) 19:31:23ID:???
>>680
いろいろな言語に触れてみると、その分視野は広くなることだろう。
共通して実装している機能を見ることで、OOPの概念をつかんだり
出来るはずだし。
しかし、広く浅くにとどまっていると、何も作れないで終わるので、
物を作る際は、一つの言語に絞り込んでいた方が良い。

なので、java や C# においてはローカルで稼動させるのにとどまらせて
おいたらどうかな?ASP.NET だと、Webアプリでもローカルでテスト動作
させる環境が Express にもついてるし。
0682nobodyさん2009/02/16(月) 23:33:26ID:???
ウェブアプリの範囲なら、どの言語のどのフレームワークでも大差ないよ。
ASP.NETは、デスクトップアプリケーションからのアプローチなんで、これだけちょっと勝手が違うけど。
プログラミングを仕事にするなら、最初は型ありの言語をやった方がいいと思う。
JavaとかC#が理解出来れば、PHPやPerlはすぐに分かる。
0683nobodyさん2009/02/17(火) 12:38:03ID:???
でも、perlってすぐ忘れちゃうよな...
0684nobodyさん2009/02/17(火) 20:53:57ID:???
>>683
それはそれで良いのではないかと思っている。
perlのモットーがあわないのであれば、PHPを使うで良いと思うし。
0685nobodyさん2009/02/23(月) 20:40:12ID:???
PHP では OOP を学べないという意見があるが、結論だけ
いうのではなく、その理由の部分を述べていくといいかもね。
0686nobodyさん2009/02/23(月) 21:35:23ID:???
別に学べるのでは?
0687nobodyさん2009/02/23(月) 22:27:49ID:???
ん、どこかにPHPでは学べないと書いてあるのかな?

個人的には、純粋にOOPを学びたいのであれば別の言語がいいかなーとは思う。
理由は、Webは身近だし使い慣れてると言えるかもしれないが
PHP以外のHTMLやらJSやらHTTPプロトコル等知らなければいけない知識が多くあるから。
その辺を知っていれば問題はないと思うけどね。
0688nobodyさん2009/02/23(月) 23:55:46ID:???
オブジェクト指向を本格的に勉強したければ、GUIのプログラムを書いた方がいい。ウェブアプリじゃオブジェクト指向が出る幕はない。
0689nobodyさん2009/02/24(火) 02:09:17ID:???
出る幕はあると思うが、最終的にフレームワークを構築することになると思う。

いきなりWEBフレームワークを作ることは難しいので、
実際に存在するフレームワークのソースを追いかけ、参考にしながら、
オレ的フレームワークを組み上げることで、様々な知見を得ることができると思う。

また、これらのフレームワークはたいてい、何らかのデザインパターンやアークテクチャパターンが使われているため、併せてこれらも学習する必要があると思う。
0690nobodyさん2009/02/24(火) 12:23:13ID:???
WEBアプリでもActionScript3なら、バリバリOOPだYO!
0691nobodyさん2009/02/24(火) 12:40:12ID:???
まあ、いつかはサーバサイドはAPIを提供するだけで、クライアントのUIはFlashとかJavaScriptに任せるような時代がくるのかも。
0692nobodyさん2009/02/24(火) 19:41:39ID:???
>>691
エンタープライズならそんなケースいくらでもあるだろw
0693nobodyさん2009/02/24(火) 20:31:42ID:???
>>689
俺的フレームワークなんて作らないほうがいい。
自己主張ばかり強い勘違いになりがちだし、遠回り。
良い先人の手本を眺めるほうがよっぽど効率的だわ。
0694nobodyさん2009/02/24(火) 20:35:16ID:???
>>693
ホントにそうだとしたらとっくに淘汰されて現状のフレームワークの乱立状態にはならないと思うが
0695nobodyさん2009/02/25(水) 06:21:18ID:???
>>692
聞いたことないな。そんなことするぐらいなら、Windowsアプリケーションなり、Accessなりで直接DBを参照するから。
0696nobodyさん2009/02/26(木) 22:25:57ID:???
クライアントマシンの性能がこれだけアップしているのに、
クライアントマシンの性能を利用しないなんて
どれだけ無駄なんだかw
0697nobodyさん2009/02/26(木) 23:57:14ID:???
ぶっちゃけサーバサイドのフレームワークは制作の効率のためであって
性能うんぬんは考えてないんだよな
0698nobodyさん2009/02/27(金) 00:54:42ID:???
勉強不足で申し訳ないんだが、制作の効率より性能うんぬんを優先したフレームワークを教えて欲しい
0699nobodyさん2009/02/27(金) 05:45:51ID:???
つーか開発効率は性能に含まれるだろう
0700nobodyさん2009/02/27(金) 06:00:50ID:???
は?
0701nobodyさん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:???
つーか開発効率は性能に含まれるだろう
0702nobodyさん2009/02/27(金) 13:31:44ID:???
>>698
性能を求めるならフレームワークなんて使うなって話
0703nobodyさん2009/02/27(金) 19:50:17ID:???
>>698が言ってる「性能」って何?
これは釣りなのか?
0704nobodyさん2009/02/27(金) 20:00:15ID:???
「やあ、とりあえず性能の一番いいやつを一つくれないか。」
「今日はCakePHPがお勧めとなっております。」
「じゃあ、そいつをくれ。」
「かしこまりました。」
0705nobodyさん2009/02/27(金) 20:35:39ID:???
>>703
なんで俺に絡むんだよ。
たった1個上のレスも読めないのか?
釣りなのか?
0706nobodyさん2009/02/28(土) 01:39:57ID:???
>>705
何言ってるんだ?
1個上のレスを読んでるから性能って何って話だよな
0707nobodyさん2009/02/28(土) 02:02:53ID:???
>>697に聞いてくれよ
俺は知らんよ。
使われた言葉返しただけなのにw
0708nobodyさん2009/02/28(土) 04:26:33ID:???
1ファイルにphp+html+css+jsべた書きが催促
0709nobodyさん2009/02/28(土) 08:03:49ID:???
SEO的に最悪だな
0710nobodyさん2009/02/28(土) 08:44:26ID:???
出力されるHTMLがSEOに合ったものなら、途中経過は関係ない。
0711nobodyさん2009/03/04(水) 21:56:11ID:vdYaMRth
PHPでMVCってModel, View, Controllerの3クラスに
それぞれ適当な補助クラスをコンポジる感じでok?
0712nobodyさん2009/03/04(水) 22:30:14ID:???
ng
0713nobodyさん2009/03/04(水) 22:51:16ID:???
検索するとViewは普通にHTML部分にしてクラスにしない奴が多いが…
それはどうだろう…
0714nobodyさん2009/03/04(水) 23:44:42ID:???
>>713
別にありじゃない?
PHPTALってのもあるし
厳密には、TALに値渡す必要があるので、Viewが純粋なHTMLのみという訳ではないけど
0715nobodyさん2009/03/05(木) 10:13:09ID:???
未だにコントローラが何者なのかわからねえw
コンポーネントってのもよくわからんし。
0716nobodyさん2009/03/05(木) 11:05:22ID:???
基礎中の基礎すぎるだろ
0717nobodyさん2009/03/05(木) 12:25:35ID:???
コントローラの役割そのものがわからないというよりも『どこまでがコントローラがやるべきことなのか?』ってことかな。

ビューとコントローラで迷うことはないけど、モデルとコントローラのどっちに書くべきかな、って言うのが多い。


まぁ、経験で補うもんだろうね。
0718nobodyさん2009/03/05(木) 17:40:27ID:???
100%中の100%!!!!!!!!!!

byとぐろ兄弟
0719nobodyさん2009/03/06(金) 04:31:52ID:???
ってか3つに分けようとするから分からないんじゃない?
0720nobodyさん2009/03/06(金) 14:28:15ID:???
>>719
なんだ君も教えて君か
0721nobodyさん2009/03/10(火) 12:40:11ID:???
アセクサ
0722nobodyさん2009/03/29(日) 09:52:31ID:???
アホクサ
0723nobodyさん2009/04/06(月) 08:51:50ID:???
保守しときます。
0724nobodyさん2009/04/06(月) 09:51:43ID:???
保守要らない板だから・・
0725nobodyさん2009/04/08(水) 23:43:02ID:???
PHP研究所って全然PHP関係の書籍ださねーな。
社内だけで技術囲ってんじゃねーぞ。
0726nobodyさん2009/04/08(水) 23:49:40ID:???
全然おもしろくない
0727nobodyさん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には何を?・・ってなってしまって先にすすめない・・

つづく
■ このスレッドは過去ログ倉庫に格納されています