也許我只是累了,或只是簡單地感到困惑,但我有一個奇怪的問題處理一些require_once()
電話和ob_start()
。變量的可訪問與require_once/ob_start()
基本結構:
頂Main.php的:
require_once 'config.php'; // includes variable $A = "bar", and Function "foo"
function getPage(){
ob_start();
include 'some_file.php';
$html = ob_get_clean();
echo $html;
die();
}
getPage();
some_file.php
require_once 'config.php'; // includes same config file
var_dump($A); // NULL
foo(); // runs, returns correct value
的config.php
$A = 'bar';
function foo(){
return "FOO";
}
那麼,什麼是錯在這裏?我在緩衝輸出時包含一個文件。所需文件config.php
包含一個變量和函數。在緩衝區中包含some_file.php
時,變量$A
顯然不設置/可訪問。可以執行功能foo
。
向我們顯示config.php –
是否有函數涉及(在main.php或some_file.php中)您沒有向我們展示? – jcsanyi
你在哪裏使用顯然沒有設置的$ A?請向我們展示更完整的[SSCCE](http://sscce.org/)。 –