PHP code example of lch / media-bundle

1. Go to this page and download the library: Download lch/media-bundle library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

lch / media-bundle example snippets



    namespace YourBundle\Bundle\Entity\Media;

    use Doctrine\ORM\Mapping as ORM;
    use Knp\DoctrineBehaviors\Model\Blameable\Blameable;
    use Knp\DoctrineBehaviors\Model\Timestampable\Timestampable;
    use Lch\MediaBundle\Entity\Image as BaseImage;

    /**
     * Image
     *
     * @ORM\Table(name="image")
     * @ORM\Entity(repositoryClass="YourBundle\Repository\Media\ImageRepository")
     */
    class Image extends BaseImage
    {
        use Blameable,
            Timestampable;
    }


    namespace YourBundle\Form\Media;

    use Symfony\Component\Form\FormBuilderInterface;
    use Symfony\Component\OptionsResolver\OptionsResolver;
    use Lch\MediaBundle\Form\ImageType as BaseImageType;

    // Extends BaseImageType here for overriding constants
    class ImageType extends BaseImageType
    {
        /**
        * BaseImageType defines a NAME constant for generic image type. You override it here with your type name
        */
        const NAME = 'your_image_type';

        /**
        * Same for root translation path to be used in your particular type case
        */
        const ROOT_TRANSLATION_PATH = 'your.back.media.form.image';

        /**
        * @inheritdoc
        */
        public function buildForm(FormBuilderInterface $builder, array $options)
        {
            // Explicit parent call is 

    $builder
        ->add('myImage', AddOrChooseMediaType::class, [
                'entity_reference' => Image::class,
                'label' => static::ROOT_TRANSLATION_PATH . ".my_image.label",
                'modal_title' => static::ROOT_TRANSLATION_PATH . '.my_image.modal.title',
                'image_width' => 1499,
                'image_height' => 415,
                '

    $builder
        ->add('resources', AddOrChooseMultipleMediasType::class, [
            'label' => static::ROOT_TRANSLATION_PATH . '.public_documents.label',
            'allow_add' => true,
            'allow_delete' => true,
            'prototype' => true,
            'entry_type' => AddOrChooseMediaType::class,
            'entry_options' => [
                'entity_reference' => Resource::class,
                'label' => "your_project.test.label",
                'modal_title' => static::ROOT_TRANSLATION_PATH . '.public_documents.document.modal.title',
                'attr'  => [
                    'helper' => static::ROOT_TRANSLATION_PATH . '.public_documents.document.helper'
                ]
            ],
            'attr' => array(
                'class' => 'public-documents',
                'helper' => static::ROOT_TRANSLATION_PATH . '.public_documents.helper',
            ),
        ])
    ;

    

    namespace YourBundle\Entity\Media;

    use Doctrine\ORM\Mapping as ORM;
    use Knp\DoctrineBehaviors\Model\Blameable\Blameable;
    use Knp\DoctrineBehaviors\Model\Timestampable\Timestampable;
    use Lch\MediaBundle\Behavior\MediaTaggable;
    use Lch\MediaBundle\Behavior\Storable;
    use Lch\MediaBundle\Entity\Media;
    use Lch\MediaBundle\Validator\Constraints as MediaAsset;

    /**
     * Resource
     *
     * @ORM\Table(name="resource")
     * @ORM\Entity(repositoryClass="YourBundle\Repository\Media\ResourceRepository")
     * @MediaAsset\HasAllowedFileExtension()
     * @MediaAsset\MediaWeight()
     */
    class Resource extends Media
    {
        // Remember to use the Storable to ensure physical file is correctly stored
        use Storable,           
            ;
    }