Attualmente sto facendo in questo modo:variabili lazy loading in modelli
function load_template($script, $args){
extract($args);
require __DIR__ . '/templates/' . $script;
}
Nel mio codice di controllo:
// if home page was requested
load_template('home.php', array(
'title' => get_title(),
'content' => get_content(),
...
));
Il modello è solo uno script PHP come
<!DOCTYPE html>
<html>
<head>
<title> <?php echo $title; ?> </titlee>
...
Mi stavo chiedendo se è possibile caricare pigro queste variabili in qualche modo, quindi non eseguo effettivamente get_title()
o get_content()
fino a quando il modello richiede specificamente la variabile.
Potrebbe essere possibile, senza creare un modello parser cosa? Mi piacerebbe molto attaccare con semplici script .php e html come template.
In breve, quello che sto chiedendo è se è possibile auto-assegnare un valore a una variabile solo quando è richiesto prima.
$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)
}