2016-08-27 2 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()で修飾する必要があります。

関連する問題