简单的问题是命名空间如何影响全局变量?请阅读其余部分以获取更多信息 我有一个工作网站在php.All链接地址是使用获取查询。(例如:example.com/?page = contact而不是example.com/contact.php).i已覆盖我的symfony中的超级全局变量控制器并配置route.so工作。 我的问题是全局变量。有一个主要的index.php文件,我已经包含在我的控制器(indexController)中,并且包含了网站的所有代码。但是全局变量不再起作用了(它们已经消失了) ).i认为这是因为控制器命名空间,但是在php文档中它声明命名空间不会影响变量。那么问题是什么呢?如果单独运行,index.php将生成预期结果但是这里我得到未声明的变量) 这将是我的代码:index.php使用HTML数据创建$ html
namespace example\exampleBundle\Controller
class indexController{
function indexAction(Request $request){
$request->overrideGlobals();
include "/external/index.php";
$response = new Response();
$response->setContent($html);
$response->setStatusCode(Response::HTTP_OK);
$response->headers->set('Content-Type','text/html');
return $response;
}
}
------------------------
symfonytest:
path: /
defaults: {_controller: exampleexampleBundle:index:index}
答案 0 :(得分:0)
我找到了原因。因为库被包含在一个函数(indexaction)中,所以它没有在全局范围内声明。我必须在包含的index.php中使用全局修饰符。我会报告结果。