В настоящее время я делаю это так:Ленивые переменные нагрузки в шаблонах
function load_template($script, $args){
extract($args);
require __DIR__ . '/templates/' . $script;
}
В моем коде контроллера:
// if home page was requested
load_template('home.php', array(
'title' => get_title(),
'content' => get_content(),
...
));
Шаблон просто PHP скрипт как
<!DOCTYPE html>
<html>
<head>
<title> <?php echo $title; ?> </titlee>
...
Мне было интересно, можно ли как-то лениво загрузить эти переменные, поэтому я фактически не запускаю get_title()
или get_content()
, пока шаблон не запросит переменную.
Возможно ли это, без создания парсера шаблона? Я бы очень хотел придерживаться простых скриптов .php и html в качестве шаблонов.
Короче, что я прошу, если это возможно, чтобы автоматически присвоить значение переменной только тогда, когда он первый запрошенной.
$var = func(); // this should not run
if($var){ // now the code above should run:)
echo $var; // <- the value that was just assigned (don't run func() again)
}