PHP:对象扩展了一个对象,构造函数如何工作?

时间:2013-01-17 17:49:55

标签: php inheritance constructor

我有一个用户类。然后我在Profile中添加一些额外的信息来扩展User。

我的Profile的构造函数如下所示:

function __construct($user_id) {
  // This function sets all of User's attributes
  $this->set_user_data($user_id); 

  // This function sets the extra attribute for Profile.
  $this->set_follow_status(); 
}

第二个函数使用$this->user_id,即第一个函数中设置的属性。我从第二个函数中得到了这个错误:Fatal error: Using $this when not in object context

我忘了在PHP中扩展对象吗?

1 个答案:

答案 0 :(得分:3)

set_follow_status方法是否声明为静态?静态方法在类的范围内执行,而不是在对象的范围内执行,因此无法访问任何特定实例($this未在方法内部设置。)