onadrog/imageconverterbundle

一个简单的FormType,可以将图片转换为WebP格式

v1.1.0 2021-10-12 11:40 UTC

This package is auto-updated.

Last update: 2024-09-12 17:57:23 UTC


README

使用symfony表单组件和Doctrine包将图片转换为WebP格式以持久化数据。

需求

生产环境

安装

composer require onadrog/imageconverterbundle
php bin/console asset:install

最小配置

此包使用php8属性。

使用ImageUploadImageUploadProperties属性如下。

// src/Entity/Foo.php
namespace App\Entity;

// ...
use Onadrog\ImageConverterBundle\Mapping\Attribute as Onadrog;

/**
 * @ORM\Entity(repositoryClass=FooRepository::class)
 */
#[Onadrog\ImageUpload]
class Foo
{
    // ...

    private $fileName;

    private $fileSlug;

    /**
     * @ORM\Column(type="json")
     */
    private ?array $fileDimension = [];

     /**
     * @ORM\Column(type="json")
     */
    private ?array $mimeTypes = [];

    private  $fileAlt;

    #[Onadrog\ImageUploadProperties(name: 'fileName', slug: 'fileSlug', alt: 'fileAlt', dimension: 'fileDimension', mimeTypes: 'mimeTypes')]
    private $file;
}

完成后,在您的FormBuilder中使用ImageConverterType,相关属性映射了ImageUploadProperties(此处为file)。

// src/Form/FooType.php

namespace App\Foo\Form;

// ...
use Onadrog\ImageConverterBundle\Form\Type\ImageConverterType;

class FooType extends AbstractType
{
    //..
    public function builForm(FormBuilder $builder, array $options)
    {
        // ...

        $builder->add('file', ImageConverterType::class);
    }
}

Twig扩展

{% extends 'base.html.twig' %}

{% block body %}
    {{ image_converter_img(foo) }}
{% endblock %}

默认配置值

# config/packages/image_converter.yaml

image_converter:
  media_uploads_path: "%kernel.project_dir%/public/uploads/media/"
  namer: "default"
  quality: 80
  public_path: "/uploads/media/"
  remove_orphans: true
  keep_original: false
  use_js: false

控制台命令

onadrog:debug:config
onadrog:dump:config
onadrog:make:entity [options] <args>

更多信息请参阅Wiki

捐赠

以太坊地址:0xB374931cc925042731d971C07708be68B115BC0d

Qr_code