首页 » Web前端 » 不选用php技巧_我为什么不看好 PHP

不选用php技巧_我为什么不看好 PHP

访客 2024-12-09 0

扫一扫用手机浏览

文章目录 [+]

讲道理来说对 php 还是蛮有感情的,从第一次看到 HHVM,swoole , PHP7,再到后来 laravel reactphp php-pm 等项目,php 社区有着源源不断的潜力,和一群热爱开拓的人来给它续命。

糟心的设计

不选用php技巧_我为什么不看好 PHP

性能问题PHP 设计之初是没有过多考虑性能问题,同步壅塞模型非常适宜一样平常思维,多进程也一定办理了脚本措辞永劫光跑会不稳定的问题。
但是这样做的后果便是多进程十分占用 CPU 资源,进程须要等数据库操作。
而且 PHP 本身不常驻内存,像 laravel 这样重量级框架,每次要求须要从磁盘加载代码到内存,再实行,相应速率可想而知。
这就好比你开了一家饭铺,厨师炒菜慢,为了简化管理,你选择增加 100 个做事员,给顾客 1 对 1 做事。
而异步非壅塞模型,一个做事员通过排号点餐叫号,就实现了你上万个做事员要做的事情。
环境安装问题不得不吐槽,phpize + perl + composer 三连是 php 的一大败笔,当我们安装一个拓展时,最麻烦的情形是系统安装对应软件,phpize 编译,然后添加到 php.ini ,重启 php。
而对付 golang/Rust/Node.js/Python,比如 node.js 你只须要 npm install 就能安装好所有,乃至包含了拓展和各种包,它会自动编译。
以是,对付很多 php 开拓者来说,拓展等环境哀求耗费了很多无用功。
你可能会说,我用 phpstudy , laradock … 但是 Python golang node.js 这种,一个 apt install xxx ( yum install xxx )就办理了。
你可能会说,php 也可以用 apt 安装,但是对不起,你还须要安装它的七大姨八大姑,php-xm,php-json,php-xxxx 等十几个软件包。

生态方面

不选用php技巧_我为什么不看好 PHP
(图片来自网络侵删)
大司用的 php 并不是你用的 php事实上,用 php 的大公司不算多,Facebook 总的来说,我更乐意称他在用 PHP 的风格天生 C++ 代码。
微博更是有着无数 C 拓展,yaf 本身也是一个 C 拓展,其他一众公司基本上是 CI 这类框架为主,做视图层渲染,并且大都常驻内存。
真正能用到正宗 PHP 的基本上是没有。
软件生态整体来说,php 生态还算不错,Laravel 生态也值得一提。
相对来说,一些新兴的 swoole 框架就没那么火了。
PHP7 发布有许多年了,虽然支持类型定义,但是大部分 PHP 仓库都没有支持,比较之下,JavaScript 的生态对 Typescript 的支持要火热很多,大部分仓库都支持。
开拓职员问题PHP 目前的开拓生态是一个恶性循环,入门级开拓者偏多,导致 PHP 开拓组不敢做太大的变动,基于 php-cli 的框架的寥寥无几,利用 PHP7 的开拓者不算很多,那类型定义就更无从谈起了。
对付新鲜事物的接管程度如此。
企业生态不得不说的一个问题是,如果你学 PHP,而且对 C 和 swoole 不懂的话,那么你有很大的可能会入职外包公司。
而 swoole 这些对付一样平常公司来说,招人本钱太高,还不如直接 golang node.js 划算。
未来的前景开拓效率将不再是上风laravel 的火热,决定了 PHP 未来势必走上繁芜化这条路,越来越繁芜,越来越适宜写大项目,但本身性能和设计问题限定了它。
而 spring boot 等一众其他措辞框架,将会越来越大略,像 node.js 你只须要 npm install , npm start 就能启动项目,不须要管拓展,不须要配置 nginx 配置伪静态等等…措辞本身的限定太多PHP 本身供应了极为匮乏的系统层函数,你无法大略的操作和管理内存,做定时任务,做行列步队,做开启一个 websocket 端口,乃至处理串口通信,等等,将来这些操作将极为普遍,而 php-fpm 本身搞这些很麻烦。
你只能通过拓展,通过 C 和 C++。
运用处景PHP 除了它所流传宣传的开拓快,本身没有什么特色,不论是性能(相对付 JS 和 JAVA ),乃至没有 JIT,当然,更不适宜做 IO 密集型运用,或者像 JS 在浏览器,JAVA 在企业级运用,.NET 在 windows,有着很强的门槛或者措辞特色。
可预见的事实是,不管未来 微做事,区块链,AI,VR,AR 还是会出来 BR CR DR … 都不会有 PHP 一席之地。
这是一个很残酷的事实,而 PHP 如果做出重大改变,就意味着失落去原来的生态和开拓者。

总结

我无心挑起措辞之争,只是想见告很多 PHPer :

1. 你们可能在今后中碰着的很多问题,在其他措辞中都十分好办理。
比如操作 excel 文件 随意马虎内存透露,比如 做 websocket,比如做定时任务。

2. 措辞是去世的,人是活的,不管 C++ 也好,java 也罢,有很多值得程序员学习的东西,对个人是提高。

3. 对付 PHP 初学者来说,如果你十分讨厌外包的话,我建议你慎重考虑下,要不要连续学习 PHP。

4. 鸟哥和韩大 不推崇 laravel 的缘故原由也是由于它本身太弘大,不适宜 php-fpm。
并且从架构角度来说,CI 框架更好优化,把 IO 操作让给更适宜的程序或者措辞。

总的来说,PHP 现有的项目一大堆,做快速开拓还是可以,并且还有很多历史遗留的项目,在很永劫光内不会去世,乃至活得很好,你也不用担心奇迹,但从长远来看它并没有出息。

标签:

相关文章