发散 / 发散
Divergence 框架。
v2.1.4
2024-09-11 10:44 UTC
Requires
- php: >=8.1
- filp/whoops: *
- guzzlehttp/psr7: ^2.0
- psr/http-message: ^2.0
- psr/http-server-handler: ^1.0
- symfony/var-dumper: *
- twig/extra-bundle: ^3.0
- twig/twig: *
Requires (Dev)
- dms/phpunit-arraysubset-asserts: ^0.4.0
- fakerphp/faker: ^1.20
- friendsofphp/php-cs-fixer: *
- mikey179/vfsstream: ^1.6
- phpunit/phpunit: ^9.5
Suggests
- divergence/cli: Lets you initialize a new project as well as create, edit, and test database configurations via CLI.
README
Divergence 是一个 PHP 框架,旨在快速开发,同时避免过度抽象,保持现代化实践。
文档
入门指南
目的
这个类集合包含了我最喜欢的用于用 PHP 开发网站的构建块,它们在数百个目前活跃的网站上有着令人印象深刻的记录。虽然它们最初是多年前编写的,但它们都兼容 PSR,并且默认支持现代实践。
代码库的单元测试和提供代码覆盖率是这个项目的主要目标。
主要功能
-
模型
- 真正的 PHP 类。
- 使用数组或属性映射字段。
- 内置支持关系和对象版本。
- 如果没有找到模型,自动创建表以加快原型设计和自动化新部署。
- 内置支持 MySQL。
-
路由
- 更简单、更快的基于树的路由系统。
- 考虑到基本的类继承。
-
控制器
- PSR7 兼容的控制器。
- 预制的 REST API 控制器允许您快速构建 API。
- 过滤器、排序器和条件拥有 100% 的单元测试覆盖率。
- 通过扩展
RecordsRequestHandler
并设置一个配置变量:您的模型类名,在几分钟内构建 HTTP API。 - 使用预制的安全特性与 RecordsRequestHandler 或扩展它并编写您自己的权限。
- 标准权限接口允许在不同模型之间重用权限特性。
-
模板
- 默认支持 Twig。
-
媒体
- 默认支持媒体存储。
- 自动为 JPEG、GIF、PNG 和 PDF 生成缩略图。
- 内置支持 MP4 和 WEBM 可分块发射器,允许您轻松托管视频,并具有搜索功能。
- 使用所有控制器中标准的权限接口通过内置 JSON API 远程管理媒体。
- 支持媒体上传的 POST 和 PUT 请求类型。
为 Divergence 做贡献
所有问题和拉取请求都应提交到 Divergence/framework 存储库。
许可证
Divergence 框架是开源软件,根据 MIT 许可证 发布。
鸣谢
- 本框架中大部分原始代码作为 Emergence 的 PHP 框架部分发布,Emergence 由 Chris Alfano 提供。
- 本项目由 Henry Paradiz 维护。