0

いくつかの異なるタイプの投稿で 1 つの php オブジェクトを使用しようとしています。各タイプの投稿には、他の投稿にはない追加のデータ メンバーがいくつかあります。オブジェクトには、チェックする他のクラスからのサービスが必要if( $something instanceof $object )です。そのため、 extends を使用するとうまくいかない可能性があり、すべてに対して1つのクラスを使用しようとしています。オブジェクト クラスでは、考えられるすべてのデータ メンバーをデフォルトとしてリストし、未使用のものを null に設定するか、未使用のものを無視する必要がありますか?

例えば

class OBJ{

  // common members that share among all posts:
    public $id;
    public $url;
    public $embed_service

  //post has grade
    public $link_grade;

  //posts has license
    public $license;

  //posts has corresponding topics  
    public $comment_topic_id;

//different types of data comes from different actions, saved in one table.
} 
4

1 に答える 1

0

あなたがすべきことは、継承を使用して、共通のオブジェクトから異なるタイプの投稿を派生させることです:

class Post
{
  protected $Content = 'enter content';
}

class Blog extends Post
{
  protected $Categorie;
}

class Comment extends Post
{
  protected email;
}

この結果は次のとおりです。

  • すべてのクラスにContentプロパティがあります
  • blog クラスには追加のCategoryプロパティがあります
  • コメント クラスには追加のemail プロパティがあります
于 2012-10-06T11:32:10.890 に答える