Webman框架的依赖
"require": {
"php": ">=7.2",
"workerman/webman-framework": "^1.5.0",//
"monolog/monolog": "^2.0"
},
依赖的核心框架也是很久的了
webman-framework的核心依赖
"require": {
"php": ">=7.2",
"ext-json": "*",
"workerman/workerman": "^4.0.4 || ^5.0.0",//核心的依赖
"nikic/fast-route": "^1.3",//路由依赖
"psr/container": ">=1.0"
},
关于"nikic/fast-route"这个包的主人,大家可以看下面的文章,此人精通编译器,精通C/PHP/RUST等技术,一个德国人,这个包在各种框架用的很多像hyperf框架,easyswoole等框架。
Workerman的依赖
"require": {
"php": ">=8.1",
"ext-json": "*"
},
核心依赖当然是PHP啦。
workerman框架的东西要学以下内容【前置知识】即可消化理解。
https://edu.51cto.com/lecturer/14934648.html
掌握这2门内容对于驾驭和运用webman/workerman等将具有重大的技术认知和技术运用能力。
swoole的前置知识要具备哪些呢?
"Swoole 项目最初的想法是来自于之前所做的一个企业软件项目。当时大概是 2010 年底,公司产品有一个需求是用户可以任意生成一个 email 地址,然后其他用户可以向这个 email 发邮件,后台能实时将邮件内容解析成数据,并主动通知用户。当时项目使用 PHP 开发的,在实现这个需求时遇到了难题,PHP 只能依赖其他的 SMTP 服务器,通过 pop3 协议定时查收新邮件来完成,这样就不是实时的。如果要实现的实时系统必须自己写一个 TCP Socket Server
实现 SMTP
协议接收数据。当时 PHP
在这个领域几乎是空白,没有一套成熟的网络通信框架。为了实现需求,我从 socket
学起到 TCP/IP
、IO 复用、libevent
、多进程【学习PHP多进程物物联网2门即可掌握】,最后终于实现了这套程序。做完这个项目后我就想把这套程序开源出来,希望能帮助其他 PHPer 解决在这个领域的难题。如果能有这样一个框架,那么 PHP 就能从单纯地做一个 Web 网站延伸到更大的空间。"
其实SWOOLE老文档和新文档都有提到,很多PHPER用swoole之所以觉得难于掌握,主要还是缺乏 前置知识导致的。
建议就是学习
对SWOOLE以及相关生态框架如hyperf,easyswoole具有极大帮助。
当然要了解更多可以学习以下内容
关于技术是否过时以及换编程语言问题
https://www.bilibili.com/video/BV15b421i7xv/?spm_id_from=333.999.0.0
https://www.bilibili.com/video/BV1Dj411d7GQ/?spm_id_from=333.999.0.0
这2个白嫖视频即可解答你的疑问,swoole/workerman/webman/go/java/python/nodejs/rust/c++/...等语言都是使用同样的SOCKET API来调用TCP/UDP,并且基于此实现了各种应用协议,此SOCKET API是操作系统内置的函数,功能和名字已经几十年不变,这不就应了荀子讲的:“千举万变,其道一也”或是老子讲的:“道生一,一生二,二生三,三生万物”的话了嘛。
也就是说大家掌握学习了[LINUX 下PHP多进程和物联网课程的知识是可以平移技术经验或是技术认知去看JAVA.GO.PYTHON.RUST.等各种语言上的,不存在过时或是无用的问题]
学完以后的效果
可以自已手撸出workerman/webman/swoole核心,通过实践深化完善对此类网络框架/库应用的理解和驾驭能力,是前置必备基础铺垫知识。同时对于其它编程语言的生态也能触类旁通,因为它们都是使用同样的SOCKET API。