PHP - include() in funktion aufrufen?



  • Hi Leute,

    ich programmiere PHP Objekt orientiert. Ich hab ein file, welches ich mitels der Direktive include() mit in das Script einbinden möchte. Welches Script das ist, das steht erst zur Laufzeit fest. Der name soll als Parameter einer memberfunktion einer Klasse übergeben werden.
    Nun meine Frage:
    Wenn ich die Include Anweisung innerhalb einer Funktion aufrufe, steht dieses "Einbinden" dann für das ganze Script fest, oder nur bis die Funktion abgearbeitet ist?

    für Eure Antwort wäre ich Euch sehr dankbar 🙂

    gruss 🙂



  • Schau mal im Manual nach, da findet man meistens Antworten auf solche Fragen: http://www.php.net/include/



  • Aziz schrieb:

    Schau mal im Manual nach, da findet man meistens Antworten auf solche Fragen: http://www.php.net/include/

    Vielen Dank für Deine Antwort 🙂

    Wenn eine Datei eingebunden wird, erbt der enthaltene Code den Geltungsbereich von Variablen der Zeile in der die Anweisung steht. Ab dieser Zeile stehen alle verfügbaren Variablen in der aufgerufenen Datei im aufrufenden Skript zur Verfügung.

    Naja da der Dateiname einer (member-)Funktion als Parameter übergeben wird, wird die include-Aweisung auch dort in dieser Datei ausgeführt. Demnach gilt die include anweisung nur local. Gibt es dennoch eine möglichkeit den Dateinamen an eine (irgendeine) selbstdefinierte Funktion zu übergeben, welche dann die include() Anweisung so Ausführt, dass dies alles dann global wirkt?

    Für Eure Antwort wäre ich sehr dankbar 🙂

    mfg



  • Hm, irgendwie verstehe ich nicht ganz so genau, was du machen willst 🙄
    Was soll alles global sein 😕



  • naja hier noch mal:
    1.)ich will einen Dateinamen (als einen Parameter) einer Funktion übergeben.
    2.)Diese Funktion bindet dann die Datei mittels include() ein.

    Nun ist der gesamte Inhalt dieser Datei in das ausführende Script eingebunden. Da die include-Anweisung jedoch in der Funktion aufgerufen wurde, gilt das was in der Datei stand (Klassen, variablen, funktionen) nur local in eben dieser funktion.

    Nun das ist nicht das was ich will. Es sollen die Schritte 1-2 gegangen werden, aber der Inhalt der eingebundenen Datei, soll auch ausserhalb der Funktion gelten, welche die include() anweisung ausführt.

    mfg


Anmelden zum Antworten