A _variable_ is a syntactical "object".
Thus, from a syntactical point of view we replace a variable occurring into a formula (an _expression_ of the Language) with another term of the language.
Terms of the language are "names" that - when interpreted - will denote objects of the "universe" of the interpretation (its _domain_ ).
Thus, we may say :
> When we assign to the variable $x$ the value $t$ as its reference (denotation), the function referenced (denoted) by $f$ will have $f(t)$ as value.
* * *
In a nutshell, the two "views" : the syntactical and the semantical, are linked by the relation of _reference_ : assigning to a term of the language and object of the "world" as its "meaning".
The relation of reference between name and object is not the same with the operation (internal to the language) of _substitution_ of a term with another one.