簡體   English   中英

在包含文件上使用名稱空間

[英]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”,則代碼可以正常工作。 我不明白為什么!

有什么方法可以使用不使用“ use Navi \\ Navi”的Navi類?

請幫我!

謝謝!

導入規則是基於文件的,這意味着包含的文件將不會繼承父文件的導入規則。

我將通過以下方式更改file.php中的代碼:

var_dump(new \Navi\Navi)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM