Swoft 介绍

框架特性

首个基于 Swoole 原生协程的新时代 PHP 高性能协程全栈框架,内置协程网络服务器及常用的协程客户端,常驻内存,不依赖传统的 PHP-FPM,全异步非阻塞 IO 实现,以类似于同步客户端的写法实现异步客户端的使用,没有复杂的异步回调,没有繁琐的 yield, 有类似 Go 语言的协程、灵活的注解、强大的全局依赖注入容器、完善的服务治理、灵活强大的 AOP、标准的 PSR 规范实现等等,可以用于构建高性能的Web系统、API、中间件、基础服务等等。

  • 代码同步,执行流程异步。
  • 内置协程网络服务器及常用的协程客户端,常驻内存,不依赖传统的 PHP-FPM,全异步非阻塞 IO 实现
  • 容器即对象。实例化,丢进去,取出来。

开发注意事项

开发注意事项

  • 禁止使用$_GET、$_POST、$GLOBALS、$_SERVER、$_FILES、$_COOKIE、$_SESSION、$_REQUEST、$_ENV等超全局变量。
  • 谨慎使用global、static关键字。
  • 不要在代码非协程环境中执行sleep以及其他睡眠函数,这样会导致整个进程阻塞. exit/die 是危险的,会导致 worker 进程退出。
  • 不要在业务代码中使用 swoole 不支持的 hook , 例如 MongoDB`,pgsql client`, 如果需要使用这些扩展需要单独开用户进程执行。
  • 无法 hook 的 io 都会同步阻塞进程, 导致协程无法切换, 直接的影响就是服务器大规模超时.
  • 不建议使用 curl 扩展 类似的GuzzleHttp, 推荐使用 swoft 封装的网络请求包
  • Swoole 短名开启 ,在 php.ini 中配置swoole.use_shortname = 'on'

Leave a comment

您的邮箱地址不会被公开。 必填项已用 * 标注