PHPでOOP (894レス)
上下前次1-新
254: 2008/02/05(火)13:28 ID:??? AAS
Debug用出力のメソッドをView(基底クラス)に追加するといいだろうね。
各画面([LoginView] [InsertView] [MenuView] ・・・)で
エラー確認用のメソッドをオーバーロードする形で。
開発中はPOSTで受け取ったデータとかを画面上部に表示しながら動作確認する
っていうのは、よくやるからね。
Objectクラスを継承する形にするのは、このスレでは共通したメソッドの
実装という理由だ。という話だったけど、リファレンス関係の処理で
便利だという話がサイトに載っているようだね。
このあたりの考え方も活かすと良いかもしれない。
ただ、PHPのOOPだとうまく実装出来ないかもしれないが。
省1
255(3): 2008/02/05(火)13:44 ID:??? AAS
Modelクラスも以下のメソッドを追加するという感じで設計すると良いのかな。
Select // データ取り出し
Delete // 削除
Insert // 新規追加
Update // 既存データの更新
>>228に載ってる既存のクラスには Execute があるけれど、
これも残しておくべきかな?
256(1): に ◆lKs5QMUHoA 2008/02/05(火)19:03 ID:??? AAS
案がいくつか出てきたので、前回の駄目なソースを破棄して
またソースコードをリニューアルしようかと思ったが、
いざやり始めてみると、データベースを管理する基底クラスの
設計を具体的にどうするかをきめないといけなくなり、それを
どうするかで迷っている。。。
概ね以下のような感じにしたいと思ってるんだけどね。
DB格納の基底クラス:CFDB
テキストファイルに保存するクラス:Text_DB extend CFDB
PostgreSQLに保存するクラス:PostgreSQL_DB extend CFDB
MySQLに保存するクラス:MySQL_DB extend CFDB
省5
257(1): 2008/02/05(火)20:33 ID:??? AAS
>>255
普通は機能をメソッドに振り分けると思うけど
コントローラのメソッド内で以下の様に
操作出来たら面白くない?
// モデルにフォーム値を渡してデータ書き込み
$insert = $this->models['InsertModel'];
$insert->setItem('name', $_POST['name']);
$insert->setItem('title', $_POST['title']);
$insert->setItem('body', $_POST['body']);
$insert->execute();
省6
258(1): に ◆lKs5QMUHoA 2008/02/05(火)23:02 ID:??? AAS
>>257
要求仕様案
私は眼鏡屋(○○支店の店長)をやっている。
顧客の情報(名前、住所、性別、生年月日、・・・)を管理したい。
・眼鏡を購入した顧客の情報を登録しておき、ある一定期間経つと
新しい眼鏡を購入する案内のDMを発送したい。
→条件検索をしたい。
・登録した情報を検索し、どんなお客様かをすぐに確認出来るようにする。
→例えば、苗字を聞いて、詳細が分かるようにする。
・眼鏡の定期的なメンテナンスで、訪問してきたら、その対応履歴を
省11
259: に ◆lKs5QMUHoA 2008/02/05(火)23:21 ID:??? AAS
[データの入力例]
氏名:茂名
フリガナ:モナー
性別:男性
生年月日:H1/3/3
住所:東京都・・・
コメント:ふちなしタイプを希望している。
眼鏡購入日:2007/1/5
眼鏡の型番:2ch
[2007/1/5に購入した2ch]のメンテナンス履歴
省7
260(1): に ◆lKs5QMUHoA 2008/02/06(水)01:36 ID:??? AAS
View の Debug メソッドの仕様もどうするかで迷っている。
Execute($param)したあと、Debugとか、もしくは、
Debugの中でExecute($param)を呼び出す処理だと、
<html>タグのそとに確認データが出力されてしまう。
Debug モードを on にすれば、<body>タグの上部に
テーブルで区切ってデータが表示されるとかかな。
だったら、メンバにDebugモードを追加かな。
という感じに考えてる。
みんなどう思う?
261(1): 2008/02/06(水)09:30 ID:??? AAS
>>258
ちょっとしたシステムじゃん・・ (´・ω・)
それこそ既存のフレームワーク使用する案件だよ。
>>260
ディレクティブ付けたechoやvar_dump埋め込みで十分だと思うよ。
むしろその機能を実装するより、デバッガ環境構築した方がいい・・・
OOPに対する基本的概念への理解があまりにも無さ過ぎると思うんだ。
>>255にしても、Executeメソッドに呼ばれる仕組み作ってんのに、
なんで新しいメソッド実装して直接呼びたがるんだろう?
あれほどインタフェイスだけで実装するんだと(ry
省1
262(2): 1 ◆SWtzLesEmM 2008/02/06(水)10:44 ID:??? AAS
>>243
>外部リンク:www.geocities.jp
↓動作サンプルを設置しました。
外部リンク:ssurl.net
↓コードに関するコメントのまとめ(>>184-226辺り)
外部リンク:ssurl.net
263(2): 2008/02/06(水)11:45 ID:??? AAS
>>262
非常に乙です。m(_ _)m
>>226だけど >>1さんにここまでやって貰っちゃって申し訳ないし
これぞOOPってサンプルを必死に実装してアップするんでしばしお待ちを・・
264: 2008/02/06(水)13:18 ID:??? AAS
>>263
はやくアップしろよなw
俺がそれ見て勉強して、いつかエロイ人になったら
お前を雇ってやるよ! 感謝しろ
265: に ◆lKs5QMUHoA 2008/02/06(水)16:04 ID:??? AAS
>>262
動作サンプルまでつけていただいて、ありがとうございます。
過去ログも、そのままコピペするんじゃなくて、色をつけたり
分類したりすると非常に分かり易いですね。
ShiftJISだったりとか、スペース2個というのは標準じゃないとかは
気づいてたのですが、そこまで治していただいて申し訳ないです。
266(1): 2008/02/06(水)16:34 ID:??? AAS
MVCって難しいね。
267: 2008/02/06(水)17:31 ID:??? AAS
>>266
別にわかんなくったって、やってけるから大丈夫。
無理に背伸びする必要は無い。
268: に ◆lKs5QMUHoA 2008/02/06(水)20:19 ID:??? AAS
フレームワークの解説に関するサイトを見つけました。
ここで概要をつかんだ後、実際に触れてみるといいかもしれない。
ASP.NET vs. Struts
フレームワーク徹底比較[前編]
外部リンク[html]:www.atmarkit.co.jp
この文章書いてる人、ネットワーク関連の書籍でよく見かけるよね。
269(1): 2008/02/07(木)10:03 ID:??? AAS
>>261
> OOPに対する基本的概念への理解があまりにも無さ過ぎると思うんだ。
> >>255にしても、Executeメソッドに呼ばれる仕組み作ってんのに、
> なんで新しいメソッド実装して直接呼びたがるんだろう?
> あれほどインタフェイスだけで実装するんだと(ry
ちいたんのフレームワークは、Modelにinsertやdelを持ってるからそれを
参考に設計してみたんだけど。
外部リンク[php]:php.cheetan.net
俺はこれから勉強していくところなので理解がないのは認めるが、
このあたりはどういう見解なのかを教えて欲しい。
省3
270(1): 2008/02/07(木)10:24 ID:??? AAS
>>269
フレームワーク実装に正解も不正解も無いと思うけどね・・
例えば
・クラスを使った構造化的メソッド呼び出し
$model->insert();
$model->del();
よりも
・ポリモーフィズム
$insert->execute();
$del->execute();
省6
271(1): 2008/02/07(木)10:55 ID:??? AAS
>>270
レスサンクス。となると、
class CInsert extend CView、class CDel extend CView、・・・
みたいな設計にするということ?
ちょっと大雑把になってるけど、CInsertはこんな感じに実装するとか。
(テーブルのフィールドは、a,b,cという場合。)
class CInsert extend CView{
var $field_a;
var $field_b;
var $field_c;
省18
272(1): 2008/02/07(木)11:32 ID:??? AAS
じゃ、用件仕様はこんな感じで良いのか?
[認証]
→・ID、パスワードにて認証
・認証成功で[メニュー]へ移動
[メニュー]
→・(新規)[個人情報入力]、[検索指定]画面へ移動するボタンがある
[個人情報入力]
→・名前、性別 を登録
[検索指定]
→・氏名のキーワードを含む検索、性別指定が出来る。
省4
273(1): 2008/02/07(木)12:35 ID:??? AAS
>>271今こんな感じ。
[DataModel.php]
<?php
/**
* データModel抽象クラスです。
*/
class DataModel extends Model
{
# @access private
var $_items;
省14
上下前次1-新書関写板覧索設栞歴
あと 621 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.014s