0

私はこのようなクラスを持っています:

class myclass {

  private $a;
  private $b;

  public function dosomething($a,$b) {
    $this->a = $a;
    $this->b = $b;
  }

}

プロパティ a と b を返したいので、それらは次の方法でのみアクセスできます

myclass->dosomething->a

プロパティを public に設定すると、myclass->a からアクセスできますが、dosomething() が呼び出されるまで空になるため、呼び出す必要はありません。これを達成する方法はありますか?

4

2 に答える 2

0

関数にオブジェクトを返させるだけです。

public function dosomething($a,$b) {
    $this->a = $a;
    $this->b = $b;

    return (object)array(
        'a' => $this->a,
        'b' => $this->$b
    );
}

次に、しようとしていたようにアクセスできます。

echo $obj->dosomething(1, 2)->a;
于 2013-05-03T16:08:37.737 に答える