2017-10-05 2 views
0

Ich habe folgende Dateien Struktur.Include PHP-Datei in Header tempate Datei

config.php 
header.php 
page.php 
footer.php 

Die header.php umfasst die config.php Datei und und page.php umfasst header.php:

header.php

include ('config.php'); 

page.php:

include ('header.php'); 
include ('footer.php'); 

Jetzt auf diese page.php wenn ich auf eine Funktion zugreifen möchte, die in config.php ist, gibt es Fehler, da es nicht auf die Funktionen in config.php Datei zugreifen kann.

Es funktioniert, wenn ich config.php Datei im page.php auch einschließen. Auf diese Weise muss ich diese Datei in jede Seite einfügen.

Gibt es trotzdem diese Datei in die header.php Datei aufzunehmen, so dass ich nicht auf jeder Seite aufnehmen muss?

Edit: config.php ist sehr einfach und hat nur Verbindungszeichenfolge. Hier ist der Inhalt:

define('SOME_CONSTANT', 'xxx'); 

try { 
    $db = new PDO("odbc:Driver="..);   
} catch(PDOException $e){ 
    echo $e->getMessage(); 
    die(); 
} 
+0

können Sie config.php zeigen – iCoders

+0

Basierend auf dem, was Sie gesagt haben, sollte es funktionieren wie Sie wollen, es sei denn, die Funktion ist Namespace. – Starx

+0

Standardmäßig sollten Sie Funktionen aus 'config.php' in' page.php' verwenden können, welche Version von PHP benutzen Sie? Auch als Randnotiz sollten Sie 'include_once' statt' include' verwenden, da Sie später Probleme haben werden. Da Sie erwähnt haben, dass Sie "config.php" sowohl in "header.php" als auch in "page.php" einfügen müssen, um es zu verwenden, fügen Sie es zweimal ein. Und manchmal kann dies Probleme verursachen. –

Antwort

0

Ihre Funktionen in config.php muss

Bsp .: config.php

public function func_name() public sein {

// code 

}

+0

Das setzt voraus, dass config.php eine Klasse hat. – mega6382

+0

config.php Datei hat nur db Verbindungszeichenfolge. Ich habe die Frage bearbeitet. – sam