hollogram/stapler2

优雅且简单的基于ORM的PHP文件上传包。

v2.0.2 2019-12-06 22:27 UTC

This package is auto-updated.

Last update: 2024-09-07 08:53:22 UTC


README

# Stapler 构建状态 最新稳定版本 总下载量 最新不稳定版本 许可证

注意: 如果您之前使用过此包,那么您已经使用Laravel使用过它。此包不再直接与Laravel框架耦合。自1.0.0版本起,Stapler现在是框架无关的。为了利用之前Beta版本提供的特定于Laravel的功能(服务提供者、IOC容器、命令、迁移生成器等),我创建了一个专门用于在Laravel中使用Stapler的包:Laravel-Stapler。如果您在Laravel应用程序中使用Stapler,我强烈建议您使用此包(它可以节省一些样板代码)。

Stapler是一个基于PHP的框架无关文件上传包,灵感来自Ruby Paperclip宝石。它可以用于将文件上传(作为附件对象)添加到您的ORM记录中。虽然不是完全相同,但如果您之前使用过Paperclip,那么您应该对这个包感到非常舒适。

Stapler是由Travis Bennett创建的。

要求

Stapler目前需要php >= 5.4(Stapler通过使用特质实现)。

安装

Stapler作为composer包分发,这是在您的应用程序中使用它的方式。

使用Composer安装此包。编辑您项目的composer.json文件,以需要codesleeve/stapler

  "require": {
    "codesleeve/stapler": "1.0.*"
  }

关于Stapler

Stapler通过将文件上传附加到数据库表记录来工作。这是通过在表的相应模型中定义附件,然后在保存之前将上传的文件(从您的表单中)作为属性(以附件命名)分配给模型来完成的。Stapler将监听模型的生存周期回调(保存后、删除前和删除后)并相应处理文件。本质上,这允许上传的文件就像模型上的任何其他属性一样被处理;stapler将抽象掉所有文件处理、存储等,这样您就可以专注于项目的其他部分,而无需担心文件在哪里或如何检索它们。

主要优势

  • 现代:Stapler 在 php >= 5.4 上运行,并利用了现代 PHP 提供的许多新特性(特性、可调用类型提示等)。
  • 简单:传统上,文件上传一直是一个艰难的任务;Stapler 减少了在整个过程中所需的许多样板代码。说真的,Stapler 使文件上传(任何类型)变得极其简单。
  • 灵活:Stapler 提供了极其灵活的级联配置;通过更改单个配置选项,就可以配置文件是本地存储还是通过 AWS S3 存储。
  • 可扩展:将您的资产存储在中央位置(如 S3)可以使您的文件从单一位置被多个网络实例访问。
  • 强大:Stapler 利用现代面向对象编程模式,为文件上传提供坚实的架构。基于特性的驱动系统提供了跨多个 ORMS(包括 Active Record 和 Data Mapper 实现)工作,这些 ORM 实现了生命周期回调。

文档