bkwld / decoy
Bukwild基于Laravel模型的CMS
Requires
- php: >=5.4.0
- anahkiasen/html-object: ~1.3
- bkwld/cloner: ^3.2.2
- bkwld/croppa: ~4.0
- bkwld/laravel-haml: ~2.0
- bkwld/library: ^4.0.2
- bkwld/upchuck: ^2.4.1
- cviebrock/eloquent-sluggable: 4.5.1.1
- doctrine/dbal: ^2.5
- illuminate/console: ^5.0
- illuminate/support: ^5.0
- jenssegers/agent: ~2.1
- league/csv: ^9.1
- symfony/yaml: ~2.5 || ^3.0 || ^4.0
- weotch/former: ^4.1.0
- zencoder/zencoder-php: ~2.2
Requires (Dev)
- adlawson/vfs: ^0.12.1
- fideloper/proxy: ~3.3 || ^4.0
- filp/whoops: ~2.0
- fzaninotto/faker: ~1.4
- laravel/framework: 5.4.* || 5.5.* || 5.6.*
- laravel/tinker: ^1.0
- league/flysystem: ^1.0
- league/flysystem-vfs: ^1.0
- mockery/mockery: 0.9.*
- php-coveralls/php-coveralls: ^1.0 || ^2.0
- phpunit/phpunit: ~6.0 || ~7.0
- symfony/css-selector: 3.1.* || ^4.0
- symfony/dom-crawler: 3.1.* || ^4.0
Conflicts
- anahkiasen/html-object: 1.4.1
- laravel/framework: <5.4.0
- dev-master
- 5.11.1
- 5.11.0
- 5.10.0
- 5.9.1
- 5.9.0
- 5.8.1
- 5.8.0
- 5.7.1
- 5.7.0
- 5.6.1
- 5.6.0
- 5.5.1
- 5.5.0
- 5.4.0
- 5.3.1
- 5.3.0
- 5.2.3
- 5.2.2
- 5.2.1
- 5.2.0
- 5.1.0
- 5.0.1
- 5.0.0
- 4.x-dev
- 4.11.3
- 4.11.2
- 4.11.1
- 4.11.0
- 4.10.4
- 4.10.3
- 4.10.2
- 4.10.1
- 4.10.0
- 4.9.5
- 4.9.4
- 4.9.3
- 4.9.2
- 4.9.1
- 4.9.0
- 4.8.6
- 4.8.5
- 4.8.4
- 4.8.3
- 4.8.2
- 4.8.1
- 4.8.0
- 4.7.1
- 4.7.0
- 4.6.0
- 4.5.3
- 4.5.2
- 4.5.1
- 4.5.0
- 4.4.1
- 4.4.0
- 4.3.1
- 4.3.0
- 4.2.7
- 4.2.6
- 4.2.5
- 4.2.4
- 4.2.3
- 4.2.2
- 4.2.1
- 4.2.0
- 4.1.1
- 4.1.0
- 4.0.2
- 4.0.1
- 4.0.0
- 3.5.3
- 3.5.2
- 3.5.1
- 3.5.0
- 3.4.12
- 3.4.11
- 3.4.10
- 3.4.9
- 3.4.8
- 3.4.7
- 3.4.6
- 3.4.5
- 3.4.4
- 3.4.3
- 3.4.2
- 3.4.1
- 3.4.0
- 3.3.3
- 3.3.2
- 3.3.1
- 3.3.0
- 3.2.0
- 3.1.1
- 3.1.0
- 3.0.0
- 2.3.0
- 2.2.0
- 2.1.0
- 2.0.0
- dev-4.x-webpack
This package is auto-updated.
Last update: 2024-09-05 19:46:14 UTC
README
Decoy是一个为Laravel框架编写的PHP内容管理系统,允许您使用标准的Laravel Eloquent模型访问数据。
- 快速开始: http://docs.decoy.bukwild.com/quick-start
- 文档: http://docs.decoy.bukwild.com
- 案例研究: http://www.bukwild.com/project/decoy
- 公告文章: http://www.bukwild.com/article/introducing-decoy
截图
关于
自2012年以来,Laravel 3以来,Bukwild一直在维护我们自己的内容管理系统,我们称之为Decoy。Decoy旨在降低实现内容管理系统的开发工作量,同时具有高度的灵活性。它可以帮助您生成一个外观美观、易于使用的管理界面;无需手动操作。
Decoy背后的驱动哲学是,CMS应该与您的面向公众的应用共享模型;您的应用仅通过标准的Laravel模型与Decoy存储的数据进行交互。这种方法使读取控制器代码变得简单(`Article::ordered()->take(6)->get()`),让您能够访问Laravel的mutators,以便您的视图具有可读性(`$article->full_date`),并允许您在管理界面和公开站点之间共享业务逻辑。没有额外的模板或查询语言需要学习。在设置CMS之后,开发人员将使用纯Laravel API与数据交互。
特性
除了以模型为中心的范式之外,Decoy还包括以下特性
- 外观美观,无需培训的设计
- 集成Croppa以支持高级图像功能,包括裁剪、设置焦点和存储替代文本
- 通过Zencoder集成进行视频编码
- 通过Redactor支持WYSIWYG文本编辑
- 支持所有Laravel关系类型
- 使用Former轻松创建内容编辑表单
- 通过Upchuck和Flysystem支持远程文件存储(S3等)
- 细粒度的管理权限
- 使用Bootstrap支持,可以完全自定义编辑视图
- 命令面板,可以通过Web UI执行artisan命令
- 即使在服务器之间也可以克隆内容
- 本地化
- 将键值对类型的数据组织为Elements
- 在列表视图中拖放排序数据
- 内置创建301和302重定向的接口
- 所有配置存储在文件系统中,以保持您的团队通过Git(或任何VCS)同步
实现
Decoy作为composer包安装到您的应用中,与项目集成而不是作为独立安装。Decoy共享您公共站点的Eloquent模型并在常规Laravel迁移表中存储数据。您的控制器和视图不需要与Decoy有任何交互,而您的模型需要使用Decoy的Eloquent\Model
子类,但在模型实例化时添加的行为非常少。换句话说,Decoy几乎不会为您的公共站点增加开销。
通过常见的MVC模式实现Decoy来管理模型,允许在每一步覆盖默认行为
- 管理员导航、权限级别、本地化选项和其他设置存储在Laravel风格的php配置数组中
- 对于每个可管理的数据库表/Eloquent模型,创建了一个Laravel风格的控制器,允许您覆盖默认设置,如模型标题的显示、描述、如何在管理员中搜索以及覆盖任何CRUD方法(创建、更新、删除等)。
- 您指定验证规则、排序作用域以及在克隆模型时跟随哪些关系等功能,并添加特定命名的属性和方法。
- 最后,创建一个常规的Laravel视图,包含在内容创建和编辑过程中应显示给管理员的表单。这比听起来更容易,因为有Former的支持以及许多Decoy独特的Former字段,如我们的图片上传器和wysiwyg类型。
下一步
有兴趣试试Decoy吗?查看快速入门指南。