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

oobie11

我有看起来像这样的模型课

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

我希望能够做到这一点

$post = new Post;
$post->build(SOME_PARAMS);

print $post->title;

并打印标题。

我将如何处理?

我曾尝试$this在Model类中使用,但是在使用$this上下文时出现错误

谢谢。

巴尔玛

如果该方法需要访问通过其调用的对象,请不要将其设为静态。在普通方法中,您可以使用来访问对象$this

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章