it-blaster / uploadable-behavior
UploadableBehavior 帮助您使用 Propel 处理上传的文件
v1.1.0
2016-08-25 14:03 UTC
Requires
- php: >=5.3.2
- propel/propel1: ~1.6
- symfony/framework-bundle: ~2.1
This package is not auto-updated.
Last update: 2024-09-25 16:01:10 UTC
README
UploadableBehavior 帮助您使用 Propel 处理上传的文件。
安装
将 it-blaster/uploadable-behavior 添加到您的 composer.json
文件中,并运行 composer
... "require": { "it-blaster/uploadable-behavior": "1.0.*" } ...
在您的 config.yml
中注册行为
... propel: behaviors: uploadable: Fenrizbes\UploadableBehavior\Behavior\UploadableBehavior ...
使用方法
将行为添加到您的表
... <behavior name="uploadable" /> </table> ...
默认情况下,它查找或创建一个名为 file
的 varchar 列,但您可以配置自己的列
... <behavior name="uploadable"> <parameter name="columns" value="image, document" /> </behavior> </table> ...
扩展
行为向基类添加了一些方法以帮助它,您可以覆盖和扩展任何一个。
getUploadRoot
返回项目网页目录的绝对路径。默认情况下,它返回最常见的路径,但最佳做法是将此路径设置为控制器中的模型。getUploadDir
返回从根目录到文件文件夹的相对路径。默认情况下,它是/uploads/<model_name>/<year>/<month>/<day>
。makeFileName
随机生成文件的名称。moveUploadedFile
移动文件并将其列的新值设置为。如果您要覆盖此方法,请记住它必须返回上传文件的网页路径(当然,如果您不想更改其行为)。
注意
请记住,此行为处理上传的文件(移动它们并设置列的值),不再做其他事情。因此
- 如果您没有视图转换器或覆盖的getter将字符串文件路径转换为
File
对象,将表单字段的data_class
选项设置为null
; - 如果您为文件字段发送一个空值且不想删除列的值,请自行处理;
- 如果您想有一种删除上传文件的方法,请自行处理;
- 如果您需要其他任何东西... 好吧,您知道的。