Name binding

In programming languages, name binding is the association of entities (data and/or code) with identifiers.

Binding is intimately connected with scoping, as scope determines which names bind to which objects – at which locations in the program code (lexically) and in which one of the possible execution paths (temporally).

Since the specific type of a polymorphic object is not known before runtime (in general), the executed function is dynamically bound.

If the semantics of self::$word had been based on late static binding, then the result would have been "bye".

Beginning with PHP version 5.3, late static binding is supported.