Ich arbeite gerade an einer Funktion für CMSms.
Sie soll mir alle User mit bestimmten Eigenschaften geben.
Das klappt soweit ganz gut.
Nur jetzt ist mir gerade etwas aufgefallen was ich mir nicht erklären kann.
Die Funktion sieht in etwa so aus:
[php]
function GetUsersFull ($uid='', $propame='', $another_var='' ) {
...
if($another_var != '') {
tue irgendwas spektakuläres
}
...
}
[/php]
Aufgerufen wir die Funktion z.B. folgendermaßen:
[php]
$data = $this->GetUsersFull( 10, 'profilbild' ); // GetUsersFull( 10, 'profilbild', '' ); // GetUsersFull();
[/php]
und mir dann in der Funktion die übergebenen Argumente mit func_get_args() ausgeben lasse erhalte ich ein leeres array, dessen 8. Element den Wert 1 hat:
[php]
function GetUsersFull(...) {
$args = func_get_args();
print_r($args);
}
[/php]
ergibt
Code: Select all
Array (
[0] =>
[1] =>
[2] =>
[3] =>
[4] =>
[5] =>
[6] =>
[7] => 1 )
Kann sich das jemand erklären?
GELÖST:
Zu doof, wenn man keine Ahnung von OOP hat und durch seine eigenen verschachtelten Klassen nicht mehr durchblickt
Die Funktion GetUsersFull() macht im aktuellen Kontext nichts weiter als eine Instanz eines Moduls zu erzeugen und dann über diese Instanz auf die Modulfunktion zuzugreifen. Dummerweise hatte ich da noch einen Wert für das achte Element vorgegeben.
Bringt also nichts, wenn ich in der Modulfunktion rumwurschtele, wenn der Fehler in der anderen Klasse liegt... ::)