Я получаю ошибку синтаксического анализа при попытке использовать пространство имен внутри моей собственной функции
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
должно быть объявлено в самой внешней области файла (глобальной области) или внутри декларации пространства имен.