分类 function 下的文章

swoft http_server 控制器(controller) 中间件(middleware)


swoft通过启动httpserver来创建一个http服务,在传统的模式下我们需要基于nginx和php的组合来提供一个http服务,但是基于nginx和php的组合其实要性能要比较差一些,首先来分析一下nginx+php的通信流程吧

1.传统的fpm+nginx的web处理方式

1.nginx 做为服务端,监听80端口,接收前端的请求
2.nginx 作为客户端,通过fastcgi协议 连接php进程管理器 fpm
3.php的fpm 接收请求后分配php进程进行解析php文件,并返回

相当于一次web请求大致是这样的
client -> nginx -> fastcgi -> fpm(php) -> nginx -> client
这样一个流程,相当于其实多次过程调用对于性能损耗还是有点大的,而且在fpm进程的时候,会处理加载整个框架,结束后就关闭了,



swoft 的 server 监听事件


swoole的服务的启动基本就是设置好回调函数,对于Tcp服务有workerstart、recevie等进程启动,数据接收的回调事件,对于swoole事件只会触发主Server对象设置的监听事件,所以swoole底层只会触发唯一回调事件,那么对于swoft框架则在次基础上进行了扩展底层事件到达swoole后会分发给swoft的自定义事件
  • swoft中包含有三类事件


swoft 的bean 容器实验


Swoft 中一个 Bean 就是一个类的一个对象实例。 容器就是一个巨大的工厂,用于存放和管理 Bean 生命周期。
  • 这句话已经能够充分的说明问题了,swoft的任意class 在定义的时候可以加上他的注解注册到bean工厂中,然后在其他地方就可以任意调用了,非常方便,组件化的一种形式