laravel是php架构最垃圾的性能?
作者:饿了就吃节操
虽然问题问的非常冲,但是确实值得探讨。
先说结论,Laravel 让人感觉良好 —— 所谓的开发舒适度,才是正常的,这本身就是 Laravel 的优势,也是其在性能存在如此严重的缺陷的情况下,广受欢迎的原因。
我觉得不要用惯性思维看待这个现象,这样才能发现这个里面的真实因素,客观看待会学到很多。
下面正式回答:
首先 Laravel 诞生之初的确是 PHP 中的一股清流,耳目一新。PHP 本身就是一门简单快捷的脚本语言,但当时整个大环境是毫无章法的,由于其『草根』特性,整个生态的代码质量可以说惨不忍睹毫无标准化可言。
而 Laravel 可以说极大的改善了当时的情况,虽然这不只是这个框架的功劳,但因为它而学习接纳 PSR 规范的人的确占了相当大的比例。
为什么偏偏是它呢?因为当时没有几个框架将 PHP 5.3 以后的特性运用的恰到好处的。很多框架或库的开发者更多注重旧特性和兼容旧环境导致很多优秀的特性无法被利用。Laravel 对特性的利用不仅仅是为了用而用,的确提升了开发效率以及开发体验。虽然当时 Yii 也做到了很多优秀的体验,但相对于 Laravel 而言,确实欠缺了很多美感。
Laravel 的框架设计确实很漂亮,可以说是 PHP 设计模式的教科书级别。尤其是中间件那部分的实现,巧妙至极。虽然对于技术领域这不算什么,但在这个圈子,绝对是少见的。Laravel 的代码一定是值得每个 PHPer 学习的。
缺点也因此而来。漂亮的代码,对于解释型的脚本语言来说,就是灾难了。
封装是否过度我觉得见仁见智,但无论怎样,对于解释型语言,任何形式的封装都会明显带来极高的性能开销。这种开销恰好是最容易出瓶颈的 IO 部分。当然,CPU 也会有明显的占用提升。
而 Laravel 的整个运行生命周期,完全就是明踩着 PHP 最容易降低性能的点来的。例如请求体和响应体的封装,这本身就是 PHP 处理好的部分,却仍然进行包装。典型的高效开发,低效运行。
不过,我觉得,Laravel 的问题和缺点是源于 PHP 这种极其特殊的语言底层导致的,PHP 这种运行模式注定了其性能糟糕至极。只能通过诸如 swoole 来减少生命周期中重复构建带来的开销,这样的方式比起很多框架依旧优势不明,但也算是有效的解决办法。
不过良好的设计,使得组件可以被打散再利用,结合更为精简的架构,可以在相当多的地方发光发热,完全可以只用部分 Laravel 组件,这也算是另一种优势。
而这就是 Laravel 给我们身后带来的整个生态进步,带来的更多可能。这也是其存在的价值,以及属于它的优雅体现。即使在很多场合没那么合适,但依旧不妨碍它是值得学习的框架,值得利用的框架,一个值得感觉良好的框架。
那么抛开学习和个人项目层面,对于商业项目,因地制宜,选择最适合需求的方案才是关键,是不是 Laravel 或者其他框架,并不重要。
本站(www.100xue.net)部分图文转自网络,刊登本文仅为传播信息之用,绝不代表赞同其观点或担保其真实性。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系(底部邮箱),我们将及时更正、删除,谢谢