.github | ||
.travis | ||
bin | ||
doc | ||
src | ||
.gitignore | ||
.php_cs | ||
.travis.yml | ||
bootstrap.php | ||
CHANGELOG.md | ||
composer.json | ||
LICENSE.md | ||
phpstan.neon | ||
phpunit.xml | ||
README-CN.md | ||
README.md |
English | 中文
Introduction
Hyperf is a high-performance, highly flexible PHP CLI framework based on Swoole 4.3+
. It has a built-in coroutine server with a large number of commonly used components. It provides ultra-high and better performance than the traditional PHP-FPM-based framework and also maintains extremely flexible scalability at the same time. Standard components are implemented in the latest PSR standards, and a powerful dependency injection design ensures that most components or classes within the framework are replaceable.
In addition to providing MySQL coroutine client
and Redis coroutine client
, common coroutine clients, the Hyperf component libraries are also prepared for the coroutine version of Eloquent ORM
, GRPC server and client
, Zipkin (OpenTracing) client
, Guzzle HTTP client
, Elasticsearch client
, Consul client
, ETCD client
, AMQP component
, Apollo configuration center
, Token bucket algorithm-based limiter
, and Universal connection pool
, etc. Therefore, the trouble of implementing the corresponding coroutine version client by yourself can be avoided. Hyperf also provides convenient functions such as Dependency injection
, Annotation
, AOP (aspect-oriented programming)
, Middleware
, Custom Processes
, Event Manager
, Simply Redis message queue
, and Full-featured RabbitMQ message queue
to meet a wide range of technical and business scenarios.
Original intention
Although many new PHP frameworks have appeared, we still haven't seen a comprehensive framework, which introduces an elegant design and ultra-high performance, suitable for PHP microservices and as an evangelist of PHP microservices. For the original intention of Hyperf and its team members, we will continue to invest in it, and you are welcome to join us to participate in open source development.
Design concept
Hyperspeed + Flexibility = Hyperf
, from the framework name we have been used hyperfspeed (ultra-high performance)
and flexibility
as the gene of Hyperf.
For ultra-high performance, Hyperf based on the Swoole coroutine, it providered an amazing performance, Hyperf team also makes a lots of code optimizations on the framework design to ensure ultra-high performance.
For flexibility, based on the powerful dependency injection component of Hyperf, all components are based on PSR and the contracts that defined by Hyperf, so that most of the components or classes within the framework are replaceable and re-useable.
Based on the above characteristics, Hyperf has a lots of possibilities, such as implementing Web servers, gateway servers, distributed middleware software, microservices architecture, game servers, and Internet of Things (IoT).