0

オブジェクトの取得に対処するためのより良い方法は何だろうと思っています。

1)

class UserInfo{
  private $UserName;
  private $UserID;
  }

function GetUserInfo($UserID){
  $User = new User();
  // something
  $User->UserName = "Arnold";
  return $User;
  }

2)

class UserInfo{
  private $UserName;
  private $UserID;

  public function GetUserInfo($UserID){
    // something
    $this->UserName = "Arnold";
    }
  }

2番目のものを使用する際に大きな問題はありますか?

これは非常に単純化された例であることに注意してください:-)

編集:それは本当に私の質問ではありません。どちらもMagicセッター/ゲッターを使用していません(これは悪い私見です)。ただし、オブジェクトゲッターをクラスの外側/内側に配置することに欠点があるかどうか疑問に思っていました。したがって、私はそれを $User = GetUserInfo(1) または $User = new User(); と呼んでいます。$User->GetUserInfo(1)

4

2 に答える 2

0

視認性

プロパティまたはメソッドの可視性は、宣言の前にキーワード public、protected、または private を付けることで定義できます。public と宣言されたクラス メンバーは、どこからでもアクセスできます。保護されていると宣言されたメンバーは、クラス自体内で、継承されたクラスおよび親クラスによってのみアクセスできます。private として宣言されたメンバーには、そのメンバーを定義するクラスのみがアクセスできます。

プロパティの可視性

クラス プロパティは、パブリック、プライベート、または保護として定義する必要があります。var を使用して宣言した場合、プロパティは public として定義されます。

より詳しい情報

于 2013-09-21T09:17:38.307 に答える