interpreter bedeutet nicht automatisch php. interpreter gibt es jede menge.
signaturen sind üblicherweise statisch deklariert und werden zur compilezeit zugeordnet.
interpreter compilieren zwar auch (intime), aber nicht zwingend.
das problem ist vielmehr die nicht zwingende datendeklaration.
trotzdem hat jede variable einen datentyp. dieser ergibt sich aus der zuweisung. der datentyp einer variablen kann mit utils ermittelt werden. daher sollte auch ein interpreter dies können. in php gibts da get_type oder so ähnlich.
auch parameteranzahl gehören zur signatur. sonst würde sich diese ja nicht unterscheiden. dies ist ebenfalls eine statisch deklarierte angelegenheit.
wenn der php interpreter die möglichkeit bietet, auf die deklaration der anzahl parameter zu verzichten, bedeutet dies nicht, das ein interpreter nicht in der lage wäre, unterschiedliche parameteranzahl als signaturen zu unterstützen.
wenn also in php auf die formelle angabe der anzahl parameter verzichtet wird, muß und kann diese während der laufzeit von der methode selbst ermittelt werden. daher muß und kann nur die methode selbst unterscheiden, welche signatur aktuell gemeint ist, und mit einem switch-case gebilde selbst umgesetzt werden. so mache ich das auch.