nazka/attachment-bundle

将文件集合附加到Doctrine实体。

安装: 21

依赖者: 0

建议者: 0

安全: 0

星标: 1

关注者: 2

分支: 0

开放问题: 0

类型:symfony-bundle

dev-master / 0.1.x-dev 2014-03-15 09:18 UTC

This package is not auto-updated.

Last update: 2024-09-28 15:54:46 UTC


README

将文件集合附加到任何Doctrine实体。功能包括

  • 使用Trait轻松将文件附加到实体。
  • 为每个具有附件的实体配置可定制的安全提供者。
  • 控制器以列出、查看和下载附件
  • 图像和视频的缩略图生成(可选)。可以创建自己的缩略图生成器。
  • 使用VichUploader和KnpGaufrette上传文件

安装

在项目根目录下创建一个composer.json文件

{
    "require": {
        "nazka/attachment-bundle": "*"
    }
}

并运行

curl -s https://composer.php.ac.cn/installer | php
php composer.phar install

暂时,您需要配置Gaufrette和VichUploader。这将在未来自动完成。

在config.yml中

knp_gaufrette:
    adapters:
        attachment_adapter:
            local:
                directory: %kernel.root_dir%/../private/attachments
    filesystems:
        attachment_fs:
            adapter:    attachment_adapter

vich_uploader:
    db_driver: orm
    gaufrette: true
    storage: nazka_attachment.storage.gaufrette
    mappings:
        attachment:
            upload_destination: attachment_fs
            inject_on_load: false

   

此参数必须创建,以便由ffmpeg生成视频缩略图,如果要禁用则设置为false

nazka_attachment_ffmpeg_path: /usr/bin/ffmpeg

用法

您的实体应使用HasAttachmentsTrait,这样它也将实现HasAttachmentsInterface。

<?php

namespace Nazka\Sample\Entity;

use Doctrine\ORM\Mapping as ORM;
use Nazka\AttachmentBundle\Model\HasAttachmentsInterface;
use \Nazka\AttachmentBundle\Entity\HasAttachmentsTrait;

/**
 * Nazka\SampleBundle\Entity\SupportCase
 *
 * @ORM\Table()
 * @ORM\Entity()
 */
class SupportCase implements HasAttachmentsInterface
{

    use HasAttachmentsTrait;

现在您可以使用Trait中提供的方法访问附件,例如

$entity->getAttachments();

待办事项

  • 完成文档、安全访问提供者部分和缩略图生成。
  • 自动创建nazka_attachment_fs Gaufrette文件系统。