如何用好swoole/webman/workerman/hyperf呢

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等框架。

php zend内核引擎开发者现状

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具有极大帮助。

当然要了解更多可以学习以下内容

新课程c++开发PHP扩展实战

关于技术是否过时以及换编程语言问题

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。

  • 16
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,以下是一个安装 Hyperf 框架的 `yaml` 文件示例: ```yaml stages: - install - start install: stage: install image: docker:latest services: - docker:dind script: - docker run -d --name hyperf -v /mnt/hgfs/www/hyperf/:/hyperf-skeleton -p 9501:9501 -it --privileged -u root --entrypoint /bin/sh hyperf/hyperf:7.4-alpine-v3.11-swoole - docker exec -it hyperf sh -c "cd /hyperf-skeleton && composer config -g repo.packagist composer https://mirrors.aliyun.com/composer && composer create-project hyperf/hyperf-skeleton" artifacts: paths: - /mnt/hgfs/www/hyperf/hyperf-skeleton start: stage: start image: docker:latest services: - docker:dind script: - docker start hyperf - docker exec -it hyperf sh -c "cd /hyperf-skeleton && php /hyperf-skeleton/bin/hyperf.php start" ``` 这个 YAML 文件定义了两个阶段,第一个阶段为 `install`,用于在 Docker 容器中安装 Hyperf 框架及其相关依赖;第二个阶段为 `start`,用于在 Docker 容器中启动 Hyperf 框架。在 `install` 阶段中,我们使用了 `docker` 镜像,在 Docker 容器中执行了 `docker run` 命令来创建 Hyperf 容器,并执行了 `docker exec` 命令来执行安装 Hyperf 框架及其相关依赖的命令。在 `start` 阶段中,我们同样使用了 `docker` 镜像,在 Docker 容器中执行了 `docker start` 命令来启动 Hyperf 容器,并执行了 `docker exec` 命令来启动 Hyperf 框架。在 `install` 阶段中,我们还使用了 `artifacts` 关键字来指定将 Hyperf 框架所在的目录 `/mnt/hgfs/www/hyperf/hyperf-skeleton` 作为构建产物,以便在后续的阶段中使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北风之神Boreas

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值