infuse / infuse
构建现代应用程序的模块化框架
Requires
- php: >=7.0.0
- infuse/libs: ~1.0
- monolog/monolog: 1.*
- pimple/pimple: ~3.0
- symfony/console: ~2.8|~3.0|~4.0
- symfony/http-kernel: ~2.8|~3.0|~4.0
Requires (Dev)
- mockery/mockery: ~1.0
- phpunit/php-code-coverage: 5.*
- phpunit/phpunit: 6.0.*
- satooshi/php-coveralls: 1.0.0
- smarty/smarty: ~3.1
- symfony/polyfill-php70: ^1.10
Suggests
- ext-memcache: *
- ext-redis: *
README
PHP中构建现代应用程序的模块化框架
简介
Infuse是一个框架,旨在帮助您构建可扩展的Web应用程序(从代码量和流量方面来看)。该项目的主要设计目标是极简主义,通过强大的模块化实现。核心框架是一组简单的模式,用于组合PHP应用程序。
Infuse包含最少的组件。仅足够启动您的应用程序,提供路由、请求/响应、依赖注入,以及可扩展的控制台应用程序。其他任何组件完全取决于您应用程序的需求,可以通过Packagist上的模块添加。需要ORM?那么添加Pulsar或Doctrine。处理计划任务怎么办?有相应的模块。如果您需要的模块不可用,则可以轻松编写自己的模块。
在这个框架中,您将找到最小的意见。它针对经验丰富的PHP开发者,他们有自己的意见,知道他们想要用哪些组件来构建应用程序。Infuse试图尽可能轻量,同时保持可扩展性。
特性
- 模块化设计
- 尽可能遵守 PHP-FIG PSRs
- 使用 Pimple 进行依赖注入
- 通过 nikic/fast-route 实现灵活的路由
- 通过 monolog 进行日志记录
- 基于 Symfony/Console 的控制台应用程序
要求
- PHP 7+
安装
使用 composer 安装包
composer require infuse/infuse
可用的模块
数据库
- Pulsar ORM: 独立的主动记录实现
- JAQB: 在PDO之上运行的流畅数据库查询构建器
- infuse/migrations: 由Phinx提供的数据库迁移
- infuse/rest-api: 为Pulsar模型快速搭建RESTful API
- infuse/stash: 使用Stash为Pulsar模型添加缓存
身份验证
- infuse/auth: 用户身份验证和管理
- infuse/oauth2: 添加OAuth2和JWT访问令牌支持
- infuse/facebook: 添加Facebook作为身份验证方法
- infuse/twitter: 添加Twitter作为身份验证方法
- infuse/instagram: 添加Instagram作为身份验证方法
支付
- infuse/billing: 由Stripe提供的订阅会员系统实现
服务
- infuse/cron: 在后台处理应用程序的计划任务
- infuse/email:提供使用Swiftmailer排队和发送电子邮件模板的邮件发送器
- infuse/iron-mq:将Iron.io推送队列添加到Infuse队列系统
管理
- infuse/admin:生成用于管理应用程序和Pulsar模型的admin面板
- infuse/statistics:管理仪表板的统计插件
贡献
请随时通过参与问题或提交拉取请求来贡献。:-)
测试
使用phpunit运行包含的测试
phpunit
许可
MIT许可(MIT)
版权所有 © 2015 Jared King
在此特此授予任何人免费获得此软件及其相关文档文件(以下简称“软件”)的副本的权利,以无限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向获得软件副本的人授予此类权利,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何形式的质量保证,无论是明示的、暗示的还是与特定目的相关的,包括但不限于适销性、适用于特定用途和侵权保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论是否在合同、侵权或其他法律行为中,由此软件或其使用或其他方式产生、出现或与之相关。