Невозможно использовать метод load для вызова нескольких методов получения и установки классов - PullRequest
0 голосов
/ 10 февраля 2020

У меня есть три класса: Профиль, Ди sh и Шаблон. Профиль захватывает все пользовательские профили типов записей, Di sh захватывает все пользовательские тарелки типов записей, и мой класс Template используется как «посредник» для обоих шаблонов визуализации.

Template ( Класс) :

public static function load($profile, $path)
{
    ob_start();
    require $_SERVER['DOCUMENT_ROOT'] . Template::PATH_FROM_DOCUMENT_ROOT . '/' . $path . '.php';
    return ob_get_clean();
}

Оба метода вывода в каждом (Profile, Di sh) классе определены так: :

public function output()
{
    return Template::load($this, 'dish-gallery'); // dish-gallery/profile-card
}

Там два файла шаблонов: dish-gallery.php & profile-card.php - Внутри моего profile-card.php я могу вызывать геттеры и сеттеры, используя $profile->, как показано ниже: enter image description here

Когда я пытаюсь вызвать $dish-> в моем шаблоне di sh, я не могу нацелить его вообще: enter image description here

Вот ссылка на три полные классы: https://paiza.io/projects/ssyYbkspBjLgXd8RBTg9Rw - я считаю, что моя проблема связана с параметром $ profile внутри метода load, var_dump(Template::load($this, 'dish-gallery')) прекрасно возвращает оба шаблона, проблема в том, что у меня есть Я не могу позвонить своим Di sh геттерам и сеттерам.

Бывший вопрос, который помог мне проложить путь : Return метод загрузки классов с использованием OOP

...