fakharak/crustphp

编译异步(Swoole)和(Phalcon)微框架的快速融合;可扩展到全栈(MVC和HMVC)框架

安装: 0

依赖: 0

建议者: 0

安全: 0

星标: 2

关注者: 2

分支: 0

开放问题: 0

类型:项目

dev-master 2021-06-29 15:06 UTC

This package is not auto-updated.

Last update: 2024-09-22 15:16:13 UTC


README

易用性(适用于所有级别的PHP开发者)


CrustPHP框架的最好之处在于开发者不需要了解架构/框架知识。纯(核心)PHP开发者可以快速在几小时内交付高吞吐量的REST-APIs(/微服务)。

现成模块


它包括数据库配置模块、基于JWT的认证模块/中间件和示例控制器,使PHP开发者能够专注于业务领域逻辑的编码。

CrustPHP架构


该架构支持通过“企业服务总线”开发“Gartner的事件代理模型”,以实现事件驱动微服务的“动态编排”。

CrustPHP不仅能够快速开发微服务,而且能够在没有Kubernetes的情况下进行最先进的动态编排(旋转)微服务。

注意: PHP开发者可以自由地使用闭包编写代码,而不需要HTTP控制器。微服务的意图不是提供MVC的实现。因此,框架中仅展示了扩展了控制器的认证模块示例,以展示“概念验证”,而不是作为框架的强制部分。

底层技术


CrustPHP封装了Phalcon Micro(;用C语言编写的编译PHP扩展)和Swoole(;用于异步编程模型的编译PHP扩展),以便能够轻松/快速地开发并发微服务。为什么是PHP?请参见末尾。

该框架使用闪电般的Phalcon的“路由模块”将API请求映射到HTTP控制器。

进程内集成


用于移植AI/ML/数据科学库PHP-ML和Rubix-ML。

为什么选择Swoole?


  • Swoole扩展PHP以异步语法。它不需要重量级(资源密集型因此较慢)的Web服务器,如APACHE / Ngnix,在比PHP分开的进程空间中运行。

  • Swoole允许PHP代码(或OPCache代码)作为守护进程(作为异步Web和应用服务器)加载到RAM中,使其超快和轻量级(因此非常适合高吞吐量微服务)。Swoole还允许物联网和游戏编程,因为它支持使用多个网络协议(如MQTT、Web Sockets、TCP、HTTP 1.0和HTTP 2.0)轻松进行网络编程。

  • 与Node.js不同,Swoole在多个进程中跨越多个事件循环,有效地利用所有计算(CPU)资源以提高吞吐量(因此,云有效)。这使得Swoole不仅限于一个进程。然而,它可能通过简单的配置设置(数组)允许单进程环境。

  • Swoole基于(抢占式)协程的异步编程模型优于.NET和Node中的asynch/await,因为协程避免了与异步/await样式并发相关的“维护复杂性”。Swoole架构灵感来自Go语言和Netty。