变量是空的包含文件中
问题描述:
出于某种原因,我包括在我的PHP脚本文件不承认任何我定义了,直到这一点的变量:变量是空的包含文件中
主文件:
var_dump($recipients); // produces proper output
require DOCROOT. "Mail/add_message.php";
包含的文件:
<?
var_dump($recipients); // returns NULL
exit();
什么是发生这种情况的可能原因是什么?
答
- 使用$ _GET
include(http://URL.com?var=$var)
- 如果你正在使用的symfony - include_component()
答
我刚刚参加了第二个文件的脚本,分组它作为一个函数(所需的变量是函数的参数)并将其放入我的函数库中。它现在工作正常!
全局变量是邪恶的。我建议重新组织你的代码(并可能使用类自动加载的OOP)来防止包含地狱。 – Kenaniah 2012-02-02 18:34:15
尝试在第二个文件中执行'var_dump(get_defined_vars())'并查看它显示的内容。 – jprofitt 2012-02-02 18:53:24