我有以下代码:
<?php
session_start();
require_once('ClassFile.php');
use ClassFile\Component;
include 'somefile.php';
?>
在这个模板中,我可以访问Component的属性(例如$ comp = new Component();)。但是,在somefile.php中看不到Component。我得到一个错误,它不存在。 (差)解决方法是在somefile.php中复制相同的代码。有谁可以说发生了什么事?我是否需要以某种方式全局化require_once中的项目并使用语句?谢谢。
答案 0 :(得分:2)
如果您的意思是new Component
在somefile.php
内无法做到,那是因为该课程被称为ClassFile\Component
,而不是Component
。 use
别名不会扩展到包含的文件。如果您想在ClassFile\Component
中将Component
替换为somefile.php
,则必须在该文件中编写相应的use
语句。
命名空间始终是每个文件。