基于swoole框架进行二次封装,php高性能业务框架编写思路

swoole已经是php高性能服务器事实标准,可以参考这个博客使用swoole开发业务框架

项目地址:https://github.com/neatlife/pframework

欢迎star,欢迎pr

⁃   框架执行的核心流程图如下(右键可查看大图):

  1. 通用组件尽量遵守psr进行实现,以提高对三方组件的兼容性
  2. 事件驱动

全局变量适配

swoole是从命令行启动,常驻进程运行,web请求处理依赖的全局变量比如 \(_SERVER, \)_GET, \(_POST, \)_FILES等不会随着每次请求的改变填上对应的值,swoole把这个每次请求的变量放在了Swoole\Http\Request对象中

Read more   2019/7/23 posted in  SWOOLE PHP

使用gdb调试工具上手调试php和swoole源码

swoole作为php的核心项目,php和swoole都具有一定的研究价值,由于是c语言编写的项目,要上手进行调试,那么最好用的调试工具就是gdb了

这个gdb调试工具功能强大,支持的选项也是非常多,下面就总结出来常用的命令

编译源码添加调试信息

在编译时把调试信息编译进生成的二进制文件中,需要给gcc编译器加上-g参数,比如编译php的Makefile中是这样的

加上-g参数就已经有调试信息了,-O0是关闭gcc的优化,这个gcc优化后会在调试时丢失一部分调试信息,所以一般建议关闭

这样在gdb里面就可以随时查看当前执行到源码的那个地方了,能够显著提升调试的效率

查看源码

Read more   2019/5/18 posted in  GDB PHP SWOOLE 源码分析