dedlfix: Vorgabewert für Funktionsparamter

Beitrag lesen

Die Idee war, den Separator-Parameter auch während der Laufzeit ändern zu können, was ja mit einer Konstanten nicht ginge

function make_view($filename, $target, $page=1, $sep=$_gb['data']['sep'])
{
  ...
}

Nun darf man aber für Vorgabewerte keine Referenzen benutzen.

Das hat ja nichts mit dürfen sondern schlicht mit "geht nicht" zu tun. Die Variable $_gb ist innerhalb der Funktion ja nicht bekannt, solange kein global sie dort bekannt gibt.

Wie löse ich das Problem denn nun am besten auf?

Setze als Vorgabewert für $sep beispielsweise null. Teste darauf und weise ihr dann einen global eingestellten Wert zu.

Das ist zwar alles andere als hübsch, aber wenn du den Wert partout nicht jedesmal beim Funktionsaufruf übergeben willst, ...

Eine andere Möglichkeit wäre noch, den Wert von $sep, wenn er nicht null ist, in einer statischen Variablen festzuhalten.