2014-09-11 20 views
0

我有一個Symfony的項目學說庫下面的服務定義:PhpStorm不處理Symfony的廠家售後服務教義庫正確

my_custom_repository_service: 
    class: My\Custom\ClassName 
    factory_service: doctrine.orm.entity_manager 
    factory_method: getRepository 
    arguments: [MyCustom:ClassName] 

當調用這樣的這項服務:

$repository = $this->container->get('my_custom_repository_service') 

PhpStorm認爲$repositoryMy\Custom\ClassName,而不是它實際上是的Doctrine存儲庫。有沒有可能解決這個問題?

回答

1

您應該將服務的class屬性更改爲Doctrine\ORM\EntityRepository

my_custom_repository_service: 
    class: Doctrine\ORM\EntityRepository 
    factory_service: doctrine.orm.entity_manager 
    factory_method: getRepository 
    arguments: [MyCustom:ClassName] 

這真的沒有在這種情況下管用,因爲倉庫工廠將產生你傳遞作爲一個類的實例參數(它也應該是Doctrine \ ORM \ EntityRepository的一個子類),但是如果PHPStorm正在採用它,這將修復它。

+0

該方法僅在使用像find這樣的內置Repository函數時才起作用,但它不允許我爲自定義存儲庫類使用代碼補全。 – 2014-09-11 13:26:25

+0

其實,我只是試着將類名指向我的確切庫,並解決了這個問題。謝謝! – 2014-09-11 13:28:25