gpt4 book ai didi

php - 如何防止内置 PHP 函数成为命名空间?

转载 作者:行者123 更新时间:2023-12-04 16:59:56 25 4
gpt4 key购买 nike

我是 PHP 命名空间的新手,我拥有的是:

namespace Foo\Bar;
class JsonAssetRest{
static function ini(){
$headers = getallheaders();
}
}
JsonAssetRest::ini();

这是造成错误
Uncaught Error: Call to undefined function Foo\Bar\getallheaders() in /var/www/html/class JsonAssetRest.php

如何使用 getallheaders()(内置函数)而不会出现此错误?

编辑: 该问题与在我将代码转换为命名空间类时删除库有关 .所述库为 nginx 定义了 getallheaders。我对添加命名空间的错误消息感到困惑,并认为这就是问题所在。

如果其他人在调试时被错误弄糊涂,我会留下这个。并且因为这些注释提高了我对 PHP 中命名空间的理解。

编辑 2: 如果有人偶然发现此错误并想知道如何解决实际问题 (在 nginx 下没有定义 getallheaders),这里已经回答了: Get the http headers from current request in PHP

最佳答案

全局函数可从任何命名空间使用。您不需要添加 \前缀就像其他答案所建议的那样。

此错误意味着在名为 getallheaders() 的全局或当前命名空间中没有定义任何函数。此函数是 apache_response_headers() 的别名,它也可能不存在。我假设 PHP 没有作为这些功能所需的 apache 模块运行。

关于php - 如何防止内置 PHP 函数成为命名空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47239297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com