PHP这门语言还有市场么?
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">博主</span>十年码农,资深北漂,大厂小厂兜兜转转,阅项目无数,曾在入行之初对 .net嗤之以鼻,对java 不屑一顾,却对“PHP是世界上最好的语言”深信不疑,并誓言致死<span style="color: black;">保卫</span>PHP的荣耀和地位。然而,随着项目经验的<span style="color: black;">增多</span>,学习的深入,慢慢的认识到PHP的<span style="color: black;">有些</span>短板和劣势。</p>
<div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/19bfb829f3714f89bef0a1d1f86ae2bc~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1728276025&x-signature=QsPUufausJU%2BxkBMRWXQJSmcoGo%3D" style="width: 50%; margin-bottom: 20px;">
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">你们闭嘴,PHP是世界上最好的语言</p>
</div>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">然则</span>,<span style="color: black;">做为</span>一名Phper转语言真的是大势所趋么?继续在php<span style="color: black;">行业</span>深耕,把技术做专做精,不转行不行?相信<span style="color: black;">非常多</span>的phper都面临着跟<span style="color: black;">自己</span><span style="color: black;">同样</span>的徘徊,今天,<span style="color: black;">博主</span>就站在一个普通<span style="color: black;">研发</span>者的<span style="color: black;">方向</span>聊一聊:<span style="color: black;">博主</span>在<span style="color: black;">运用</span>PHP的感受和体会。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">PHP诞生于1994年,<span style="color: black;">是由于</span>Rasmus Lerdorf创建的一个简单的个人工具集。在早期,PHP的<span style="color: black;">重点</span>用途是与数据库进行交互,并生成动态的HTML内容。这使得<span style="color: black;">研发</span>人员<span style="color: black;">能够</span><span style="color: black;">按照</span>用户的请求动态地生成网页内容。这种能力使得PHP<span style="color: black;">作为</span>一种流行的<span style="color: black;">选取</span>,用于构建动态网站和Web应用程序。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">PHP是一种弱类型的动态语言,与Java等强类型静态语言相比,这种弱类型语言特性,<span style="color: black;">能够</span>使<span style="color: black;">研发</span>人员在<span style="color: black;">研发</span>过程中随心所欲,不必过度关注变量的类型转换,<span style="color: black;">研发</span>人员无需在变量定义时<span style="color: black;">表示</span>声明。在与数据库交互上,想用构造器就用构造器,想直接写sql 就<span style="color: black;">能够</span>直接在代码中构造sql,只要做好安全防护,不必要写<span style="color: black;">海量</span>冗余的与数据库字段一一对应的实体类。正是这种灵活性,使得<span style="color: black;">研发</span>人员<span style="color: black;">能够</span>快速测试和<span style="color: black;">调节</span>代码<span style="color: black;">规律</span>,从而加速了<span style="color: black;">研发</span>速度和迭代过程,PHP的学习曲线相对较低,初学者<span style="color: black;">亦</span><span style="color: black;">能够</span>快速的上手。在国内互联网高速发展的那几年,时间<span style="color: black;">便是</span>金钱,PHP正是在<span style="color: black;">这般</span>的背景下风头一时无两。<span style="color: black;">博主</span><span style="color: black;">亦</span>是在那几年入的坑。</p>
<div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/f4c98224695b4fb1aa92e64e2b018563~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1728276025&x-signature=I7akByfYbsYQaCqo8RMEqIc1WPQ%3D" style="width: 50%; margin-bottom: 20px;">
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">坑深似海</p>
</div>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">PHP生态庞大而混乱,国内外框架林林总总,<span style="color: black;">博主</span>用过的就有:Thinkphp,Ci,Yii,Yaf等,在<span style="color: black;">无</span>composer的年代,各个框架标准不一,互相之间不兼容。想必<span style="color: black;">初期</span>的Phper 都面临过<span style="color: black;">这般</span>的囧境,在第三方网站上找到的好用的工具包,拿到自己项目中<span style="color: black;">运用</span>时,为了符合自己项目的自动加载规则,改代码改到吐,还得面对<span style="color: black;">有些</span>莫名其妙的bug,线上<span style="color: black;">运用</span><span style="color: black;">更加是</span>得加倍的小心<span style="color: black;">小心</span>,有时为了安全起见不得不放弃而自己从头造轮子。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">直到Composer和PSR一系列标准的<span style="color: black;">显现</span>,才把PHP从野蛮发展的时代带到了现代文明的时代。Laravel框架—一个为web艺术家创造的框架,一经<span style="color: black;">面世</span>就受到了广大Phper的热烈欢迎,以<span style="color: black;">其简洁、优雅的语法、强大的功能和活跃的社区支持<span style="color: black;">作为</span>了PHP<span style="color: black;">研发</span>中的首选框架之一</span>。<span style="color: black;">同期</span>,<span style="color: black;">亦</span>引得像Thinkphp<span style="color: black;">这般</span>的国内框家的争相模仿。但不得不承认的是,PHP框架的<span style="color: black;">非常多</span>设计思想都借鉴了其他语言。Laravel框架借鉴了java的spring框架引入了依赖注入和<span style="color: black;">掌控</span>反转概念,<span style="color: black;">供给</span>了容器和服务<span style="color: black;">供给</span>者来管理对象和依赖关系。尽管Laravel框架在<span style="color: black;">研发</span>速度和<span style="color: black;">研发</span>效率方面<span style="color: black;">供给</span>了<span style="color: black;">非常多</span><span style="color: black;">优良</span>,但与<span style="color: black;">有些</span>更轻量级的框架相比,它的过度臃肿和性能消耗<span style="color: black;">始终</span>广受诟病。PHP在性能上的劣势,归根结底还是PHP语言本身设计上的缺陷。</p>
<div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/c79177fea4f444d8939bf7d54d880c22~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1728276025&x-signature=A%2BqAja5JZJzHUP7%2B6%2B%2B5ENujL88%3D" style="width: 50%; margin-bottom: 20px;"></div>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">PHP因web而生,<span style="color: black;">亦</span>被web所累,似乎在诞生之初就<span style="color: black;">无</span>干其他事情的基因。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">现如今程序语言百家争鸣,各个语言都在<span style="color: black;">区别</span>的<span style="color: black;">行业</span>有所建树,PHP到<span style="color: black;">日前</span>为止还是以<span style="color: black;">研发</span>b/s架构的web为主。在当下的移动互联网时代,互联网流量呈指数型<span style="color: black;">增多</span>,大流量高并发网站是当下主流,PHP语言本身在<span style="color: black;">研发</span>大流量网站上天然不具备<span style="color: black;">优良</span>。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">PHP本身并<span style="color: black;">无</span>直接处理底层网络连接的能力。它依赖于Web服务器来接收请求和发送响应。Web服务器负责与客户端<span style="color: black;">创立</span>和管理网络连接,并将请求传递给PHP解释器(FastCGI或PHP-FPM)</span>。PHP解释器只负责处理业务<span style="color: black;">规律</span>和生成响应,不直接与客户端进行网络通信。传统的PHP进程模型<span style="color: black;">一般</span>是每请求一个进程,这<span style="color: black;">引起</span>在高并发<span style="color: black;">状况</span>下需要频繁创建和销毁进程,消耗<span style="color: black;">海量</span>系统资源和时间。这种模型<span style="color: black;">针对</span>处理<span style="color: black;">海量</span>并发请求的性能较差。且PHP进程之间不共享状态,<span style="color: black;">每一个</span>请求都是独立的。这<span style="color: black;">寓意</span>着<span style="color: black;">没法</span>直接共享内存或数据结构,<span style="color: black;">引起</span>在处理<span style="color: black;">海量</span>并发请求时难以共享和管理数据,<span style="color: black;">增多</span>了<span style="color: black;">研发</span><span style="color: black;">繁杂</span>度。传统的PHP进程模型是IO阻塞的,当一个请求在执行数据库<span style="color: black;">查找</span>、文件读写等阻塞IO操作时,<span style="color: black;">全部</span>进程都会被阻塞,<span style="color: black;">没法</span><span style="color: black;">同期</span>处理其他请求。这会<span style="color: black;">引起</span>在高并发环境下性能下降。</p>
<div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/3ca60e218993409c8a4e880f87c6ba35~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1728276025&x-signature=K2zhaw0hsN%2BZ42X8ambqiqyWju4%3D" style="width: 50%; margin-bottom: 20px;">
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">头疼</p>
</div>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">虽然,<span style="color: black;">此刻</span>PHP<span style="color: black;">亦</span>诞生了像swoole<span style="color: black;">这般</span>的高性能,非阻塞IO的扩展,<span style="color: black;">然则</span><span style="color: black;">想要</span><span style="color: black;">运用</span>Swoole,需要重新编译PHP,<span style="color: black;">针对</span><span style="color: black;">已然</span>运行<span style="color: black;">数年</span>非容器化<span style="color: black;">安排</span>的老项目,升级起来<span style="color: black;">便是</span><span style="color: black;">劫难</span>。Swoole的协程<span style="color: black;">亦</span>借鉴了Golang 的协程,就连<span style="color: black;">起步</span>协程的go函数都<span style="color: black;">同样</span>,<span style="color: black;">倘若</span>项目真的需要高并发以及网络编程,<span style="color: black;">博主</span><span style="color: black;">意见</span>直接上Golang,毕竟Golang这门语言天生自带高并发。况且,万物上云的时代,Go<span style="color: black;">便是</span>为了云原生而生,<span style="color: black;">更加是</span>诞生了像 Docker、Kubernetes</span>、Etcd、InfluxDB<span style="color: black;">这般</span>的神级项目。而<span style="color: black;">一样</span>的,在容器化微服务时代,Java的生态要比PHP完善的多,Springboot以及Spring cloud 使Java<span style="color: black;">研发</span>微服务变得容易,国内大厂阿里巴巴的Spring cloud <span style="color: black;">整家</span>桶<span style="color: black;">更加是</span>锦上添花。这些都是是PHP所<span style="color: black;">不可</span>比的。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">总之,PHP<span style="color: black;">好似</span><span style="color: black;">始终</span>在模仿,而从来都<span style="color: black;">无</span>超越别人。Composer在某种程度上<span style="color: black;">亦</span>是受到了其他包管理工具的启发,是软件<span style="color: black;">研发</span>方式和程序运行<span style="color: black;">规律</span>变革大背景下的顺势而为,仿佛<span style="color: black;">无</span>一件东西是起源于PHP发扬于PHP。国内越来越多的大厂技术架构<span style="color: black;">亦</span>在慢慢的剥离PHP,向其他语言转型。在求职市场上,PHP的表现<span style="color: black;">亦</span>越来越差强人意,况且在国内如此内卷的大环境下,35岁的年龄是你想甩<span style="color: black;">亦</span>甩不掉的魔咒。你不改变就<span style="color: black;">寓意</span>着被优化和淘汰,<span style="color: black;">持续</span>学习是每一个程序员的宿命,<span style="color: black;">亦</span>是每一个程序员保持职业寿命的重要手段。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">因此</span>改变从什么时候都不晚,让<span style="color: black;">咱们</span><span style="color: black;">一块</span>行动起来吧。接下来<span style="color: black;">博主</span>会分享在学习其他语言的过程中遇到的问题和学习心得,<span style="color: black;">经过</span>搜索资料、阅读书籍整理成<span style="color: black;">文案</span>,分享给<span style="color: black;">大众</span>。</p>
<div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/f206addce90741508d657d647fb12191~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1728276025&x-signature=9O%2BX5mRsWPXuqStjJ%2FECL0e2%2Bv8%3D" style="width: 50%; margin-bottom: 20px;">
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">学无止境</p>
</div>
你的话语如春风拂面,温暖了我的心房,真的很感谢。
页:
[1]