2016-08-27 28 views
1

是否可以在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'); 

    } 


[...] 


?> 
+1

你必須從根開始,然後命名空間 –

回答

1

在聲明命名空間sln您的文件,所有的功能/方法/常量/類被假定在該名稱空間下。因此,如果wp_get_current_user()未在sln名稱空間中聲明,則需要使用腳本頂部的完全限定名稱或import via use對其進行調用。如果它位於全局命名空間中,那麼您需要使用主導反斜槓\wp_get_current_user()來限定它。

相關問題