产品官网 a>
首页 a>
问答 a>
专栏 a>
话题 a>
商城 a>
标签库 a>
视频教程 a>
首页
问题库
资讯专栏
问答专家
标签库
课程中心
NEW
发布
提问题
发文章
php7卓越性能背后的原理有哪些?
财富值49
2016-08-19 08:18
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
4006
10
4
PHP7卓越性能背后的原理有哪些?
10条回答
南宫364
- 可惜我不是陈奕迅,也不是k歌之王,我能给你的就只有稳稳的幸福。
2016-08-19 08:11
喷答主
@朱涵俊
说php没法常驻内存的人,是没理解答主的意思,看不下去了我要出来解释一波。本来想发评论下面的结果字数限制。。匿了
-------------------技术分割线------------------
99%的网站都会用到mvc架构,那php的框架是怎么工作的呢?首先网站根目录会一个apache的配置文件,也就是.htaccess,这个文件告诉apache将所有的请求重定向到index.php,也就是框架的入口文件,然后框架会根据url来匹配对应的路由,没错这一层就是MVC的Controller部分,然后如果路由匹配成功就会执行路由下面程序员写的业务逻辑代码,但业务里面是需要经常访问数据库的,如果一条一条的拼接sql语句那就太麻烦了,所以这时候就要把对数据库的操作按目的的封装成一个个可重用的模块,没错这一层就是MVC里面的Model层,然后通过Model拿到所需的数据后要呈现给用户啊,最后终于轮到View层出马了,view层是由程序员编写的网页模板文件和渲染引擎构成的,将参数和模板文件传给模板引擎,最后模板引擎将渲染完成后的html代码返回给apache,apache再将网页返回给用户的浏览器解析。
从用户点击一个链接到看到网页,也就一眨眼的功夫,没想到php经历了这么多~聪明的你发现了吗?用户每点一次链接,php都会从头从index.php入口文件开始执行,直到最后view渲染出页面~omg我大php表示我的心真的好累~
回到正题,答主一再强调“php每次都要从头执行代码!从头执行代码!从头执行代码!”,你们真的有听明白吗?
为什么说这点是php相比较其他语言慢的原因,你想想啊一个普通的php框架代码量再怎么也有2、3M吧,也就是说每收到一个请求php都会载入一次框架然后从头开始执行,还要执行程序员写的业务逻辑代码。但是java或者nodejs等就不一样了,这些语言写的网站也会用到框架,但是他们的代码和框架是常驻内存的,也就是说每次收到请求后直接就可以立即执行程序员的业务代码了,而不用像php那样要先载入框架controller层解析路由然后再载入model层解析模型代码最后再载入view层解析模板~
这虽然不是php相对较慢的主要原因,但这绝对是php相对其他语言效率较低的重要原因之一,这并不是php烂而是跟php的运行机制有很大原因,以言论仅代表个人立场。大概就这样,没事找事挑刺儿挑我语法问题的人请走开。
加载中...
查看其它10个回答
一周热门
更多
>
相关问题
蔺相如的成功背后有哪些因素在起作用
2 个回答
超微粉碎设备的工作原理及性能是什么?
1 个回答
微波真空干燥的原理有哪些?
2 个回答
消毒设备有哪些?他们的作用原理分别是什么?
3 个回答
淬火后不同碳含量的钢的性能有何不同?造成这些差异的因素有哪些?
0 个回答
谁帮我详细介绍一下全自动对位贴合机有哪些工作原理及使用方法?
0 个回答
证件照背后有地址、日期和相铺名称,可以做到吗
0 个回答
高标号汽油与低标号汽油的挥发性能其别在哪些方面
0 个回答
ucenter1.6不支持php7,有什么办法可以修复?
1 个回答
相关文章
陈能宽病逝 23位"两弹一星"功臣中已有17人离去
有17人离去" class="anum">0个评论
uc_server、Ucenter完全兼容php7+下载,无需安装duscuzX,已测试通过
2个评论
ask2问答系统安装最低环境要求
1个评论
下一代石墨烯电池:手机五分钟充满电量
0个评论
本田CR-Z混动钢炮将停产 冷落背后是迷途
0个评论
广州一本上线人数11622人 文理科前200全省最多
0个评论
php培训内容有人了解吗?
0个评论
高速转弯不减速? 马自达发布精密转向系统
0个评论
女子2年前买二手冰箱 背后纸板制成一抠就烂
0个评论
对焦更快更安静 解析佳能STM步进式马达
0个评论
×
关闭
采纳回答
向帮助了您的知道网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
×
付费偷看金额在0.1-10元之间
确定
×
关闭
您已邀请
0
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
-------------------技术分割线------------------
99%的网站都会用到mvc架构,那php的框架是怎么工作的呢?首先网站根目录会一个apache的配置文件,也就是.htaccess,这个文件告诉apache将所有的请求重定向到index.php,也就是框架的入口文件,然后框架会根据url来匹配对应的路由,没错这一层就是MVC的Controller部分,然后如果路由匹配成功就会执行路由下面程序员写的业务逻辑代码,但业务里面是需要经常访问数据库的,如果一条一条的拼接sql语句那就太麻烦了,所以这时候就要把对数据库的操作按目的的封装成一个个可重用的模块,没错这一层就是MVC里面的Model层,然后通过Model拿到所需的数据后要呈现给用户啊,最后终于轮到View层出马了,view层是由程序员编写的网页模板文件和渲染引擎构成的,将参数和模板文件传给模板引擎,最后模板引擎将渲染完成后的html代码返回给apache,apache再将网页返回给用户的浏览器解析。
从用户点击一个链接到看到网页,也就一眨眼的功夫,没想到php经历了这么多~聪明的你发现了吗?用户每点一次链接,php都会从头从index.php入口文件开始执行,直到最后view渲染出页面~omg我大php表示我的心真的好累~
回到正题,答主一再强调“php每次都要从头执行代码!从头执行代码!从头执行代码!”,你们真的有听明白吗?
为什么说这点是php相比较其他语言慢的原因,你想想啊一个普通的php框架代码量再怎么也有2、3M吧,也就是说每收到一个请求php都会载入一次框架然后从头开始执行,还要执行程序员写的业务逻辑代码。但是java或者nodejs等就不一样了,这些语言写的网站也会用到框架,但是他们的代码和框架是常驻内存的,也就是说每次收到请求后直接就可以立即执行程序员的业务代码了,而不用像php那样要先载入框架controller层解析路由然后再载入model层解析模型代码最后再载入view层解析模板~
这虽然不是php相对较慢的主要原因,但这绝对是php相对其他语言效率较低的重要原因之一,这并不是php烂而是跟php的运行机制有很大原因,以言论仅代表个人立场。大概就这样,没事找事挑刺儿挑我语法问题的人请走开。
一周热门 更多>