刚入门php的小伙伴知道这些架构吗?
作者:黎发布时间:2020-10-17分类:电脑培训网-热点问答浏览:709
说起PHP,很多人会搬来Java这位业界老大,如果非要站在JAVA这边并用欣赏的眼光来看PHP,PHP相比Java的很显著优势之一就是快,不是性能的快,而是上手的快,开发的快,上线的快。
我们可以看到PHP由大大小小的模块组成,很明显的解耦。我们具体看四个主要模块:
Zend 引擎
Zend 引擎是 PHP4 以后加入 PHP 的,是对原有PHP解释器的重写,整体使用 C 语言进行开发,也就是说可以把PHP理解成用C写的一个编程语言软件,引擎的作用是将PHP代码翻译为一种叫opcode的中间语言,它类似于Java的ByteCode(字节码)。也可以把Zend引擎类比为Java中的jvm。
引擎对PHP代码会执行四个步骤:
00001. 词法分析 Scanning,将 PHP 代码转换为语言片段(Tokens)。
00002. 解析 Parsing, 将 Tokens 转换成简单而有意义的表达式。
00003. 编译 Compilation,将表达式编译成Opcode。
00004. 执行 Execution,顺序执行Opcode,每次一条,以实现PHP代码所表达的功能。
APC、Opchche 这些扩展可以将Opcode缓存以加速PHP应用的运行速度,使用它们就可以在请求再次来临时省略前三步。
引擎也实现了基本的数据结构、内存分配及管理,提供了相应的API方法供外部调用。
Extensions 扩展
常见的内置函数、标准库都是通过extension来实现的,这些叫做PHP的核心扩展,用户也可以根据自己的要求安装PHP的扩展。
SAPI
SAPI 是 Server Application Programming Interface 的缩写,中文为服务端应用编程接口,它通过一系列钩子函数使得PHP可以和外围交换数据,SAPI 就是 PHP 和外部环境的代理器,它把外部环境抽象后,为内部的PHP提供一套固定的,统一的接口,使得 PHP 自身实现能够不受错综复杂的外部环境影响,保持一定的独立性。
通过 SAPI 的解耦,PHP 可以不再考虑如何针对不同应用进行兼容,而应用本身也可以针对自己的特点实现不同的处理方式。
上层应用
程序员编写的PHP程序,无论是 Web 应用还是 Cli 方式运行的应用都是上层应用,PHP 程序员主要工作就是编写它们。
下面是PHP的执行过程:
可以看出,PHP脚本执行之前都会去共享内存中看是否有OpCode的缓存,如果有就直接加载然后被Zend引擎直接执行,否则就需要先对脚本解析和编译并且将编译出的OpCode存入共享内存,方便下次调用。
OpCode被执行后会被SAPI进行处理,然后和前端页面整合压缩后再由服务器(通常为Apache或者Nginx)发送给浏览器显示在前端页面。这就是PHP脚本执行的过程
相关推荐
- 肇庆信息:广东省2024年二级造价工程师职业资格考试报考通知|||北大青鸟计算机培训中心
- 东莞信息:广东省2024年高校毕业生“三支一扶”招募工作启动!东莞计划招募100人|||电脑计算机编程培训学校
- 中山信息:广东省2024年二级造价工程师职业资格考试报考须知|||北大青鸟计算机培训中心
- 东莞信息:莞城街道“南粤家政”基层服务示范站和北隅社区“南粤家政”基层服务站系列活动|||计算机培训学校招生
- 东莞信息:(沙田)2024年沙田镇春风行动暨“南粤春暖”行动系列招聘会圆满举办|||大学生计算机培训学校
- 东莞信息:(横沥)横沥镇大力宣传推广使用“就莞用”码|||中专学计算机平面设计女生可以学计算机网络技术好吗
- 东莞信息:2023年东莞市国民经济和社会发展统计公报(人民生活和社会保障部分)|||电脑计算机编程培训学校
- 东莞信息:中华人民共和国档案法实施条例|||广州计算机编程培训
- 东莞信息:(横沥)横沥镇开展民营企业服务月招聘活动|||计算机培训学校招生
- 东莞信息:(塘厦)公共服务进校园,塘厦人社分局在行动|||广州计算机软件培训
- 电脑培训网-热点问答排行
-
- 1广州职业培训介绍-广州市花都区东方均膳职业培训学校-培训内容-地址-联系方式
- 2东莞职业培训介绍-东莞市稻香中菜厨艺职业培训学院(麻涌考点)-培训内容-地址-联系方式
- 3从2022年软件和IT服务业收入看行业发展
- 4计算机等级考试问答-报考时选错级别科目,但已缴费可否重置修改?-北大青鸟教育-教育实力
- 5计算机等级考试问答-报名缴费重复缴了两次,会自动退费吗?-北大青鸟教育-教育实力
- 6计算机等级考试问答-没有参加过计算机一级的,可以直接报考二级吗?-北大青鸟教育-特色教育
- 7技能+学历,这是一个不同以往的选择
- 82023年9月计算机等级考试介绍-考生报名流程-北大青鸟教育-就业实力
- 9高考落榜读-广州市蓝天高级技工学校专业好不好-计算机类好么-北大青鸟计算机编程培训怎么样
- 最近发表
-
- 肇庆信息:广东省2024年二级造价工程师职业资格考试报考通知|||北大青鸟计算机培训中心
- 东莞信息:广东省2024年高校毕业生“三支一扶”招募工作启动!东莞计划招募100人|||电脑计算机编程培训学校
- 中山信息:广东省2024年二级造价工程师职业资格考试报考须知|||北大青鸟计算机培训中心
- 东莞信息:莞城街道“南粤家政”基层服务示范站和北隅社区“南粤家政”基层服务站系列活动|||计算机培训学校招生
- 东莞信息:(沙田)2024年沙田镇春风行动暨“南粤春暖”行动系列招聘会圆满举办|||大学生计算机培训学校
- 东莞信息:(横沥)横沥镇大力宣传推广使用“就莞用”码|||中专学计算机平面设计女生可以学计算机网络技术好吗
- 东莞信息:2023年东莞市国民经济和社会发展统计公报(人民生活和社会保障部分)|||电脑计算机编程培训学校
- 东莞信息:中华人民共和国档案法实施条例|||广州计算机编程培训
- 东莞信息:(横沥)横沥镇开展民营企业服务月招聘活动|||计算机培训学校招生
- 东莞信息:(塘厦)公共服务进校园,塘厦人社分局在行动|||广州计算机软件培训
- 标签列表
-