Здравствуйте.
Пишу класс View для своего проекта, но почему то он не работает.
Все переменные undefined в шаблоне.
Код класса:
namespace Kernel\Foundation;
class View
{
/**
* @param string $template
* @throws \Exception
*/
private static function loadTemplate(string $template):void
{
$templateFile = TEMPLATES . DS . ltrim($template, '\/') . '.php';
if(file_exists($templateFile)) {
include $templateFile;
} else {
throw new \Exception('Template ' . $templateFile . ' was not found!');
}
}
/**
* @param string $template
* @param array $data
* @throws \Exception
*/
public static function render(string $template, array $data = [])
{
extract($data);
ob_start();
static::loadTemplate($template);
$output = ob_get_clean();
echo $output;
}
}
Код контроллера:
use Kernel\Foundation\View;
class IndexController
{
public function index()
{
$data = ['one' => 1, 'two' => 2];
View::render('index', $data);
}
}
Не понимаю что не так. должно введь вроде работать.