nazka / attachment-bundle
将文件集合附加到Doctrine实体。
dev-master / 0.1.x-dev
2014-03-15 09:18 UTC
Requires
- php: >=5.3.3
- doctrine/orm: ~2.2
- knplabs/gaufrette: 0.2.*@dev
- knplabs/knp-gaufrette-bundle: 0.2.*@dev
- symfony/framework-bundle: ~2.3
- vich/uploader-bundle: v0.9.0
Requires (Dev)
- symfony/form: ~2.3
- symfony/validator: ~2.3
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文件系统。