2011-01-02 15 views
0

Ich wollte wissen, wie Dateien in PHP enthalten sind.PHP einschließlich Dateien

Was ich damit meine, ist, wie die Variablen aus den enthaltenen Dateien importiert werden und wie die enthaltene Datei die Variablen aus der Hauptdatei verwenden kann.

Ich erstellte ein Templating-System und das Problem war, dass ich eine Indexdatei hatte, die die anderen Dateien wie config.php usw. enthielt. Aber dann enthielt die index.php je nach der angeforderten Seite auch die Vorlagendateien. Aber aus irgendeinem irgendeinem Grund war ich nicht der Lage, die Variablen aus der Config-Datei zu verwenden, aus der template.php Datei

+1

es ist Variable Umfang Problem, nicht enthalten. Wenn Sie auf globale Variablen zugreifen möchten, geben Sie nicht innerhalb der Funktion ein. –

+0

Eine gute Idee ist, sich das enthaltene Skript vorzustellen, das die Anweisung 'include()' ersetzt. Dann wird ersichtlich, wie der variable Bereich fehlgeschlagen ist. – mario

+0

Ich glaube es ist auch eine Frage des Timings. Wenn Sie versuchen, eine Variable zu verwenden, bevor die Datei enthalten ist, erhalten Sie eine Fehlermeldung. – Anthony

Antwort

1

unten ist vars.php

<?php 

$color = 'green'; 
$fruit = 'apple'; 

?> 

unten ist test.php

<?php 

echo "A $color $fruit"; // A 

include 'vars.php'; 

echo "A $color $fruit"; // A green apple 

?> 

einfach eine aus http://php.net/manual/en/function.include.php

deklarieren global variables

<?php 
$a = 1; 
$b = 2; 

function Sum() 
{ 
    global $a, $b; 

    $b = $a + $b; 
} 

Sum(); 
echo $b; 
?> 

werfen Sie einen Blick auf diese http://php.net/manual/en/language.variables.scope.php

+0

Danke ................ –

1

Variable Umfang vererbt wird.

Sie können sogar einen Wert aus einer include d Datei zurückgeben! Ansonsten können Sie die Funktion meist als einfache, textbasierte (lexikalische) Einfügung betrachten.

Weitere Informationen finden Sie unter http://php.net/manual/en/function.include.php.

+0

Die Dokumentation sagt explizit: "Wenn eine Datei ist Der enthaltene Code erbt den Variablenbereich der Zeile, in der das Include vorkommt Alle Variablen, die in dieser Zeile in der aufrufenden Datei verfügbar sind, stehen ab diesem Zeitpunkt in der aufgerufenen Datei zur Verfügung, alle Funktionen und Klassen sind jedoch definiert Die enthaltene Datei hat den globalen Umfang. " –

Verwandte Themen