网站首页 > 技术教程 正文
框架的出现,其本身就是为了解决开发效率的问题。将大量常用并且重复的功能,以适当的设计思想(例如MVC)封装起来。
首先PHP开发的Web系统的瓶颈一般都不在语言本身的执行层面,语言执行的耗时,只占据了整个系统的1%不到,主要耗时是在网络通信上。
因此,这里谈的框架效率问题,往往可以在Web系统中忽略不计。也有一些框架是通过PHP拓展的方式实现的,也就是说,使用C语言写的框架(使用上和纯PHP语言写的框架趋同,例如国内的yaf,是目前世界上执行效率最高的框架之一)。
关于说,PHP框架影响效率的问题。其实是更进一步的,语言执行效率之间的对比。例如,相同一段功能代码,PHP代码的执行效率不如C代码。这种场景,通常在更大规模的Web系统中才有明显的意义,例如Web系统是亿级别的访问量。为了尽可能节约CPU和内存等系统资源,进而达到减少服务器数量,最终为企业节约大量成本。
源生PHP和框架下PHP的效率对比,只能说使用场合不一样。源生PHP输出hello world比用框架快几百倍,但框架不是用来写hello word的。徒手打蚊子肯定比高射炮效率高几百上千倍。但高射炮是用来打蚊子的吗?
可以从执行效率和开发效率来比较下:
第一:执行效率:
源生快,直接解释PHP程序执行;
框架慢,加载一大堆组件后才执行。
第二:开发效率:
源生越往后越慢,因为代码很容易冗余,而且复杂度会变得极高;
框架越往后几乎不变,因为代码都被规范化,保证了代码的质量。
其实框架也是原生代码(除了个别被书写成php扩展的以外),框架把项目分成可变的和不变的两部分,不变的部分由框架内置代码完成,可变的部分由你完成。
用框架编程PHP架构清晰,维护方便,还有很多自带的工具类和函数,可以直接拿来用,比如数据库类,上传类等。用这些类能一两行就搞定功能,难道你每次操作数据库都要连接数据库?
用框架的话效率会比较快,有两点可以说明:
第一:框架也是用原生代码写的,只是将常用及底层(例如数据库连接等)操作封装成class与function,方便调用。
第二:多人开发使用框架较好,方便查看及理解对方代码。
源生PHP会对你的编程能力会提高很多。而且需要你要框架的时候你也能很快上手,不过在工作中用当然用框架的时候比较多,不管是自己的框架,还是开源框架,一味的自己去coding,就避免不了重复造轮子,效率会低,而且要能保证你写的底层代码比人家开源框架吊
框架这种东西最大的用处就是敏捷。然后用不用框架,用什么框架则基于系统复杂程度,使用程度等综合考虑。你说你就写一个hello world,用啥框架。现在成熟的框架也都在考虑提升性能,所以有时架构不合理的原生系统性能比很多框架还糟糕呢。
P.S:框架是用来在协作开发、敏捷开发等情况下用的,不是为了来追求运行效率的。
当网站小的时候框架会帮助我们开发的更快,当网站大的时候,框架帮助我们的越来越少,有时候甚至会成为负担。怎么区分大小,那就看pv吧。再说速度方面,影响速度的大多在文件读写和数据库上消耗最大。举个例子,你用php做上千次的循环',在加字符串拼写与做百次的数据库读取比比时间就知道了。而且想这种比较成熟的框架,开发人员都会做优化 。
想了解更多PHP问题找老师? 后盾网古老师企鹅: 1455067020
看完不要跑记得出来吐吐槽!╰( ̄▽ ̄)╮
- 上一篇: 兄弟连PHP培训 学习尖端技术促进高薪就业
- 下一篇: 什么是数据分析
猜你喜欢
- 2024-12-04 兄弟连PHP培训 学习尖端技术促进高薪就业
- 2024-12-04 一套开源的网校系统,无论是自建网校还是接副业都很方便
- 2024-12-04 什么是PHP?PHP培训都学什么?
- 2024-12-04 PHP培训主要学什么?PHP培训都有哪些课程?
- 2024-12-04 php培训都学什么?有哪些课程?
- 2024-12-04 华图资本投资IT培训机构兄弟连,投资额超亿元
你 发表评论:
欢迎- 最近发表
-
- Win10 TH2正式版官方ESD映像转换ISO镜像方法详解
- 使用iso镜像升级到Windows 10的步骤
- macOS Ventura 13.2 (22D49) Boot ISO 原版可引导镜像
- 安利一个用ISO镜像文件制作引导U盘的的小工具RUFUS
- CentOS 7使用ISO镜像配置本地yum源
- 用于x86平台的安卓9.0 ISO镜像发布下载:通吃I/A/N、完全免费
- AlmaLinux 9.6发布:升级工具、初步支持IBM Power虚拟化技术
- Rufus写入工具简洁介绍与教程(写入模式)
- 新硬件也能安装使用了,Edge版Linux Mint 21.3镜像发布
- 开源工程师:Ubuntu应该抛弃32位ISO镜像
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)