6. Usage
6.1. Saving a media file
Saving a media file required at least 3 pieces of information:
the
context
: which is used as a main category user picture, news or anythe
provider name
: the provider code which handles the media processing while savingthe
binary content
: the provider information source: the unique id for a video, a File instance, etc …
For instance, a Youtube video can be created and saved like this:
$media = new Media();
$media->setBinaryContent('13142153');
$media->setContext('user'); // video related to the user
$media->setProviderName('sonata.media.provider.youtube');
/** @var Sonata\MediaBundle\Model\MediaManagerInterface $mediaManager */
$mediaManager->save($media);
or this:
$media = new Media();
$media->setBinaryContent('13142153');
$mediaManager->save($media, 'user', 'sonata.media.provider.youtube');
6.2. Retrieving metadata information
The providers has a dedicated field where extra information can be saved: the providerMetadata
field.
You can retrieve a value very easily with the getMetadataValue
method.
For instance you can retrieve the original Youtube video title with:
$media = $mediaManager->find(132);
echo $media->getMetadataValue('title', 'if none use this string');