andrew13 / cabinet
Laravel 4 文件上传包。
Requires
- php: >=5.3.0
- bllim/datatables: *
- illuminate/auth: 4.2.x
- illuminate/database: 4.2.x
- illuminate/filesystem: 4.2.x
- illuminate/log: 4.2.x
- illuminate/support: 4.2.x
- illuminate/view: 4.2.x
- intervention/image: 2.0.x
- nesbot/carbon: 1.*
- symfony/http-foundation: 2.5.*
- symfony/http-kernel: 2.5.*
Suggests
- zizaco/confide: add Easy User management to Laravel 4
- zizaco/entrust: add Role-based Permissions to Laravel 4
README
Cabinet 是 Laravel 4 的文件上传包。
Cabinet 是一个允许轻松上传文件和图片的包。
特性
- 文件上传
- 显示图像处理
- 可配置图像选项
- 路由、控制器、模型 CLI 生成器
- 可配置
快速开始
所需设置
在 composer.json
文件的 require
键中添加以下内容
用于 Laravel 4.1.x
"andrewelkins/cabinet": "1.0.x"
用于 Laravel 4.2.x
"andrewelkins/cabinet": "1.1.x"
运行 Composer update 命令
$ composer update
在 config/app.php
中将 'Andrew13\Cabinet\CabinetServiceProvider'
添加到 $providers
数组的末尾
'providers' => array( 'Illuminate\Foundation\Providers\ArtisanServiceProvider', 'Illuminate\Auth\AuthServiceProvider', ... 'Andrew13\Cabinet\CabinetServiceProvider', ),
在 config/app.php
的末尾添加 'Cabinet' => 'Andrew13\Cabinet\CabinetFacade'
到 $aliases
数组
'aliases' => array( 'App' => 'Illuminate\Support\Facades\App', 'Artisan' => 'Illuminate\Support\Facades\Artisan', ... 'Cabinet' => 'Andrew13\Cabinet\CabinetFacade', ),
上传模型
现在生成 Cabinet 迁移
$ php artisan cabinet:migration
它将生成 <timestamp>_cabinet_setup_uploads_table.php
迁移。您现在可以运行 artisan migrate 命令
$ php artisan migrate
它将设置一个包含 filename
、directory_path
、extension
、user_id
和 deleted_at
字段的表,这些是 Cabinet 使用所需的默认字段。
在 app/models/Upload.php
中创建上传模型
<?php use Andrew13\Cabinet\CabinetUpload; class Upload extends CabinetUpload { protected $softDelete = true; }
CabinetUpload
类将处理所有默认的上传行为。这可以在您的 Upload 模型中扩展。
导出默认属性
至少,您可以导出一个默认控制器和 Cabinet 的默认路由。
$ php artisan cabinet:controller $ php artisan cabinet:routes
别忘了导出 composer 自动加载
$ composer dump-autoload
发布公共资产
为了使用 js/css/images,您需要发布资产。
$ php artisan asset:publish andrewelkins/cabinet
现在您可以开始了。 访问 https:///upload
来上传文件。强烈建议在上传上设置一些认证保护。
高级
使用自定义表/模型名称
在导出默认控制器模板时更改控制器名称,可以使用 --name 选项。
$ php artisan cabinet:controller --name Uploader
将生成 UploaderController
然后,在导出路由时,您应该使用 --controller 选项来匹配现有控制器。
$ php artisan confide:routes --controller Uploader
使用自定义表单进行上传和其他配置选项。
首先,发布配置文件
$ php artisan config:publish andrewelkins/cabinet
然后编辑 app/config/packages/andrewelkins/confide/config.php
中的视图名称。
进一步,您可以更改上传的位置、上传文件的类型以及更多选项!
RESTful 控制器
如果您想生成 RESTful 控制器,可以使用额外的 --restful 或 -r 选项。
$ php artisan cabinet:controller --restful
将生成 RESTful 控制器
然后,在导出路由时,您应该使用 --restful 选项来匹配现有控制器。
$ php artisan cabinet:routes --restful
许可证
这是在 MIT 许可证条款下分发的免费软件
特别感谢
生成代码使用了 Confide 包中的代码。然后对其进行修改以适应此应用程序。感谢 @Zizaco 提供的代码。
Jason Lewis 的 教程 非常出色,它帮助我使用 workbench 启动。
来自 Phil Sturgeon 的图像上传教程激发了我创建此包的灵感。
更多信息
有任何疑问,请随时联系我。