cradlephp/cradle

由事件管道驱动的PHP微框架

安装: 839

依赖: 0

建议: 0

安全: 0

星星: 18

关注者: 3

分支: 12

公开问题: 14

类型:框架

2.2.14 2020-07-23 16:30 UTC

README

Cradle 是一个功能丰富、现代化的内容管理系统。构建应用更快。开发者友好。开源。

Demo

功能

我们根据超过10年的后端系统开发经验,整理了一份功能需求列表。

对象和关系

Objects and Relations

大多数,如果不是所有应用,都需要处理对象及其与其他对象的关系。如果你找不到现成的解决方案,通常这些功能需要定制开发。开发所需的时间取决于你有多少对象和关系。如果没有适当的规划,这个灰色区域可能会导致失败。在核心上,Cradle提供了一种创建、管理和动态生成所有对象和关系的后台管理方式。

字段作为游乐场

Fields as a Playground

动态创建字段,犯错误并更改字段,重新排序字段;天空才是极限!克隆对象以加快创建对象的进程。以一对一、一对多和多对多的方式关联对象。你甚至可以关联系统未定义的外部表。

验证和输出格式

Validations and Output Formats

除了表单提交外,我们还需要考虑字段的验证和最终输出格式。Cradle支持任何类型的验证(必填、空值、小于、大于、正则表达式等)和输出格式(大写、小写、日期、相对、链接、电子邮件、图片、公式等)。激活每个字段的搜索、过滤和排序功能,它将在后台管理中动态渲染。

数据库翻译

Database Translations

我们与许多流行的CMS库进行了比较,以确定合适的数据库结构,并得出结论:没有任何一种适合我们想要的原始灵活性。我们的字段可以无缝转换为SQL-3NF和ElasticSearch模式。你可以在创建对象之后创建、更新、排序字段。只需开启Redis以利用数据缓存,以及RabbitMQ以利用队列。

动态搜索页面

Dynamic Search Pages

由于构建通用搜索的基本功能非常繁琐,开发者通常会错过一些功能。Cradle为你处理这些问题。功能包括搜索查询、动态过滤、关系、批量操作、导入和导出。在模式中定义可搜索、可过滤和可排序的字段,并查看搜索页面是否符合你的要求。

动态表单

Dynamic Forms

开发表单提交是一个繁琐的过程,从创建前端表单和验证字段到将数据创建或更新到数据库,提供成功消息并重定向到另一个页面。使用Cradle,这一切都不再需要!表单将根据你定义的对象和关系动态创建、验证和处理。

关系操作和过滤器

Relational Actions and Filters

轻松导航到对象关系,进行进一步的过滤、批量操作、导入和导出。创建对象,并自动将其与其父对象链接。轻松地将现有对象链接在一起。

菜单构建器

Menu Builder

动态创建菜单项。创建菜单组,并将项和组拖动到任何你想要的顺序。从FontAwesome 5库中选择任何图标,或者根本不选择。使用任何你想要的链接,甚至不是系统中的链接。菜单项将自动显示在相关活动页面上,并在模式搜索菜单项上显示计数。

大量字段

Lots of Fields

支持所有HTML5字段、掩码、所见即所得、Markdown、代码编辑器、日期字段、范围滑块、开关、旋钮、文件和图像标签以及元字段。所有字段都接受任意数量的HTML属性,以便您添加占位符或数字最小-最大值等。您还可以自由添加自定义字段,使用任何JavaScript和CSS。您喜欢的一切。

完全模板化

Fully Templated

我们认为我们的管理界面中的所有UI元素都具有灵活性和可用性,包括前端。基于jQuery、Bootstrap 4、Font Awesome 5和Handlebars构建,以降低学习曲线并简化操作。

更多功能

  • 导入/导出
  • 4种主题
  • 角色和权限
  • 使用Packagist的包管理
  • 动态OAuth 2、REST和Webhooks
  • 多语言支持(i18n)
  • 管理操作日志

我们的技术栈

精心选择的中立技术,可用于任何主流服务器堆栈。

PHP 7 MySQL 5.7 ELK Stack Redis RabbitMQ Bootstrap 4 jQuery Font Awesome 5 Yarn Handlebars Travis CI Codeception Docker AWS S3

我们使用的其他库

为Cradle贡献

感谢您考虑为Cradle做出贡献。在贡献之前,请阅读CradlePHP文档

将尽快审查错误修复。也会考虑小功能,但请给我时间来审查它并回复您。主要功能将仅在master分支上考虑。

  1. 分支仓库。
  2. 启动您的本地终端并切换到您想要贡献的版本。
  3. 进行您的更改。
  4. 始终确保在所有提交上签名(git commit -s -m "提交信息")

创建pull请求

  1. 在创建pull请求之前,请确保运行phpunitphpcs
  2. 将您的代码推送到您远程分叉的版本。
  3. 回到GitHub上您分叉的版本,并提交pull请求。
  4. 所有pull请求都将传递到Travis CI进行测试。另外请注意,Coveralls也用于分析您贡献的覆盖率。