课堂重复的代码

时间:2013-06-18 14:43:33

标签: php laravel laravel-4

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

1 个答案:

答案 0 :(得分:0)

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

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';
  }
}