2016-05-30 11 views
0

私はAuthを扱う単純な抽象ApiController(Controllerから拡張)クラスを持っています。symfony 2.8 doctrine

protected function handleAuth(){ 
    $login = $this->request->getUser(); 
    $password = $this->request->getPassword(); 

    $user = $this->get('doctrine.orm.entity_manager'); 

    if (!$user) 
    { 
     return $this->sendResponse(array('msg'=>'User not found'),404); 
    } 
    $user = $user[0]; 

    if(!password_verify($data['password'], $user->getUserPass())){ 
     return $this->sendResponse(array('msg'=>'Invalid credentials'),401); 
    } 

    return true; 
} 

しかし、それは私の抽象コントローラで教義を取得してerorrをスロー:

Error: Call to a member function get() on a non-object 
in vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php at line 391 

私は私の抽象クラスで教義を取得できますか?

+0

抽象ApiControllerをサービスとして登録しましたか? – RxV

答えて

1

$this->get(something.or.other)を使用するには、容器をContainerAwareに拡張する必要があります。extends Controllerの場合は自動的に行います。

2.8より、ContainerAwareでは、ContainerAwareTraitが推奨されていますが、抽象コントローラが単にコントローラを拡張している場合は、それを心配する必要はありません。

+0

これは問題ですが、私の抽象クラスはControllerを拡張します – mikrafizik

+0

ああ、代わりに '$ this-> container-> get(...)'を使ってみてください。 – Alec

+0

それは、 "の$ this - >コンテナ= NULL" エラーがスロー が、理由 'ダンプ(get_class_methods(get_class($この)))私は、理由を理解していない;' ショーget()メソッド – mikrafizik

関連する問題