我想在symfony2中實現一個自定義存儲庫類,並且我希望它擴展EntityRepository
類。我無法將獲取的參數傳遞給父項(即EntityRepository
)構造函數。這是父類的構造的signiture:symfony2自定義存儲庫擴展EntityRepository
public function __construct($em, Mapping\ClassMetadata $class)
所以我不得不把它添加到我的services.yml
文件,以獲取參數:
parameters:
user_provider.class: Untitled\F5Bundle\Security\UserRepository
services:
user_meta_data:
class: Doctrine\ORM\Mapping\ClassMetaData
arguments:
name: "Untitled\F5Bundle\Entity\User"
user_provider:
class: "%user_provider.class%"
arguments:
entityManager: "@doctrine.orm.entity_manager"
meta_data: "@user_meta_data"
而且我還加了註釋標籤我User
類(我不知道它是否必要)
現在,當我運行它時,它會引發一個錯誤。有消息稱:
FatalErrorException: Error: Class 'Doctrine\ORM\Mapping\ClassMetaData' not found
in /mnt/data/Projects/F5/app/cache/dev/appDevDebugProjectContainer.php line 2749
(/mnt/data/Projects/F5/
是我保持代碼)
我不明白這一點。這裏有什麼問題?我究竟做錯了什麼?