Я не знаю, как это компактно и правильно объяснить, поэтому не смог ничего найти в гугле и вынужден спрашивать тут: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 пусто, а значит данные из контроллера во вьюшке нельзя использовать. Что с этим делать? Или как-то по другому реализовать класс с шаблоном?