У меня есть три класса MainClass, Member и Project. Участник и Проект расширяют MainClass.
Сначала я создаю объект MainClass, затем объект Member и выполняю функцию setMember:
$mainclass = new MainClass();
$member = new Member($id);
$mainclass->setMember($member);
Когда переменная $ member установлена на текущий член, я хочу использовать эту переменную в своем классе Project, но не могу заставить ее работать: s
Мне нужен идентификатор участника, поэтому в теории есть две возможности:
mysql_query("INSERT INTO projects (title, user_id) VALUES('$title', ".$this->member->id.")");
или
mysql_query("INSERT INTO projects (title, user_id) VALUES('$title', ".$this->member->getId().")");
Первый, $ this-> member-> id, приводит к NULL
Второй, $ this-> member-> getId (), выдаёт мне эту ошибку:
вызов функции-члена getId () для
необъект в ....
Вот мои уроки (большую часть этого я лишил)
class MainClass{
public $member = NULL;
public function __construct(){}
public function setMember($member)
{
$this->member = $member;
}
public function getMember()
{
return $this->member;
}
}
class Project extends MainClass{
public $id;
public function __construct($id=NULL){
$this->setId($id);
}
public function setId($id){
$this->id = $id;
}
public function getId(){
return $this->id;
}
public function addProject($title){
mysql_query("INSERT INTO projects (title, user_id) VALUES('$title', ".$this->member->getId().")");
}
}
class Member extends MainClass{
public $id;
public function __construct($id=NULL){
$this->setId($id);
}
public function setId($id){
$this->id = $id;
}
public function getId(){
return $this->id;
}
}