当前位置: 首页 > 面试题库 >

在函数内部使用php名称空间

拓拔泓
2023-03-14
问题内容

尝试在自己的函数中使用名称空间时出现解析错误

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();


 类似资料:
  • 问题内容: 我在命名空间和语句上遇到了一些麻烦。 我有三个文件:,和。 我正在尝试使用相对路径进行此操作,因此已将其放在所有类中: 在我的圈子课程中,我有以下内容: 如果使用这些语句,我不会出错。如果我尝试以下语句,则会得到: 致命错误:在第8行的/Users/shawn/Documents/work/sites/workspace/shape/Circle.php中找不到类’Shape \ Sh

  • 问题内容: 我知道这个问题已经被问了很多遍了,但是我没有得到任何适合我情况的建议,因此我在网上和这里进行搜索,尝试了所有方法,但没有任何效果。我只需要用命名空间cap解析此XML:并且只需要其中的四个条目。 我正在使用simpleXML,并且设置了一个小的简单测试脚本,它非常适合解析常规元素。我无法为自己的狄更斯找到或获得一种使用命名空间解析元素的方法。 这是一个小示例测试脚本,其中包含我正在使用

  • 我试着写了下面的代码,但不明白为什么它在spl_autoload_register()中找不到具有名称空间的类? 我得到的错误是: 警告:require_once(src/test\stringhelper.php):无法打开流:没有这样的文件或目录 autoloader.php文件: src文件夹中的stringhelper.php: 我也在使用XAMPP,如果这有区别的话。

  • 问题内容: 在Swift中,调用第一个参数时会使用参数名称。为什么不使用名字? 使用Swift手册的变体; 这会起作用; 但这给了我“调用中的外部参数标签’amount’” 是否有这个原因,或者这是“按其原样”的事物之一? 问题答案: 这是遵循Objective-C习惯的惯例,第一个参数的名称与方法名称结合在一起。这是一个例子: 您可以像这样调用方法: 通过将参数的名称合并到方法的名称中,可以使阅

  • 我有以下xml。 我想要的是 我想做的是只使用名称空间xmlns:i=”获取节点GetPatientTreatmentTeamResult下的文本(该节点在不同的调用中会有所不同)http://www.w3.org/2001/XMLSchema-instance(所有调用都有这个)并且不使用实际的节点名。 我尝试过使用XmlParser和XmlSlurper 但我一直没能得到我想要的结果。 我该怎

  • 问题内容: 当我尝试使用自动加载和命名空间时出现此错误: 致命错误:* 在 第10行的 /usr/local/www/apache22/data/public/php5.3/test.php中 找不到类’Class1’ * 谁能告诉我我在做什么错? 这是我的代码: Class1.php: test.php: 问题答案: Class1不在全局范围内。 请参见下面的工作示例: 编辑(2009-12-1