Jak wstrzyknąć repozytorium do usługi w Symfony?
Muszę wstrzyknąć dwa przedmiotyImageService
. Jeden z nich to przykładRepository/ImageRepository
, które otrzymuję w ten sposób:
$image_repository = $container->get('doctrine.odm.mongodb')
->getRepository('MycompanyMainBundle:Image');
Jak więc zadeklarować to w moich usługach.yml? Oto usługa:
namespace Mycompany\MainBundle\Service\Image;
use Doctrine\ODM\MongoDB\DocumentRepository;
class ImageManager {
private $manipulator;
private $repository;
public function __construct(ImageManipulatorInterface $manipulator, DocumentRepository $repository) {
$this->manipulator = $manipulator;
$this->repository = $repository;
}
public function findAll() {
return $this->repository->findAll();
}
public function createThumbnail(ImageInterface $image) {
return $this->manipulator->resize($image->source(), 300, 200);
}
}