Name
append_by_ref
void append_by_ref(string varname,
mixed var,
bool merge);
Si usa per aggiungere valori al template per riferimento. Se aggiungete una variabile per riferimento e poi cambiate il suo valore, il template vedrà il valore modificato. Per gli oggetti, append_by_ref() evita anche la copia in memoria dell'oggetto aggiunto. Consultate il manuale di PHP sui riferimenti alle variabili per una spiegazione approfondita. Se passate il terzo parametro opzionale a true, il valore verrà fuso nell'array corrente invece che aggiunto.
Nota tecnica
Il parametro merge
rispetta le chiavi degli array,
quindi se fate un merge su due array a indici numerici rischiate che alcuni
valori vengano sovrascritti, o di avere indici in ordine non sequenziale.
Questo comportamento è diverso da quello della funzione array_merge() di PHP
che elimina le chiavi numeriche ed effettua una rinumerazione.
Example 13.2. append_by_ref
<?php // aggiunta di coppie nome/valore $smarty->append_by_ref("Name", $myname); $smarty->append_by_ref("Address", $address); ?>