2017-10-05 95 views
0

我有以下文件结构。在头文件tempate文件中包含php文件

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

header.php包括config.php文件和与page.php包括header.php

的header.php

include ('config.php'); 

page.php文件:

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

现在在这个page.php如果我想访问config.php中的任何函数,它会给出错误,因为它无法访问config.php文件中的函数。

它的工作原理,如果我有config.php文件中page.php也。但是,通过这种方式,我必须在每个页面中包含该文件。

反正有没有包括在header.php文件文件,这样就不必在每个页面中包括什么?

编辑: 的config.php非常简单,只有连接字符串。以下是内容:

define('SOME_CONSTANT', 'xxx'); 

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

可以显示的config.php – iCoders

+0

根据你所说的,它应该工作您想要的方式,除非将函数命名空间。 – Starx

+0

默认情况下,您应该可以使用'page.php'中'config.php'的函数,您使用的是哪个版本的PHP?另外作为一个附注,你应该使用'include_once'而不是'include',因为以后你会遇到问题。既然你提到你必须在'header.php'和'page.php'中包含'config.php'才能工作,你可以包含它两次。有时这可能会导致问题。 –

回答

0

你在config.php功能必须是公共

例: 的config.php

公共职能FUNC_NAME(){

// code 

}

+0

这就是假设config.php有一个类。 – mega6382

+0

config.php文件只有db连接字符串。我编辑了这个问题。 – sam