Derzeit ich es so mache:Lazy Loading Variablen in Vorlagen
function load_template($script, $args){
extract($args);
require __DIR__ . '/templates/' . $script;
}
In meinem Controller-Code:
// if home page was requested
load_template('home.php', array(
'title' => get_title(),
'content' => get_content(),
...
));
Die Vorlage ist nur ein PHP-Skript wie
<!DOCTYPE html>
<html>
<head>
<title> <?php echo $title; ?> </titlee>
...
Ich habe mich gefragt, ob es möglich ist, diese Variablen irgendwie zu laden, also laufe ich eigentlich nicht get_title()
oder get_content()
bis die Vorlage die Variable spezifisch anfordert.
Könnte dies möglich sein, ohne ein Template-Parser-Ding zu erstellen? Ich würde gerne mit einfachen. PHP-Skripten und HTML als Vorlagen bleiben.
Kurz gesagt, was ich frage ist, ob es möglich ist, um einen Wert auf eine einzige Variable auto-zuweisen, wenn es zuerst beantragt wird.
$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)
}