通过对PHP两种模式生命周期的学习,忽然明白了几种不同类型的框架之间为什么性能上面差距那么大。下面是我的思考和理解,希望老师能看下,我的理解存不存在问题。
1.原生php代码-----用最少的php代码实现需要,开发效率不高,但是每次请求解析脚本少
2.以laravel为代表的框架------使用设计模式将一些web开发常用的功能封装成类,开发效率高,每次请求都需要加载大量的框架文件,即使是一个简单的打印hello world.
此种类型的框架性能主要损耗在每次请求都需要解析大量的框架脚本文件,并发量一大,会消耗大量的内存
3.以phalcon、yaf、yar为代表的C扩展框架-----将框架的核心功能用C语言实现,不用大量解析框架文件
C扩展框架,性能上面又将我们拉回到第一种情况,使用最少的php代码实现业务需求,但是开发效率会比第一种要快
4.基于swoole扩展开发的框架,以swoft、EasySwoole为代表的框架,基于swoole将传统PHP框架和swoole_server结合的Lawoole(基于laravel)
基于swoole扩展的框架,通过启动swoole_server是将框架代码在worker启动后,加载带worker进程,常驻到进程中,业务上开发,由于框架提供了很多功能,开发效率上也很高,框架核心代码也只在worker进程启动时加载一次。