包含文件中的PHP变量范围
我有以下代码:包含文件中的PHP变量范围,php,variables,scope,include,Php,Variables,Scope,Include,我有以下代码: <?php session_start(); require_once('ClassFile.php'); use ClassFile\Component; include 'somefile.php'; ?> 在此模板中,我可以访问组件的属性(例如$comp=new Component();)。但是,组件在somefile.php中不可见。我得到一个错误,大意是它不存在。(糟糕的)解决方法是在somefile.php中复制相同的代码。有人能说出发生了什么
<?php
session_start();
require_once('ClassFile.php');
use ClassFile\Component;
include 'somefile.php';
?>
在此模板中,我可以访问组件的属性(例如$comp=new Component();)。但是,组件在somefile.php中不可见。我得到一个错误,大意是它不存在。(糟糕的)解决方法是在somefile.php中复制相同的代码。有人能说出发生了什么事吗?我是否需要一次性全球化require_和use语句中的项?谢谢 如果您的意思是不能在
somefile.php
中执行new Component
,那是因为该类被称为ClassFile\Component
,而不是Component
。use
别名不扩展到包含的文件。如果您想在somefile.php
中将ClassFile\Component
别名为Component
,也必须在该文件中编写相应的use
语句
名称空间始终是每个文件。somefile.php中有什么不起作用的?啊,所以我可以在include中添加另一个use语句,或者通过它的完全限定名引用它。谢谢