Als beliebtestes Beispiel dient hier der Aufbau der Funktion
Code: Alles auswählen
function submit_post(...)
{
...
}
Code: Alles auswählen
submit_post(...);
Da diese Funktion bereits recht umfangreich ist, wollen wir uns nachfolgend auf ein sehr einfaches Beispiel mit nur 2 Werten beschränken.
Hier für unser Beispiel eine Funktionsdefinition:
Code: Alles auswählen
function beispiel($wert1, $wert2)
{
...
}
Code: Alles auswählen
beispiel($wert1, $wert2);
Das heisst:
Die Werte beim Aufruf (genauer: die Variablennamen) sind unabhängig von denen in der Funktion selber!
Es kann also $wert1, $wert2 beim Aufruf stehen, aber in der Funktion heissen diese plötzlich $value1, $value2.
Das ist zulässig!!!
Da nun phpBB ein offenes System ist, hat man sich jedoch darauf verständigt, die Variablennamen beim Aufruf und in der Definition gleichlautend zu erstellen. Somit ist es im Nachgang einfacher, diese eindeutig zuzuordnen. Auch und gerade, wenn man selber MODs installiert.
Weil aber nun die Variablen unterschiedlich heissen können, ist es genau aus diesem Grund wichtig, daß alle Werte immer exakt in der gleichen Reihenfolge aufgeführt werden, damit diese auch wirklich dort ankommen, wo sie hin sollen. Dabei ist es, wie bereits erwähnt, unerheblich, in welcher Variable diese Werte gespeichert sind! Es kommt hierbei wirklich nur darauf an, daß die Werte, die an die Funktion übergeben werden, auch wirklich in diese Variablen übergeben werden, aus denen die Funktion die Werte verwendet.
In unserem obigen Beispiel würde demnach $wert2 in der Funktion den Wert der Variablen $wert1 erhalten, wenn die Funktion so aufgerufen würde:
Code: Alles auswählen
beispiel($wert2, $wert1);
Code: Alles auswählen
function beispiel($wert1, $wert2)
Die Folge sind Datensalat bis hin zu fehlerhaften Ausführungen oder gar einem Stillstand des Scripts und damit des Forums.
Also:
Immer etwas mehr Zeit nehmen, wenn man solch umfangreiche Funktionen und deren Aufrufe erweitert oder anpasst. Lieber zweimal hinschauen, also hinterher die schönsten und zunächst unerklärlichen Fehler zu erhalten.