Использование пространства имен для включаемого файла

0

У меня есть класс:

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 переходит к файлу.php, но класс Navi нет?

Конечно, если я использую "использовать Navi\Navi" в "file.php", тогда код работает. Я не понимаю, почему!

Любой способ использования класса Navi, который не использует "использовать Navi\Navi"?

Пожалуйста, помогите мне!

Спасибо!

Теги:
namespaces

1 ответ

1

Импорт правил осуществляется на основе файлов, что означает, что включенные файлы НЕ наследуют правила импорта родительского файла.

Я пошел менять свой код в файле.php следующим образом:

var_dump(new \Navi\Navi)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню