robertroth: Nebensache: globale Variable benutzen

Beitrag lesen

Liebe Mitdenker, liebe Wissende, liebe Neugierige,

function test456($mysqli, $lo) {

Noch ein Tipp "neben" dem angefragten Problem. Es ist durchaus nicht völlig illegal sondern in der Mehrzahl der Fälle auch zur Sicherheit und vor allem der Bequemlichkeit des Programmierers angebracht, derart häufig wiederverwendete Objekte (oder Daten), hier $mysqli, in eine globale Variable (hier optimal $GLOBALS['mysqli']) zu speichern, statt diese in den Funktionsaufrufen mitzuschleppen.

Wenn schon "global", dann bitte eine Funktion, die das Handle liefert. Die kann dann auch berücksichtigen, mehrere Kanäle zu bedienen und|oder als Singleton zu arbeiten, usw.

    function test456(get_db_con(), $lo) 
    {
        ### ...
    }

Und get_db_con($channel = 1, $duplicate = false) kann dann auch vorbelegte Funktionsargumente haben, die beim Aufruf nur angegeben werden müssen, wenn man die Abweichung vom Normalfall haben will.

Der Vorteil:

  • Die Funktion ist globalen Scope von PHP überall verfügbar
  • Die Variable ist geschützt gegen versehentliche Veränderung

Und objektorientiert ist noch viel mehr möglich, obwohl ich da der Klarheit halber keine geschützte Eigenschaft nehmen würde, sondern eine Methode.

Spirituelle Grüße
Euer Robert
robert.r@online.de

--
Möge der wahre Forumsgeist ewig leben!