ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### Q:swoolefy是什么? A:swoolefy是一个基于swoole扩展实现的轻量级高性能的常驻内存型的API和Web应用服务框架。 swoolefy的设计思想汲取了Tp5,Yii2,workerman,swooole-framework,easyswoole等框架的优秀设计思想,并结合本人多年的技术积累以及实践经验,它一定不是最优秀的框架,但是这是一个适合学习swoole的框架,特别适合中小团队。 ### Q:我为什么要开发swoolefy A:开发swoolefy并不是一头热地想重复造轮子,2016年是我第一次接触swoole,当时swoole还是1.8.3版本,已经算是比较完善的异步通信网络扩展了。基于当时公司需要处理大量录播视频,实现视频剪切,合并,打点,自动抠封面,视频切片等,第一次使用swoole和ffmpeg结合,作为守护进程任务式实现了。在后来电商的独立的短信服务,邮件服务,搜索服务,推送服务,订单服务,定时任务,统计,websocket等都使用swoole来实现独立的服务。一次又一次的感受到了swoole的强大之处,很多以前php做不到的事,swoole基本都可以实现,作为phper,当感受它的强大之后,你会觉得很兴奋,后来觉得有必要将swoole整合成一个更简单的框架,毕竟swoole是一个网络底层框架,实际使用起来还是有点困难的。在2017年8月份,我个人正式利用业余时间开始swoolefy的编码工作,也算是个人的知识积累的过程。 ### Q:为什么叫Swoolefy? A:Swoolefy,这几个字母组合起来,当你把目光从远点看来,感觉就像一个飞翔的天使,展翅翱翔天空一样,当然这是个人感受,所以就有了Swoolefy这个...... ### Q:swoolefy最重要特性有哪几方面 ### A:只要体现在一下四个主要特性: #### 轻量级: swoolefy是一个完全基于php7实现的框架,大量使用了php的新特性,封装必要的管理、功能类或者组件,实现多协议下的代码高度复用。 #### 高性能: 一方面是基于swoole原生的高性能,另一方面基于框架本身设计,没有过多冗余,过度封装,在缓存,调度,ioc,单例等模式上优化,解决很多协程细节上的问题。 #### 协程级: 主要是swoole的原生支持,框架通过注册协程单例模式,本身解决了协程共享变量安全问题。 #### 开放性: swoolefy并没有过度封装,很多都是面向对外的接口方式,提高适配性,开发者可以自由发挥创建,不限于框架本身。 ### Q:如何加入swoolefy? A:巨人swoole在4.3.0版本后,整体特性趋于稳定。swoolefy是站在巨人的肩膀的实现的,目前达到预期的稳定阶段。接下来阶段,swoolefy会邀请,或者接受一些优秀的开发者加入,对于有意愿的开发者,可以先提交PR。 ### Q:swoolefy文档更新情况? A:swoolefy的文档目前是整体文档,基本趋于最新的,但是很多细节功能还没有写,建议开发者需要结合代码可以来理解很多的使用方法,这也是了解,学习框架的一种好方法。后续会付出更多精力来完善文档 **swoolefy全面支持swoole4.x的原生协程,推荐使用swoole4.2.13+版本,推荐4.3.+** * * * * * #### swoolefy的核心特征 - [x] 路由与调度,MVC三层,多级配置 - [x] 支持composer的PSR-4规范 - [x] 支持自定义注册命名空间,快速部署项目,简单易用 - [x] 支持httpServer - [x] 支持websocketServer,udpServer - [x] 支持基于tcp实现的rpc服务,开放式的系统接口,可自定义协议数据格式,并提供rpc-client组件 - [x] 支持容器,组件IOC - [x] 支持协程单例注册 - [x] 支持mysql协程组件,redis协程组件,mongodb组件,提供基于tp改造的swoolefy-orm协程mysql组件 - [x] 支持mysql的协程连接池,redis协程池 - [x] 异步务管理TaskManager,定时器管理TickManager,内存表管理TableManager,自定义进程管理ProcessManager,进程池管理PoolsManger - [x] 支持底层异常错误的所有日志捕捉 - [x] 支持自定义进程的redis,rabitmq,kafka的订阅发布,消息队列等 - [x] 支持crontab - [x] 支持定时的系统信息采集,并以订阅发布,udp等方式收集至存贮端 - [x] 命令行形式高度封装启动|停止控制的脚本,简单命令即可管理整个框架 - [ ] 分布式服务注册(zk,etcd,未来主要实现) #### GitHub https://github.com/bingcool/swoolefy 欢迎start以及使用 #### 技术交流 QQ群:735672669,欢迎加入! 个人博客:https://blog.csdn.net/u012979009