# Swoft介绍 首个基于 Swoole 原生协程的新时代 PHP 高性能协程全栈框架,内置协程网络服务器及常用的协程客户端,常驻内存,不依赖传统的 PHP-FPM,全异步非阻塞 IO 实现,以类似于同步客户端的写法实现异步客户端的使用,没有复杂的异步回调,没有繁琐的 yield, 有类似 Go 语言的协程、灵活的注解、强大的全局依赖注入容器、完善的服务治理、灵活强大的 AOP、标准的 PSR 规范实现等等,可以用于构建高性能的Web系统、API、中间件、基础服务等等。 Swoft采用组件化管理,因此很容易扩展组件,如果官方提供的组件不能满足需求我们可以通过自己扩展来实现。另外Swoft很适用于微服务方面,内置RPC的支持,支持服务注册发现。内置了Consul服务发现的功能,仅需简单配置就可以实现微服务中的注册发现。 ### 我们可以使用Swoft做什么? * API接口 * 微服务 * 分布式应用 * Websocket服务器 * 任务处理 * 推送服务器 * 物联网服务器 * 多进程队列消费 在很长一段时间里面php一直被用于前端调用,很少人会用来写服务。自从Swoole出现之后使得php常驻内存成了可能,我们也可以在这里面使用上以前在php-fpm不太好使用的设计模式。例如:容器、注入、注解等。在非常驻内存框架里面如果我们使用容器当然也会有一定好处可以解决类的实例化和单例问题,但是有一个很大的问题,php在没有常驻内存的情况下,每一个请求进来都会不断的创建和销毁对象,会造成大量的资源浪费。 ### 有冲突的 下面列出一些已知的和swoole有冲突的php扩展,请使用swoft时不要安装或禁用它们: * xdebug * xhprof * blackfire * zend * trace * uopz ### 推荐环境配置 可以查看 swoft 下 Dockerfile 文件 更多介绍看:[关于Swoft](https://www.swoft.org/docs/2.x/zh-CN/README.html)