私は以下のファイル構造を持っています。ヘッダーテンションファイルにPHPファイルを含めます
config.php
header.php
page.php
footer.php
header.php
はheader.php
を含むconfig.php
ファイルを含み、そしてpage.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のは非常に単純であり、唯一の接続文字列を持っています。 config.phpの中
define('SOME_CONSTANT', 'xxx');
try {
$db = new PDO("odbc:Driver="..);
} catch(PDOException $e){
echo $e->getMessage();
die();
}
config.phpを表示することができます – iCoders
あなたが言ったことに基づいて、関数が名前空間でない限り、それはあなたが望むように動作するはずです。 – Starx
デフォルトでは、 'page.php'に' config.php'の関数を使用できるはずです。使用しているPHPのバージョンは?また、後で問題に遭遇するので、 'include'の代わりに' include_once'を使うべきです。あなたが 'header.php'と' page.php'の両方に 'config.php'をインクルードする必要があると述べたので、それを2度インクルードします。時には問題を引き起こすこともあります。 –