Hello,
ich habe eine winzige function, die mir einzelne Blöcke auf meiner Website einfügt und auch phps included. Die includeten phps sollen Zugriff auf alle gesetzen variablen der Site haben. Dadurch, dass sie aber durch eine function aufgerufen werden, ist das momentan nicht so.
Kann ich in der function irgendwie ALLE Variablen integrieren?
Also sowas wie global $GLOBALS; (geht nicht) oder global all; (geht nicht).
Trenne das Includen von Code und dessen Ausführung so gut es geht voneinander. Ein eingebundenes Modul sollte also am besten überhaupt keinen Code ausführen. Das sollte erst dann geschehen, wenn eine Klasse daraus instatiiert wird oder eine Funktion daraus benutzt wird.
Diese Forserung lässt sich nicht immer realisieren, manchmal _kann_ es sinnvoll sein, dass durch die Einbundung alleine bereits Code ausgeführt wird. Aber diese Fälle sollten immer Sonderfälle bleiben.
Wenn Du das Ganze nun so aufbaust, dass eben erst eine Instanz aufgebaut werden muss, dann kannst Du der auch eine Referenz auf einen globalen Wertecontainer des Haupt-Scriptes übergeben. Dann können die Funktionen oder Methoden alle darin enthaltenen Elemente erreichen.
Alternativ arbeitest Du gleich sauber mit Vererbung, was aber die Planung aufwändiger macht.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg