如何从父类的方法中获取对象的调用实例?

时间:2016-08-27 00:48:45

标签: php

我的模型类看起来像这样

ServerAliveCountMax

My Modal类得到扩展

class Model {
  public static function build(params=array()) {
    $obj = WHAT DO I PUT HERE?

    foreach($params as $key => $value) {
      $obj->{$key} = $value;
    }
    ...
  }
}

我希望能够做到这一点

class Post extends Model {
  public $id;
  public $title;
}

并打印标题。

我该怎么做?

我尝试在Model类中使用$post = new Post; $post->build(SOME_PARAMS); print $post->title; ,但是在使用$this脱离上下文时遇到错误。

感谢。

1 个答案:

答案 0 :(得分:1)

如果需要访问调用的对象,请不要使该方法保持静态。在普通方法中,您可以使用$this访问该对象。

class Model {
  public function build(params=array()) {

    foreach($params as $key => $value) {
      $this->{$key} = $value;
    }
    ...
  }
}