Best about CrustPHP Framework is that the developer does not need knowledge of Architecture / Framework. Plain (core) PHP Developers can start delivering high-throughput REST-APIs ( / Micro-services) rapidly within hours.
It includes DB configurations Module, JWT-based Authentication Module / Middleware, and sample Controllers to enable PHP developers to focus on coding Business Domain Logic.
The Architectrue supports development of "Gartner's Event-broker model" through "Enterprise Service Bus" for "dynamic choreography" of Event-driven Microservices.
CrustPHP enables not only rapid development of Micro-services, but also state-of-the-art dynamic choreography (spinning) of Microservices without Kubernetese.
Note: PHP Developers are free write code using Closures; without HTTP Controllers. The intent of Micro-service is not to provide implementation of MVC. So, a sample of Authentication Module extended with Controller is shown in the framework only to show a "proof of concept", not as mandatory part of Framework.
CrustPHP encapsulates Phalcon Micro ( ;a compiled PHP-Extension written in C language) and Swoole ( ;a compiled PHP-Extension for Asynchronous Progamming Models) in order to enable easy / quick development of Concurrent Microservices. Why PHP ? Please see at the end.
The framework uses lighting fast Phalcon's "Routing Module" in order to map API Reuqests to HTTP Controllers"
To port AI/ML/Data Science libraries PHP-ML and Rubix-ML.
-
Swoole extends PHP with Asynchronous Syntax. It does not require a heavy (resource-hungry hence slower) Web Server/s, running in a separate Process-space than PHP, like APACHE / Ngnix)
-
Swoole enables PHP code (or OPCache code) to load in RAM as Daemon (as an Asynchronous Web and Application Server) making it ultra fast and light-weight (so it is highly suitable for high throughput Micro-services). Swoole also allows IoT and Game Proramming as it supports ease of Network Programing using multiple Network Protocols like MQTT, Web Sockets, TCP, HTTP 1.0 and HTTP 2.0.
-
Unlike Node.js, Swoole spans multiple event-loops on Multiple-processes making effective utilization of all computing (CPU) resource for higher throughput (hence, Cloud-effective). This makes Swoole is not limited to only one Process. However, it may allow single-process environment through simple Configuration settings (Array).
-
Swoole's (pre-emptive) co-routine based Asynchronous Programming Model is superior to asynch/await in .NET and Node as Coroutiens avoid "maintenance complexities" associated with Asycn/Await styled concurrency. Swoole Architecture is inspired by Go-lang and Netty.