Использовать пространство имен php внутри функции

Я получаю ошибку синтаксического анализа при попытке использовать пространство имен внутри моей собственной функции

require('/var/load.php'); function go(){ use test\Class; $go = 'ok'; return $go; } echo go(); 

Из правил определения области импорта

Ключевое слово use должно быть объявлено в самой внешней области файла (глобальной области) или внутри декларации пространства имен. Это связано с тем, что импорт выполняется во время компиляции, а не во время выполнения, поэтому он не может быть заблокирован

Таким образом, вы должны сделать так, использование должно быть указано на глобальном уровне

 require('/var/load.php'); use test\Class; function go(){ $go = 'ok'; return $go; } echo go(); 

Проверьте пример 5 в приведенном ниже руководстве. См. Его руководство по адресу http://php.net/manual/en/language.namespaces.importing.php.

Из руководства :

Ключевое слово use должно быть объявлено в самой внешней области файла (глобальной области) или внутри декларации пространства имен.