Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
包含文件中的PHP变量范围_Php_Variables_Scope_Include - Fatal编程技术网

包含文件中的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语句,或者通过它的完全限定名引用它。谢谢