PHP code example of leroy / liip-imagine-entity-annotation-bundle

1. Go to this page and download the library: Download leroy/liip-imagine-entity-annotation-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/ */

    

leroy / liip-imagine-entity-annotation-bundle example snippets


// config/bundles.php

return [
    // ...
    Leroy\LiipImagineEntityAnnotationBundle\LiipImagineEntityAnnotationBundle::class => ['all' => true],
];




namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\HttpFoundation\File\File;
use Leroy\LiipImagineEntityAnnotationBundle\Annotation\LiipImagineFilter;

class ImageEntity
{
    public $path = "/my_image.jpg";

    // LiipImagine properties
    #[LiipImagineFilter(filter: 'my_thumb', path: 'path')]
    private string $thumbnail = '';

    public function getThumbnail(): string
    {
        return $this->thumbnail;
    }

    public function setThumbnail(string $thumbnail): self
    {
        $this->thumbnail = $thumbnail;

        return $this;
    }
}



namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\HttpFoundation\File\File;
use Vich\UploaderBundle\Mapping\Annotation as Vich;
use Leroy\LiipImagineEntityAnnotationBundle\Annotation\LiipImagineFilter;

#[ORM\Entity()]
/**
 * @Vich\Uploadable
 */
class ImageEntity
{
    #[ORM\Id]
    #[ORM\GeneratedValue]
    #[ORM\Column]
    private ?int $id = null;

    #[ORM\Column(type: "datetime")]
    private \DateTime $updatedAt;

    #[ORM\Column(length: 255)]
    private ?string $filename = null;

    /**
     * @Vich\UploadableField(mapping="images", fileNameProperty="filename")
     * @var File
     */
    private ?File $file;

    // LiipImagine properties
    #[LiipImagineFilter(filter: 'my_thumb', vichField: 'file')]

    public function __construct()
    {
        $this->updatedAt = new \DateTime();
    }

    public function getId(): ?int
    {
        return $this->id;
    }

    public function getFilename(): ?string
    {
        return $this->filename;
    }

    public function setFilename(string $filename): self
    {
        $this->filename = $filename;

        return $this;
    }

    public function getUpdatedAt(): \DateTime
    {
        return $this->updatedAt;
    }

    public function setUpdatedAt(\Datetime $updatedAt): self
    {
        $this->updatedAt = $updatedAt;

        return $this;
    }

    public function getFile(): ?File
    {
        return $this->file;
    }

    public function setFile(File $file = null): self
    {
        $this->file = $file;

        if ($file) {
            $this->updatedAt = new \DateTime('now');
        }

        return $this;
    }

    public function getThumbnail(): string
    {
        return $this->thumbnail;
    }

    public function setThumbnail(string $thumbnail): self
    {
        $this->thumbnail = $thumbnail;

        return $this;
    }
}