登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
园子
关于
博客
发1篇日志+1圆
记录
发1条记录+2圆币
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
VIP申请
网盘
联系我们
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
资源区
›
代码
›
为什么说 Swoole 是 PHP 程序员技术水平的分水岭? ...
为什么说 Swoole 是 PHP 程序员技术水平的分水岭?
[ 复制链接 ]
乳杂丫
前天 14:18
大家好,我是码农先森。
谈到这个话题有些朋友心中不免会有疑惑,为什么是 Swoole 而不是其他呢?因为 Swoole 是基于 C/C++ 语言开发的高性能异步通信扩展,覆盖的特性足够的多,有利于 PHP 程序员接触更全面的技术知识点。大多数的朋友踏入到 PHP 的大门都是因其简单的语法及其弱类型的特性,还有各种集成环境安装包、简单易用的框架,随随便便就可以快速的搞出一个系统,这就让 PHP 在我们心中落下的「简单易用」的印象。
这种印象就注定了 PHP 程序员在编写代码的过程中,怎么简单怎么来,随便的很,不瞒你说我还见过用中文来命名变量的,这简直颠覆了我的编程认知,好歹你用拼音也比中文强吧。不过为了良好的编程习惯,最好还是用英文单词,毕竟我们也要与国际接触嘛,自己的代码放到 GitHub 上也要让国际友人看的懂吧。话又说回来,很多时候 PHP 靓仔们写的代码,过一段时间后自己都看不懂了,更别提其他人了。我经常听到有人到处吐槽,前人的代码写的和屎一样有又长又臭惨不忍睹,然后你还要憋着内伤在这坨屎上绣上一朵花,这场景不堪回首哈哈。
差点写跑偏了,还是揪回我们这次的主题吧。分水岭这个词大家都挺熟悉的,但是在这里就是把 PHP 程序员分成了两拨人了,一拨是一直在以 PHP-FPM 同步编程模式下编程的人,另一拨是以 Swoole 异步编程模式为代表的编程人。我们在 PHP-FPM 模式下编程时,集成环境一启动,就把 PHP-FPM 进程管理器、Nginx 服务、MySQL 服务全部都给搞起来了,不需要关心其中的细节,如果想要增加新项目就在 Nginx 的 vhost 目录,配置一个本地域名重启一下 Nginx 就完事了,要是遇到项目总是报错迟迟无法访问,就反复重启集成环境,运气好点的重启一两次就莫名的好了,倒霉的就凉凉了,又要操蛋的重装集成环境了,更有甚者直接重装操作系统,一顿操作猛如虎。还有在这种模式下,我们也不需要关心内存的使用情况,变量想定义多少搞多少,外部资源随意加载,从数据库查询数据全部都是 select * 的骚操作,管它用不用的上全部都搞出来再说,如果造成接口访问时间过长,就全部怼到 Redis 缓存中去,美其名曰这是高级的性能优化方案。要是懂得点异步技术的靓仔,还会在比如发送短信等的场景下,使用一下 Redis 消息队列,异步给用户发送消息而不阻塞同步接口,从而使系统的并发性能得到提高。
长期在 PHP-FPM 模式下编程的人,几乎不用懂操作系统、网络协议等基础知识,协议上不管怎么用都只有 HTTP 协议。然而在 Swoole 异步编程模式下,不懂这些基础知识那可就行不通了,除了 HTTP 协议还有 WebSocket 协议、MQTT 协议、TCP 协议、UDP 协议,甚至还可以自定义网络协议,如果你对基础协议知识不了解,那刚开始学习 Swoole 估计就要夭折。其次 Swoole 中的协程、通道、多进程编程,就涉及到了操作系统的多路复用、IO调度策略、进程间通信、进程管理等知识,这些统统都是计算机的底层知识,是在 PHP-FPM 编程模式下接触不到的。还有在 Swoole 中可以针对数据库连接打造数据库连接池,高效的复用数据库连接资源,不用每次都重新连接数据库,避免资源的浪费。正是这些基础知识把大多数 PHP 程序员困在了低水平重复的技术区域里,因此要学好 Swoole 需要先学习计算机底层知识,然后再反复的利用 Swoole 进行实践,两者相辅相成便可好好打磨自己的技术。
可以说在 PHP 领域 Swoole 就是这些基础知识的具体体现,深入理解了 Swoole 并且能应用好,就能让自己的技术水平上一个新的台阶,超越大多数的 PHP 程序员。同时掌握了这些基础知识横向学习其他的语言也会易如反掌,原因是大多数语言的本质都是相通的,了解了其内在本质基本上就能做到一通百通。在这个持续内卷的时代,是时候让自己炼就一些不可或缺的内功了,不要让自己每天都疲于奔命在学习层出不穷新框架的路上,而是要掌握事物的根本规律以不变应万变,打造自己的知识壁垒墙,争取在内卷这场风暴中苟活下来。本次分享的内容到这里结束了,希望对大家能有所启发。
感谢阅读,个人观点仅供参考,欢迎在评论区发表不同观点。
欢迎关注、分享、点赞、收藏、在看,我是微信公众号「码农先森」作者。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
本地部署deepseek,并投喂数据
Swift whit Xcode 递归枚举实现(使用枚举模拟加减乘除复合运算)
[技术探索者手记] C++自学之路 × linux下搭建属于自己风格的FFmpeg开发项目框架
JAVA 24 环境安装与配置
HTTP-获取天气-dns版
libevent之bufferevents
【日记】每次修机器都有些头疼(721 字)
FastAPI与Tortoise-ORM开发的神奇之旅
【日记】今天好忙(391 字)
RabbitMQ简单介绍及常见面试题
重温c语言之,7天开整,就是随便的写写,第七天
FFmpeg开发笔记(四十三)使用SRS开启SRT协议的视频直播服务
物联网之使用Vertx实现UDP最佳实践【响应式】
CMake构建学习笔记14-依赖库管理工具
0.libevent学习笔记,从阻塞式socket开始
mORMot 1.18 第23章 使用纯SQL
关于EFCore插件API使用中踩过的坑
模拟实现 strcat(字符串追加) --浅谈C语言
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
乳杂丫
前天 14:18
关注
0
粉丝关注
5
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9996
谭皎洁
9998
常士
9998
4
斜素欣
9996
5
喝岖
9996
6
森萌黠
9996
7
堵赫然
9996
8
凶契帽
9996
9
贼瘁
9996
10
季卓然
9996
查看更多