2017-06-02 6 views
2

ログイン後、サービスを作成せずにクラスに現在のユーザーオブジェクトを追加します。私はすでに現在のユーザープラグインとヘルパーを作成していました。作成していないクラスの現在のユーザーオブジェクト

私のクラスで現在のユーザーオブジェクトが必要な場合、現在のユーザーオブジェクトを取得する方法。

すなわち、Zend Frameworkの2で

class CoreFunction 
{ 
    public static curentUserData() 
    { 
     // i want user object here 
    } 

} 

、私はちょうど使用:

class CoreFunction 
{ 
    public static curentUserData() {   
     $authService = $this->getServiceLocator() 
        ->get('Zend\Authentication\AuthenticationService') 
        ->getIdentity(); 
    } 
} 

私はZend Frameworkの3でこれを行うことができますどのように? ZF2のように

答えて

1

、あなたはコントローラプラグインidentityへのアクセス権を持っていて、ZF2のように、あなたはそれを注入する必要があるよりも、コントローラ以外のクラスでそれを使用したい場合は$this->identity()

// From the doc. 
public function testAction() 
{ 
    if ($user = $this->identity()) { 
     // someone is logged ! 
    } else { 
     // not logged in 
    } 
} 

のようにそれを使用する必要があります。

関連する問題