是否可以在PHP中调用另一个命名空间中的方法?如果是这样,怎么样?
我正在尝试编写一个WordPress插件。为了遵守最佳实践,我将我的代码封装在自己的命名空间中以防止冲突。但是,当我尝试调用wp_get_current_user()
函数时,出现错误:
Fatal error: Uncaught Error: Call to undefined function sln\wp_get_current_user()
摘自我的代码:
<?php
Namespace sln;
class SimpleLoginNotifications {
function __construct() {
$user_data = wp_get_current_user();
add_action('wp_login', 'sln_send_login_notification');
}
[...]
?>
答案 0 :(得分:1)
在文件中声明名称空间sln
时,将在该名称空间下假定所有函数/方法/常量/类。因此,如果未在wp_get_current_user()
命名空间中声明sln
,则需要使用其完全限定名称或脚本顶部的import via use
来调用它。如果它在全局命名空间中,那么您需要使用前导反斜杠\wp_get_current_user()
来限定它。