我有自定义库类,我必须注入类,可以帮助我上传的文件,如果需要删除的文件。我扩展了EntityRepository构造函数,但我不知道如何在自定义存储库类中添加第三个参数。我怎么可以注入类定制仓库里 - Symfony的2.7
class NewRepository extends EntityRepository
{
protected $fileUploader;
public function __construct(EntityManager $em, Mapping\ClassMetadata $class,FileUploader $fileUploader)
{
parent::__construct($em, $class);
}
public function create($data, Item $item = null)
{
$em = $this->getEntityManager();
if(!$item) $item = new Item();
if(isset($data['file'])) {
$image = $this->fileUploader->setFile($data['file'])->uploadFile();
$data['filename'] = $image['filename'];
$data['image_url'] = $image['file_url'];
}
$item->setTitle($data['title']);
$item->setDescription($data['description']);
$em->persist($item);
$em->flush($item);
return $item;
}
}
我总是得到错误,传递给构造函数的第三个参数为null。
[在ZF2中使用依赖项(依赖注入)创建一个doctrine仓库的可能的重复](http://stackoverflow.com/questions/33630909/create-a-doctrine-repository-with-dependencies-dependency-injection-in -zf2) – malarzm
如何实例化自定义存储库? – hassan
您需要将存储库定义为服务并添加setUploader方法。 Stackoverflow有几百个例子显示了如何。 – Cerad