rossriley/doctrine-uploader

一个小型包,用于通过保存到Flysystem Handler来处理文件上传。

1.0 2015-10-29 15:31 UTC

This package is not auto-updated.

Last update: 2024-09-14 16:00:12 UTC


README

Doctrine Uploader

这是一个非常基础的composer包,设计用于集成到现有的基于Doctrine ORM的项目中。

监听器负责处理文件上传,并将生成的路径保存到实体中。

如何启动

定义您的实体目标。

这是一个数组,格式为Entity\Class=>[field1,field2],例如。

$targets = [
    'Myproject\Entity\User' => ['logo','profilepic'],
    'Myproject\Entity\Company' => ['logo']
];
提供文件系统处理程序

本项目使用Flysystem(http://flysystem.thephpleague.com)来处理保存。最简单的使用方法如下。

$fsAdapter = new League\Flysystem\Adapter\Local('/path/to/save');
$filesystem = new League\Flysystem\Filesystem($fsAdapter);
$handler = Handler($filesystem);
使用上述设置将监听器添加到您的EntityManager配置中
use Doctrine\Uploader\Listener;

$em->getEventManager()->addEventListener([Doctrine\ORM\Events::preUpdate], new Listener($handler, $targets));

整合一切。
use League\Flysystem\Adapter\Local;
use League\Flysystem\Filesystem;
use Doctrine\Uploader\Listener;
use Doctrine\Uploader\Handler;

$targets = [
    'Myproject\Entity\User' => ['logo','profilepic'],
    'Myproject\Entity\Company' => ['logo']
];

$fsAdapter = new Local('/path/to/save');
$filesystem = new Filesystem($fsAdapter);
$handler = Handler($filesystem);

$em->getEventManager()->addEventListener([Doctrine\ORM\Events::preUpdate], new Listener($handler, $targets));