Ошибка вложенных классов

Я пытаюсь вложить класс внутри другого класса в PHP и отображать данные через HTML. У меня есть класс вопросов, и внутри этого класса я создаю объект User. Пользовательский объект содержит информацию для пользователя, который создал вопрос. По какой-то причине я получаю «(!) Фатальную ошибку: не могу получить доступ к частному свойству Question :: $ user» в моих выходных данных. Ничто из того, что я могу сказать, не является частным, что помешало бы мне получить данные. Вот немного кода:

class Question extends Model {
private $user;
private $content;
private $title;
private $tags;
private $date;
public function __construct($user, $content, $title, $tags, $date) {
parent::__construct();
$this -> setUser($user);
$this -> setContent($content);
$this -> setTitle($title);
$this -> setTags($tags);
$this -> setDate($date);
}

public function getUser() {
return $this -> user;
}

public function setUser($user) {
$this -> user = User::findUser($user);
return $this;
}

Тогда это мой класс User:

class User extends Model {
private $email;
private $password;
private $fname;
private $lname;

public function __construct($email, $password, $fname, $lname) {
parent::__construct();
$this -> setEmail($email);
$this -> setPassword($password);
$this -> setFname($fname);
$this -> setLname($lname);
}

Функции, которые создают вопрос и пользовательские объекты:

private static function makeQuestionFromRow($row) {
$question = new Question($row['user_id'], $row['quest_Content'], $row['quest_Title'], $row['quest_Tags'], $row['quest_DatePosted']);
$question -> id = $row['quest_ID'];
return $question;
}

private static function makeUserFromRow($row) {
$user = new User($row['user_email'], $row['user_pwd'], $row['user_fname'], $row['user_lname']);
$user -> id = $row['user_id'];
return $user;
}

И оба являются подклассами Model:

class Model {
protected $id;

public function __construct() {

}

public function getId() {
return $this -> id;
}

Я пытаюсь отобразить имя и фамилию пользователя и сделать ссылку на страницу пользователя, которая просматривает информацию о пользователе. Итак, мой код для этого:

<b>Date Posted: </b>{{date("m/d/Y", strtotime($question->getDate()))}} by <a href="@@user/view/{{$question->user->getId()}}@@"> TEST</a> <br /><br />

Код даты выходит правильно, однако идентификатор пользователя не выходит и ссылается на «тест» выше. Я не уверен, что я делаю что-то неправильно синтаксис или что. Если бы кто-то мог помочь мне, я был бы признателен.

Это домашнее задание. Не пытаясь перебить кого-либо. Еще раз спасибо.

0

Решение

Вместо звонка $question->user в вашем шаблоне нужно позвонить $question->getUser(), Узнать о видимость в PHP для дополнительной информации.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]