Как передать данные из контроллера во view?

Я не знаю, как это компактно и правильно объяснить, поэтому не смог ничего найти в гугле и вынужден спрашивать тут:D
У меня есть фронт контроллер, в котором я создаю экземпляр класса Template($tpl=new Template;), потом запускается роутер и тд и тп. И, в общем, в контроллере я вызываю через ту переменную метод в классе Template, который инклудит футер, хидер и файл с вьюшкой и мне нужно чтобы я там мог использовать данные, которые есть в контроллере(например, массив какой-нибудь, переменные...).
Вот примерный код, чтобы было лучше понятно:
index.php:
$tpl = new Template;
$router = new Router;
$router->start();


Template.php:
class Template {
	function generate($viewFile, $title, $layout=ROOT.'/view/layout') {
		require_once(ROOT.'/view/layout/header.tpl');
		require_once(ROOT.'/view/'.$viewFile.'.tpl');
		require_once(ROOT.'/view/layout/footer.tpl');

	}
}


BlablablaController.php:
class BlablablaController {
	function getBlablabla{
		$blabla = blabla1::removeBlabla;
		global $tpl;
		$tpl->generate('index/blabla','Blabla');
	}
}

view.tpl:
<? foreach($blabla as $bla):?>
<h1><?=$bla['bla'];?></h1>
<?endforeach;?>

И после этого я получаю ошибку, что в foreach пусто, а значит данные из контроллера во вьюшке нельзя использовать. Что с этим делать? Или как-то по другому реализовать класс с шаблоном?
  • Вопрос задан
  • 546 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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