Hello,
Zum einen sind globale Funktionen und Variablen, deren Herkunft nicht direkt erkennbar ist (z.B. am Namen des includes und der Funktion/Variabel, welche einen Hinweis auf die Verwandtschaft geben sollten), meist ein Anzeichen für ein schlechtes Software-Design oder falsche Namenswahl.
Funktionen sind in PHP immer global.
Variablen werden in dem Scope angelegt, in dem sie eingeführt werden.
Wenn also ein Include in einer Funktion durchgeführt wird, stehen die Variablen nur innerhalb dieser Funktion zur Verfügung, die deklarierten Funktionen überleben allerdings die Funktion und stehen im gesamten Script zur Verfügung.
Um dies zu vermeiden, wäre dies einer der wenigen Gründe, warum ich in PHP OOP benutzen würde.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg