echo $begrüßung;
Fakultativ: Ein solches Objekt existiert nicht. Es gibt jedoch eine Superglobale $_GET, welche ein Array ist.
richtig. nun erzähl mir aber bitte das ein array kein objekt ist!?
Ein PHP-Array ist definitiv kein Objekt im vom PHP verstandenen OOP-Sinn.
Und welchen Zweck hätte diese überflüssige Verdoppelung der Daten? Man kann direkt auf $_GET['ID'] zugreifen und damit arbeiten. Einer extra Variable bedarf es hierbei nicht.
was spricht dagegen den wert in einer variable zu sichern?
Es ist keine Sicherung. Das ist nur eine Kopie eines nur für das aktuelle Script vorhandenen Array-Eintrags in eine nur für das aktuelle Script vorhandene Variable.
vielleicht rufe ich das skript im nächsten moment per ajax zum beispiel erneut auf und übergeben einen ganz anderen wert per get.
Das macht überhaupt nichts, weil jeder Script-Aufruf seine eigenen $_GET/$_POST-Arrays usw. bekommt. (Ausnahmen gibt es bei $_SESSION, wenn die Session-ID die gleiche ist.)
vielleicht möchte ich aber auch weiter operationen mit dem wert durchführen,
Das wäre ein Argument. Man kann aber auch die Inhalte von $_GET und Konsorten verändern. In sehr einfachen Anwendungen (ungefähr: nicht länger als eine Bildschirmseite) spricht aber auch nichts dagegen, den Wert direkt im $_GET-Array zu verändern.
und vielleicht ist es auch nur übersichtlicher und einfacher zu warten als direkt auf das array zuzugreifen?
Nein, das finde ich nicht. Ich finde, hier geht Übersichtlichkeit verloren. Wenn ich einen Zugriff auf $_GET sehe, weiß ich, dass darin Eingaben vom Benutzer stecken, die ungeprüft sind und damit möglicherweise Daten enthalten können, die ich keinesfalls in meiner Datenbank stehen haben möchte oder so ohne weiteres ausgeben möchte. Bei einer einfachen Variablen ist nicht auf den ersten Blick ihre Herkunft zu erkennen.
Das Umkopieren ist einerseits nur angebliche Tippfaulheit - man opfert den Überblick der Werte-Herkunft und damit möglicherweise auch die Sicherheit der eigenen Anwendung ein paar unbedeutenden Tastendrücken.
Diese Umkopierunsitte scheint mir historische Ursachen gepaart mit Unwissen zu haben. In den PHP-Anfängen (Version 3 - Versionen davor sind praktisch unbedeutend) wurden alle EGPCS-Werte automatisch von PHP in "einfache" Variablen kopiert. Dies wurde aus gutem Grund im Laufe von PHP 4 per Default-Konfiguration geändert. Und ab PHP 6 wird es dieses Feature namens register_globals nicht mehr geben. Das automatische Anlegen hatte zur Folge, dass PHP-Scripte so geschrieben wurden, dass darin auf diese automatisch kopierten Werte direkt zugegriffen wird. Anstatt sein Script von Grund auf den aktuellen Gegebenheiten anzupassen - was ja Arbeit verursachen würde, deren Zeit man aus dem Freizeit-Kontingent abzweigen müsste - Zeit, die man viel sinnvoller in das Bereinigen seines Datenbestandes von Spam- und anderen Angriffen, die aufgrund der eigenen Programmierung erfolgreich waren, stecken könnte ... - kopiert man sich einfach die Werte in Variablen mit einfachen Namen und begründet das mit "Übersichtlichkeit".
also man sollte schon überlegen bevor man sich aufbläst und zum php-guru aufschwingt vor einem nicht so versierten user, in welchem maße ich ihm helfen kann und was ich lieber bleiben lassen sollte.
Finde ich auch.
echo "$verabschiedung $name";