2017-06-22 11 views
1

コントローラから関数の仕様に関する質問があります。次の関数は、サービスエンティティマネージャを返すか、それが必要:だから返される型はentityManager symfonyである必要があります

/** 
* @return EntityManager 
*/ 
public function getEntityManager() 
{ 
    $entityManager = $this->get('doctrine.orm.default_entity_manager'); 

    return $entityManager; 
} 

、リターンラインは、私は、関数の仕様で返される型がオブジェクトであることを言ったことを知って[OK]を

Return value is expected to be '\Doctrine\Orm\EntityManager', 'object' returned. 

を、言っServiceNameは、どのようにこの状況を管理できますか?私は、オブジェクトの型ではなく、型をserviceNameにします。リターン仕様でオブジェクトを持つEntityManagerを変更してもOKですが、私が望むものではありません。誰でもアドバイスを受けることができますか?

EDIT:

/** 
* @var $entityManager EntityManager 
* 
* @return EntityManager 
*/ 
public function getEntityManager() 
{ 
    $entityManager = $this->get('doctrine.orm.default_entity_manager'); 

    return $entityManager; //still receive the warning here 
} 
+0

わからない私は質問を理解し、私はあなたが使用して試すことができたとし@ $ EntityManagerをEntityManager型として定義します。 – Cerad

+0

どのように呼び出すのですか? – Stony

+0

@Stony – IleNea

答えて

0

警告があなたのIDEによって示され、それはPHP自体によってスローされた例外ではありません場合、それが欠落はphpdocから来ています。直接関数内変数の代入の上@varのdocblockを追加する問題を修正(と$entityManagerの正しい自動補完を得るために

/** 
* @return EntityManager 
*/ 
public function getEntityManager() 
{ 
    /** @var EntityManager $entityManager */ 
    $entityManager = $this->get('doctrine.orm.default_entity_manager'); 

    return $entityManager; 
} 
関連する問題