正在包含文件上使用命名空间


Using namespace on include file

我有一个类:

namespace Navi'View;
use Navi'Navi;
class View extends Base{
    public function render(){
        $test = 'This is a local variable!';
        $obj = new Navi; //Working, ofcourse!
        include 'file.php';
    }
}

并且在"file.php"中;

<?php
echo $test;
var_dump(new Navi); //Class Navi not found

为什么本地$test变量传递到file.php,而Navi类没有?

当然,如果我在"file.php"中使用"use Navi''Navi",那么代码就可以工作了。我不明白为什么!

有没有办法使用Navi类而不使用"使用Navi''Navi"?

请帮帮我!

谢谢!

导入规则是基于每个文件的,这意味着包含的文件不会继承父文件的导入规则。

我在file.php中更改了你的代码,方法是:

var_dump(new 'Navi'Navi)