こんにちは、変数が設定されていないという問題があります。RELATIVE パスを使用している場合は正常に動作しますが、絶対パスを使用している場合、php は設定されていないと言います。
<?php
define('DS', DIRECTORY_SEPARATOR);
define('SITE_ROOT', 'G:' . DS . 'htdocs' . DS . 'www');
define('LAYOUT_PATH', SITE_ROOT . DS . 'layout');
require('function.php');
$user = new User();
$user->set_username('johndoe');
require_layout_template('header.php');
?>
私の中でheader.php
:
<?php
//if ( isset($user) ) {
echo $user->get_username();
//}
?>
上記の結果は次のエラーです。
Notice: Undefined variable: user in G:\htdocs\www\layout\header.php
ただし、相対パスを使用すると、すべて問題ありません。
Windows 環境の localhost で実行しており、PHP バージョン 5.3.5 で実行しています。
アップデート:
を入れなかったのは私のせいですrequire_layout_template
。この関数はfunction.php
、require に必要な詳細を処理するために含まれています。
<?php
//function.php
function require_layout_template($template) {
global $user; // added this to solve the problem.
require(LAYOUT_PATH . DS . $template);
}
?>
variable に必要なグローバル変数を追加しました$user
。
アイデアをくれた@strkolに感謝します。