void append_by_ref( |
varname, | |
var) ; |
string varname
;mixed var
;void append_by_ref( |
varname, | |
var, | ||
merge) ; |
string varname
;mixed var
;boolean merge
;Isso é usado para adicionar vlaores para o template por referência. Se você adicionar uma variável por referência e então alterar este valor o valor adicionado enxergará a alteração também. Para objetos, append_by_ref() também evita uma cópia em memória do objeto adicionado. Veja o manual do PHP em referenciando variáveis para uma melhor explanação sobre o assunto. Se você passar o terceiro parâmetro opcional para true, o valor irá ser mesclado com o array atual ao invés de adicioná-lo.
Notas Técnicas
O parâmetro de união respeita a chave do array, então se você mesclar dois índices númericos de arrays, eles devem sobrescrever-se um ao outro ou em resultados não sequências de chave. Isso é diferente da função de PHP array_merge() que apaga as chaves numéricas e as renumera.
Example 13.2. append_by_ref
// appending name/value pairs $smarty->append_by_ref("Name",$myname); $smarty->append_by_ref("Address",$address);