Jonny 5: Superglobale modifizieren

Hallo!

Spricht eigentlich außer unsauberem Arbeiten usw etwas dagegen, Werte von Superglobalen zu modifizieren?

Beispielsweise hätte ich einen Link, der so aussieht:
www.foo.test/?action=sort&dir=asc&query=hinz

Möchte ich einen schöneren Link, ohne viel am Script anzupassen:
www.foo.test/?person=hinz

Und würde dann $_GET anpassen:

if(!empty($_GET['person']))
{
  $_GET['query'] = $_GET['person'];
  $_GET['action'] = "sort";
  $_GET['dir'] = "asc";
}

Das funktioniert auch wunderbar, nur fragt man sich, ob das in künftig seitens php auch keine Probleme geben wird.

Viele Grüße,
Jonny 5

  1. Hi!

    Spricht eigentlich außer unsauberem Arbeiten usw etwas dagegen, Werte von Superglobalen zu modifizieren?

    Was soll daran unsauber sein, Eingangsdaten zu korrigieren? Die Frage ist eher, warum du mit $_GET direkt arbeitest? Für übersichtliche Scripts ist das völlig in Ordnung. Wenn man hingegen nach allen Regeln der Kapslung und Unabhängigkeit arbeitet, gestaltet man seine Fuktionen/Methoden in einer Weise, dass sie ihre Daten übergeben bekommen, so dass man ihnen sonstwas geben kann und sie nicht auf eine fest definierte globale Datenstruktur angewiesen sind.

    Das funktioniert auch wunderbar, nur fragt man sich, ob das in künftig seitens php auch keine Probleme geben wird.

    Vorhersagen sind immer schwierig, besonders wenn sie die Zukunft betreffen. Wenn es eine solche gravierende Änderung geben sollte, würde sie lange genug vorher angekündigt werden - so war es zumindest bisher.

    Lo!

    1. Hi Dedlfix,

      gravierende Änderung geben sollte, würde sie lange genug vorher angekündigt werden...

      Danke für die rasche Antwort! Hatte auf der Suche im Internet nicht allzuviel dazu gefunden, außer, daß entsprechende Variablen nicht readonly sind.