MarcusS
Grünschnabel
Tag,
ich stehe grade ein bisschen auf dem Schlauch, ich hoffe, ihr habt eine Antwort auf meine Frage
Ich habe zwei Methoden, nenen wir sie a() und b(). Während in a() die gesamte Nutzlast steckt, und diese Methode einen String zurückgibt, soll b() die Methode a() aufrufen und den Rückgabestring direkt per Echo ausgeben [für faule Programmierer eben].
Da die Anzahl der Paramter der Methode a() variabel ist, kann ich leider nicht schreiben
echo a($par1, $par2, $par3);
Ich hatte nun gehofft, das ganze mit einem Aufruf ähnlich wie diesem zu erledigen:
echo a(func_get_args());
Leider liefert func_get_args() nur ein Array zurück, ein Array wird nicht erwartet. Es muss doch aber eine Möglichkeit geben, eine unbekannte Anzahl an Parametern von einer Methode an die nächste weiterzugeben? Vor allen Dingen möchte ich nicht an a() herumdoktern, da diese Methode zu oft verwendet wird, um einfach mal eben nebenbei auf alle möglichen Nebeneffekte zu prüfen...
Ein wenig Pseudo-Code:
TIA
Marcus
ich stehe grade ein bisschen auf dem Schlauch, ich hoffe, ihr habt eine Antwort auf meine Frage
Ich habe zwei Methoden, nenen wir sie a() und b(). Während in a() die gesamte Nutzlast steckt, und diese Methode einen String zurückgibt, soll b() die Methode a() aufrufen und den Rückgabestring direkt per Echo ausgeben [für faule Programmierer eben].
Da die Anzahl der Paramter der Methode a() variabel ist, kann ich leider nicht schreiben
echo a($par1, $par2, $par3);
Ich hatte nun gehofft, das ganze mit einem Aufruf ähnlich wie diesem zu erledigen:
echo a(func_get_args());
Leider liefert func_get_args() nur ein Array zurück, ein Array wird nicht erwartet. Es muss doch aber eine Möglichkeit geben, eine unbekannte Anzahl an Parametern von einer Methode an die nächste weiterzugeben? Vor allen Dingen möchte ich nicht an a() herumdoktern, da diese Methode zu oft verwendet wird, um einfach mal eben nebenbei auf alle möglichen Nebeneffekte zu prüfen...
Ein wenig Pseudo-Code:
PHP:
class A {
public function a() {
if (func_num_args() == 0) return "Entwickler hat was vergessen";
if (func_num_args() == 1) return gettext(func_get_arg(0));
return macheWasGanzTollesMitVielMehrParamtern();
}
public function b() {
echo a(func_get_args()); // das hier geht eben leider nicht
}
}
TIA
Marcus