-1

我有一个问题,我有一个类通过对象调用另一个类及其方法。我正在创建和复制相同的代码以在每个方法中创建对象。有没有办法在一个地方创建对象并让所有类方法都使用同一个实例?

4

1 回答 1

0

您可以创建一个创建新 Class 实例的方法,例如:如果您不需要新实例但想通过运行时使用相同的实例,您还可以将创建的实例保存在属性中。

class A
{
  protected function getB()
  {
    return new B();
  }


  public function method1()
  {
     $this->getB()->doSomething();
  }

  public function method2()
  { 
    $b = $this->getB();
    $b->doSomething();
  }
}


class B
{
  public function doSomething()
  {
    return 'something';
  }
}
于 2013-06-18T14:57:14.127 回答