rossriley / doctrine-uploader
一个小型包,用于通过保存到Flysystem Handler来处理文件上传。
1.0
2015-10-29 15:31 UTC
Requires
- doctrine/orm: ^2.5
- league/flysystem: ^0.4
- siriusphp/upload: ^1.2
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));