2011-07-12 4 views
1

私のウェブサイトでは、ユーザーがゲームプレイ情報を記録できるようにしています。OOP PHP - 2つの小さいクラスで構成されるクラス

基本データベース単位は、プレイ日、ユーザーID、結果、およびバトルシリアル番号を保持するプレイクラスです。これらはすべて必要なデータポイントです。

ユーザーは、アフターアクションレポートを提出することもできます。 AARクラスには、AARタイトル、マークダウンのコンテンツ、HTMLのコンテンツ(ポストマークダウン)、およびそれが記述しているプレイのUIDが含まれます。

ユーザーはフォームを使用して新しい試合を送信し、別のメニューを使用して、既存の試合にAARを追加することができます。

非常に整理されています。

サイトのゲームプレイの結果を表示するときしかし、私はほとんど常に一緒にいるすべてのデータを一覧表示する必要があります...

バトル号 プレーヤー プレイ日 結果 AARタイトル AARボディ

私は非常によく組織され、非常に意味のある2つのクラスを見て、私がそれらを団結させる "欠落リンク"を視覚化するのに困っています。

まず、すべてのAARのデータベースを目的の変数(たとえば、Johnが演奏する)に従ってヒットしたaarLoaderを作成し、別の方法でリストアップできるマスター配列に貼り付けました。しかし、AAR自体には十分なデータが含まれていないため、誰が、いつ、誰を、誰が勝ったのかは分かりません。

私は、プレイとAARクラスをつなぐために、ある種の "レコード"クラスを作成する必要があるようです。論理的ですが、私がファイルを作成したときに私の心は空白になりました。

このようなクラスにはどのような特性がありますか?アレイ?しかし、配列は演劇とAARのペアを保持する必要があります...時には(いくつかの演劇は一致するAARを持っていません)。

これまでのところ、この問題を解決する方法についてOOPの専門家の助言をお願いします。

(上記のすべては、それらが作成され、個別に変更されているので、私は、同じクラスに演劇やAARSをつぶしていないで、正しいだと仮定して、AARSはオプションなので...)

+0

あなたはAARがあなたのプレイクラスの副題だと考えていますか?基本的には、プレイのオプションのプロパティ、正しいことができますか?プレイ→AAR? – Jordan

+0

可能性があります。 (私は手続き型からOOPに移行しようとしています)しかし、私はそれを分割する方が良いと思った...? – Drew

+0

1回のプレイにつき複数のAARがありますか?AARはアプリケーションの中で何かをするのですか、それとも常に遊びに結びついていますか?両方の答えが「いいえ」の場合、AARと演劇を組み合わせることもできます。 – Jordan

答えて

2

ここで私はどうなるのかです:

まず、単純に現在プレイクラスにあなたのAARのクラスを構成するものの性質を追加します。

Play 
    -> Battle Number 
    -> Player 
    -> Play Date (Barbies included?) 
    -> Result 
    -> After Action Title (nullable) 
    -> After Action Report (nullable) 

AARフィールドはちょうどNULL可能になるようにこれは、データベースのテーブルと正確に一致しますフィールドとしてのみ入力されるポストゲームを保存するたびに更新します。

この簡単なデータベースクエリ、簡単な更新、および非常に単純なデータベーススキーマの利点。

関連する問題