内容简介:这是关于 Swoole 学习的第六篇文章:Swoole 整合成一个小框架。写了关于 Swoole 入门的 5 篇文章后,增加了不少的关注者,也得到了一些大佬的鼓励和建议,也有很多关注者都加了微信好友,交流之后发现一些朋友比我优秀还比我努力。发现持续写文章真的不是件容易的事,担心别人认为没价值,担心想法太幼稚或有漏洞被别人笑话,担心肚子里墨水太少,写不出来...
第 82 篇文章
这是关于 Swoole 学习的第六篇文章:Swoole 整合成一个小框架。
概述
写了关于 Swoole 入门的 5 篇文章后,增加了不少的关注者,也得到了一些大佬的鼓励和建议,也有很多关注者都加了微信好友,交流之后发现一些朋友比我优秀还比我努力。
发现持续写文章真的不是件容易的事,担心别人认为没价值,担心想法太幼稚或有漏洞被别人笑话,担心肚子里墨水太少,写不出来...
知道自己思路还不够清晰,逻辑还不够严谨,告诉自己没关系,一切都会好起来的,逆境才能成长嘛,敢写就是好的开始,以此来激励自己持续的学习和思考。
跑题了,说回正题。
这篇文章其实是读者的小小要求,事情是这样的:
读者:“亮哥,看了你的文章很有收获,将文章 Demo 放在本地直接就能运行了,太感谢了”
本人:“哈哈。。。有收获就好,感谢支持 ~ ”
读者:“我有一个小小的要求,现在每个文件都是独立的,我想部署到生产环境,想操作上更便捷,有日志...”
本人:“你说的不是框架吗?现在有很多现成的,看 Swoole 官网推荐的 Swoft、EasySwoole、MixPHP 等。详细的参考这个地址:https://wiki.swoole.com/wiki/page/p-open_source.html”
读者:“看了,发现文件太多了,看不懂,你能帮忙讲解下吗?”
本人:“What?我也是入门呀,要不我搞个简单的轮子吧”
......
于是就有了这篇文章,正好也是对前面 5 篇文章的复习吧。
效果
命令如下:
-
php index.php 可以查看到上图
-
php index.php start 开启服务(Debug模式)
-
php index.php start -d 开启服务(Daemon模式)
-
php index.php status 查看服务状态
-
php index.php reload 服务热加载
-
php index.php stop 关闭服务
index.php 这是文件名称,大家叫什么都可以。
目录结构如下:
目前就这几个文件,后期研究新的知识点会直接集成到这里面。
说说实现了什么:
1、启动了 WebSocket、HTTP、TCP、UDP 等服务。
2、WebSocket 例子,在 client/websocket 文件夹,实现了视频弹幕。
3、HTTP 例子,在浏览器直接访问:http://ip:port,逻辑代码在 controller 文件夹。
4、TCP 例子,在 client/tcp 文件夹。
5、UDP 例子,直接运行 netcat-u ip port
即可。
6、相关配置,在 server/config 文件夹。
代码
放不全,就放一个主要的文件吧(Core.php)。
小结
耗费了 3 个晚上的时间,终于完成了一个初版,比较初级,希望可以给入门的同学一个参考吧。
当然我自己也会继续完善它,后期的一些新知识点会集成到这里面,做成自己迭代的小项目。
初版比较糙,不喜勿喷。
后期会新增:
-
RPC
-
Coroutine - MySQL
-
Coroutine - Redis
-
Process
-
...
需要源码的,加我微信。(菜单-> 加我微信-> 扫我)
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- SSM框架整合
- Vue应用框架整合与实战
- 【Java】SSM框架整合 附源码
- 用 Docker 整合測試 Flutter 框架
- Next框架与主流工具的整合(二)—— 完善与优化
- 框架—SpringBoot整合Mybatis使用Druid数据源
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。