Почему метод не работает после вызова в другом методе?

Здравствуйте!
Свойство в классе Controller
public static $vars = [];
Есть в классе Controller два метода отправки во вьюху данных:
public static function set($vars)
{
    self::$vars = $vars;
}

и
public static function setMeta($description)
{
        $generator = 'Название сайта';
        self::set(compact('generator', 'description'));
}

Во вьюху передаётся вот так:
new View(Controller::$vars);
Если вызвать в каком-то другом контроллере вот так:
public static function indexAction()
{
    Controller::setMeta('Описание страницы'); // работает, во вьюхе 2 переменных: $generator и $description
    $test = 'Значение'; // для примера
    Controller::set(compact('test')); // не работает, во вьюхе нет переменной $test
}

Если методы поменять местами в вызове, то выполняется всегда один - первый сверху :)
Что я накосячил тут?
Спасибо.
  • Вопрос задан
  • 395 просмотров
Решения вопроса 1
@Artsiom_Ryzhanki Автор вопроса
РЕШЕНИЕ
class Controller
{
    public static $vars = [];
    public static $meta = [];

    public static function set($vars)
    {
        self::$vars = $vars;
    }

    public static function setMeta($description)
    {
        self::$meta['generator'] = 'Название сайта';
        self::$meta['description'] = $description;
    }
}

ПРИМЕНЕНИЕ
class MainController
{
    public static function indexAction()
    {
        Controller::setMeta('Описание страницы');
        $meta = Controller::$meta;
        $test = 'test'; // ещё какие-то данные
        Controller::set(compact('meta', 'test')); // во вьюху прилетают $meta['generator'], $meta['description'], $test
    }
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
xEpozZ
@xEpozZ
Веб-разработчик
А где вызывается самая важная часть new View(Controller::$vars);?
И какой порядок выполнения методов. От и до.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
ЧИТАЙ-ГОРОД Москва
от 140 000 до 210 000 ₽
Директ Кредит Казань
от 70 000 до 120 000 ₽
Zoon Санкт-Петербург
от 120 000 до 180 000 ₽
20 февр. 2020, в 13:23
5000 руб./за проект
20 февр. 2020, в 13:15
20000 руб./за проект
20 февр. 2020, в 13:14
15000 руб./за проект