也许我只是累了,或只是简单地感到困惑,但我有一个奇怪的问题处理一些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/)。 –