Я хотел бы хранить данные, например. имя пользователя и фамилию, чтобы отображать их во многих макетах. Я хочу установить некоторую переменную в одном контроллере и использовать ее в макете.Глобальное хранилище данных в Zend Framework 2
Любые решения?
Я создал несколько подобных макетов, где я положил:
<span id="STATUS">LOGGED: <span id="USERNAME"><?php echo $this->name. ' ' . $this->surname; ?></span>
Но, во-первых, в некоторых действий контроллера я получаю имя и фамилию из базы данных:
$db = $this->getServiceLocator()->get('MyDatabase'); $sql = 'SELECT * FROM Users'; $statement = $db->query($sql);/ $result = $statement->execute();
Тогда я установил статические переменные в контроллере:
self::$name = $result['name']; self::$surname = $result['surname'];
Далее в действиях я изменить расположение и передать переменные к нему:
$this->layout('layout/student'); $this->layout()->name = self::$name; $this->layout()->surname = self::$surname;
Но я не хочу получать данные из базы данных в каждом контроллерах и передавать переменные в каждом из действий.
вы можете дать более подробную информацию? Когда вы говорите «Макеты», вы говорите о макете по умолчанию или макете действий? – dixromos98
Я создал новый макет для некоторого действия, и я изменяю макет в некоторых действиях в разных контроллерах по макету '$ this-> ('layout/mylayout);' –
Хорошо. Пожалуйста, добавьте код и детали того, что вы хотели бы достичь, чтобы я мог попробовать и помочь вам. – dixromos98