ob_start()没有看到过去的变量

时间:2018-01-08 18:55:45

标签: php variables include buffer

我有问题。那就是代码:

$config = [
    'db' => '...',
    'root' => '...',
    ...
]

ob_start();
foreach ($files as $file) {
    include $file;
}
$output = ob_get_contents();
ob_end_clean();

我使用输出缓冲并在结尾显示结果。问题是包含的文件没有看到$ config。

如何在我的OUTPUT BUFFERING之前查看内容,而不在缓冲区中添加$ config?

有什么想法吗? (感谢)

1 个答案:

答案 0 :(得分:2)

您似乎错误地认为错误的因果关系。您可以通过将$config放入缓冲区进行验证,它已经存在。

因为您没有共享所包含文件的内容,所以我无法告诉您变量消失的位置,但我可以向您保证在处理该文件时它存在。它也在那之后,var_dump($config)可以在缓冲区内部或之后的任何时候验证。