/swoft

🚀 PHP Microservice Full Coroutine Framework

Primary LanguagePHPApache License 2.0Apache-2.0

swoft-logo

Latest Stable Version Build Status Docker Build Status Php Version Swoole Version Swoft Doc Swoft License Gitter

start-http-server

PHP microservice coroutine framework

中文说明

Introduction

Swoft is a PHP microservices coroutine framework based on the Swoole extension. Like Go, Swoft has a built-in coroutine web server and a common coroutine client and is resident in memory, independent of traditional PHP-FPM. There are similar Go language operations, similar to the Spring Cloud framework flexible annotations, powerful global dependency injection container, comprehensive service governance, flexible and powerful AOP, standard PSR specification implementation and so on.

Through three years of accumulation and direction exploration, Swoft has made Swoft the Spring Cloud in the PHP world, which is the best choice for PHP's high-performance framework and microservices management.

Feature

  • Built-in high performance network server(Http/Websocket/RPC/TCP)
  • Flexible componentization
  • Flexible annotation function
  • Diversified command terminal(Console)
  • Powerful Aspect Oriented Programming(AOP)
  • Perfect Container management, Dependency Injection (DI)
  • Flexible event mechanism
  • Implementation of HTTP message based on PSR-7
  • Event Manager Based on PSR-14
  • Middleware based on PSR-15
  • Internationalization(i18n) support
  • Simple and efficient parameter validator
  • High performance connection pool(Mysql/Redis/RPC),Automatic reconnection
  • Database is highly compatible Laravel
  • Cache Redis highly compatible Laravel
  • Efficient task processing
  • Efficient seconds crontab
  • Process pool
  • Flexible exception handling
  • Powerful log system
  • Service registration & discovery
  • Service breaker
  • Service restrictions
  • Service fallback
  • Configuration Center
  • Apollo
  • Consul

Document

Discuss

Requirement

Install

Composer

composer create-project swoft/swoft swoft

Start

  • Http Server
[root@swoft swoft]# php bin/swoft http:start
  • WebSocket Server
[root@swoft swoft]# php bin/swoft ws:start
  • RPC Server
[root@swoft swoft]# php bin/swoft rpc:start
  • TCP Server
[root@swoft swoft]# php bin/swoft tcp:start
  • Process Pool
[root@swoft swoft]# php bin/swoft process:start

Core Components

Component Name Packagist Version
swoft-annotation Latest Stable Version
swoft-config Latest Stable Version
swoft-db Latest Stable Version
swoft-framework Latest Stable Version
swoft-i18n Latest Stable Version
swoft-proxy Latest Stable Version
swoft-rpc-client Latest Stable Version
swoft-stdlib Latest Stable Version
swoft-tcp-server Latest Stable Version
swoft-aop Latest Stable Version
swoft-connection-pool Latest Stable Version
swoft-error Latest Stable Version
swoft-http-message Latest Stable Version
swoft-log Latest Stable Version
swoft-redis Latest Stable Version
swoft-rpc-server Latest Stable Version
swoft-task Latest Stable Version
swoft-validator Latest Stable Version
swoft-bean Latest Stable Version
swoft-console Latest Stable Version
swoft-event Latest Stable Version
swoft-http-server Latest Stable Version
swoft-process Latest Stable Version
swoft-rpc Latest Stable Version
swoft-server Latest Stable Version
swoft-tcp Latest Stable Version
swoft-websocket-server Latest Stable Version

Extension Components

Component Name Packagist Version
swoft-apollo Latest Stable Version
swoft-breaker Latest Stable Version
swoft-crontab Latest Stable Version
swoft-consul Latest Stable Version
swoft-limiter Latest Stable Version
swoft-view Latest Stable Version
swoft-whoops Latest Stable Version

License

Swoft is an open-source software licensed under the LICENSE