包含文件内的PHP可变范围

时间:2014-09-05 17:19:29

标签: php variables scope include

我有以下代码:

<?php

session_start();
require_once('ClassFile.php');
use ClassFile\Component;

include 'somefile.php';

?>

在这个模板中,我可以访问Component的属性(例如$ comp = new Component();)。但是,在somefile.php中看不到Component。我得到一个错误,它不存在。 (差)解决方法是在somefile.php中复制相同的代码。有谁可以说发生了什么事?我是否需要以某种方式全局化require_once中的项目并使用语句?谢谢。

1 个答案:

答案 0 :(得分:2)

如果您的意思是new Componentsomefile.php内无法做到,那是因为该课程被称为ClassFile\Component,而不是Componentuse别名不会扩展到包含的文件。如果您想在ClassFile\Component中将Component替换为somefile.php,则必须在该文件中编写相应的use语句。

命名空间始终是每个文件。