I'm getting this error
PHP Fatal error: Uncaught exception 'Symfony\\Component\\Debug\\Exception\\ContextErrorException' with message 'Catchable Fatal Error: Argument 8 passed to Sonata\\MediaBundle\\Provider\\ImageProvider::__construct() must implement interface Imagine\\Image\\ImagineInterface, none given, called in
My service:
sonata.media.provider.cropper:
class: %cmy_sonata_media.custom_class_cropper%
tags:
- { name: sonata.media.provider }
arguments:
- sonata.media.provider.cropper
- @sonata.media.filesystem.local
- @sonata.media.cdn.server
- @sonata.media.generator.default
- @sonata.media.thumbnail.format
- ['jpg', 'png', 'jpeg']
- ['image/jpeg', 'image/png']
- @sonata.media.adapter.image.gd
- @sonata.media.metadata.proxy
calls:
- [ setTemplates, [ { helper_thumbnail: SonataMediaBundle:Provider:thumbnail.html.twig, helper_view: SonataMediaBundle:Provider:view_image.html.twig } ] ]
My provider
class ImageCropperProvider extends ImageProvider
{
protected $imagineAdapter;
/**
* @param string $name
* @param \Gaufrette\Filesystem $filesystem
* @param \Sonata\MediaBundle\CDN\CDNInterface $cdn
* @param \Sonata\MediaBundle\Generator\GeneratorInterface $pathGenerator
* @param \Sonata\MediaBundle\Thumbnail\ThumbnailInterface $thumbnail
* @param array $allowedExtensions
* @param array $allowedMimeTypes
* @param \Imagine\Image\ImagineInterface $adapter
* @param \Sonata\MediaBundle\Metadata\MetadataBuilderInterface $metadata
*/
public function __construct($name, Filesystem $filesystem, CDNInterface $cdn, GeneratorInterface $pathGenerator, ThumbnailInterface $thumbnail, array $allowedExtensions = array(), array $allowedMimeTypes = array(), ImagineInterface $adapter, MetadataBuilderInterface $metadata = null)
{
parent::__construct($name, $filesystem, $cdn, $pathGenerator, $thumbnail, $allowedExtensions, $allowedMimeTypes, $metadata);
$this->imagineAdapter = $adapter;
}
public function getProviderMetadata()
{
return new Metadata($this->getName(), $this->getName().'.description', false, 'SonataMediaBundle', array('class' => 'fa fa-crop'));
}
}
What i'm trying to do is to create identical ImageProvider. But I keep getting that error: I tryed almost everything. But always ending with this error. Maybe I miss something. Maybe my Service configuration is wrong. But it's identical to ImageProvider. So it should be fine
It's looks like it was my api cache problem. Solved after clearing all cache.