Задать вопрос
@RoffDaniel

Как мне передать переменную из дочернего класса в родительский?

Как передать переменную из дочернего класс в родительский? Я знаю что ее можно просто объявить как "public $var = "var";" и в родительском использовать "$this -> var". Но мне нужно, чтобы $var менялся в дочернем классе, и передавал разные значения в родительский.
Вот например мой код. Это дочерний класс news:
class news extends engine {
    public $pagename;
    public function get_content()
    {
        switch ($_GET['url']) {
            case $_GET['url']:
                $this -> pagename = 'Название страницы новости';
                break;
            default:
                $this -> pagename = 'Все новости';
        }
    }
}

Родительский класс engine:
abstract class engine {
    protected $db;

    public function __construct() {
        $this -> db = mysqli_connect(HOST, USER, PASS, DB);
        if (!$this -> db) {
            exit("Ошибка соединения с базой данных MySQL: ".mysqli_connect_error());
        }
        mysqli_query("SET NAMES 'UTF8'");


    }

    abstract function get_content();

    protected function get_header() {;
        include "engine/templates/header.php";
    }

    public function get_body() {
        $this -> get_header();
        $this -> get_content();
        $this -> get_bottom();
    }

    protected function get_bottom() {
        include "engine/templates/bottom.php";
    }
}


Мне нужно как-то передавать значение тех переменных в get_header() или куда угодно.
  • Вопрос задан
  • 1729 просмотров
Подписаться 2 Простой 2 комментария
Решения вопроса 2
@entermix
Столкнулся с такой проблемой, не знаю как передать переменную из дочернего класс в родительский.

Никак, это невозможно, к счастью.
Ответ написан
Комментировать
@hell
вам не нужно ничего передавать в родительский класс. Просто вызовите метод родительского класса из дочернего, и будет вам великая радость.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы