ming/mx-fly

基于Swoole的现代高性能AOP和协程PHP框架

维护者

详细信息

gitee.com/yangjiaming/mx.git

安装: 0

依赖者: 0

建议者: 0

安全: 0

类型:项目

dev-master 2018-10-25 06:04 UTC

This package is not auto-updated.

Last update: 2024-09-27 13:07:09 UTC


README

    swoft

</a>

Latest Version Build Status Php Version Swoole Version Hiredis Version Swoft Doc Swoft License

中文说明

简介

第一个基于Swoole原生协程的高性能PHP协程全栈组件化框架,内置协程Web服务器和常用协程客户端,常驻内存,无需依赖PHP-FPM,异步非阻塞IO实现,类似于同步客户端的编写风格,以实现异步客户端的使用,无需复杂的异步回调,无需繁琐的yield,类似于Go语言的协程,灵活的注解框架,基于注解的强大全局依赖注入容器,以及强大的服务治理,灵活强大的AOP,PSR规范实现等,可用于构建高性能Web系统、API、中间件、基础服务、微服务等。

  • 基于Swoole扩展
  • 内置HTTP、TCP、WebSocket服务器
  • 强大的AOP(面向切面编程)
  • 灵活全面的注解框架
  • 全局依赖注入容器
  • 基于PSR-7的HTTP消息实现
  • 基于PSR-14的事件管理器
  • 基于PSR-15的中间件
  • 基于PSR-16的缓存设计
  • 可扩展高性能RPC
  • 强大的服务治理,回退,负载均衡,服务注册和发现
  • 数据库ORM
  • 通用连接池
  • MySQL、Redis、RPC、HTTP协程客户端
  • 协程驱动客户端和阻塞驱动客户端无缝自动切换
  • 协程和异步任务投递
  • 自定义用户进程
  • 支持RESTful
  • 支持国际化(i18n)
  • 高性能路由器
  • 快速灵活的参数验证器
  • 别名机制
  • 强大的日志组件
  • 跨平台应用程序自动重载

文档

中文文档
英文文档 尚未,请帮助我们编写它。

QQ群:548173319/778656850

环境要求

  1. PHP 7.0+
  2. Swoole 2.1.3+,需要协程异步Redis客户端选项
  3. Hiredis
  4. Composer

安装

手动安装

  • 克隆项目
  • 安装需要composer install

通过Composer安装

  • composer create-project swoft/swoft swoft

通过Docker安装

  • docker run -p 80:80 swoft/swoft

通过Docker-Compose安装

  • cd swoft
  • docker-compose up

配置

如果执行composer install时自动复制.env文件失败,可以在根目录下手动复制.env.example并将其命名为.env。注意,composer update不会触发相关的复制操作。

# Server
PFILE=/tmp/swoft.pid
PNAME=php-swoft
TCPABLE=true
CRONABLE=false
AUTO_RELOAD=true

# HTTP
HTTP_HOST=0.0.0.0
HTTP_PORT=80

# WebSocket
WS_ENABLE_HTTP=true

# TCP
TCP_HOST=0.0.0.0
TCP_PORT=8099
TCP_PACKAGE_MAX_LENGTH=2048
TCP_OPEN_EOF_CHECK=false

# Crontab
CRONTAB_TASK_COUNT=1024
CRONTAB_TASK_QUEUE=2048

# Settings
WORKER_NUM=1
MAX_REQUEST=10000
DAEMONIZE=0
DISPATCH_MODE=2
LOG_FILE=@runtime/swoole.log
TASK_WORKER_NUM=1

管理

帮助命令

[root@swoft]# php bin/swoft -h
 ____                __ _
/ ___|_      _____  / _| |_
\___ \ \ /\ / / _ \| |_| __|
 ___) \ V  V / (_) |  _| |_
|____/ \_/\_/ \___/|_|  \__|

Usage:
  php bin/swoft {command} [arguments ...] [options ...]

Commands:
  entity  The group command list of database entity
  gen     Generate some common application template classes
  rpc     The group command list of rpc server
  server  The group command list of http-server
  ws      There some commands for manage the webSocket server

Options:
  -v, --version  show version
  -h, --help     show help

启动HTTP服务器

// Start HTTP Server
php bin/swoft start

// Start Daemonize HTTP Server
php bin/swoft start -d

// Restart HTTP server
php bin/swoft restart

// Reload HTTP server
php bin/swoft reload

// Stop HTTP server
php bin/swoft stop

启动WebSocket服务器

启动WebSocket服务器,可选是否支持HTTP处理。

// Star WebSocket Server
php bin/swoft ws:start

// Start Daemonize WebSocket Server
php bin/swoft ws:start -d

// Restart WebSocket server
php bin/swoft ws:restart

// Reload WebSocket server
php bin/swoft ws:reload

// Stop WebSocket server
php bin/swoft ws:stop

启动RPC服务器

启动独立的RPC服务器。

// Start RPC Server
php bin/swoft rpc:start

// Start Daemonize RPC Server
php bin/swoft rpc:start -d

// Restart RPC Server
php bin/swoft rpc:restart

// Reload RPC Server
php bin/swoft rpc:reload

// Stop RPC Server
php bin/swoft rpc:stop

变更日志

变更日志

许可证

Swoft是一个开源软件,许可协议为LICENSE