PHP底层架构和运行流程

PHP底层架构自底向上是一个四层体系:

1、Zend引擎:Zend整体用纯C实现,是PHP的内核部分,他将PHP代码翻译(词法、语法解析等一系列编译过程)为可执行opcode的处理并实现相应的处理方法、实现了基本的数据结构(如:hashtable、OO)、内存分配机制及管理、提供了相应的api方法供外部调用,是一切的核心,所有的外围功能均围绕Zend实现。

2、Extensions:围绕着Zend引擎,extensions通过组件式的方式提供各种基础服务,我们常见的各种内置函数(array系列)、标准库等都是通过extension来实现,用户也可以根据需要实现自己的extension的典型应用)。

3、Sapi:Sapi全称Server Application Programming Interface,也就是服务端应用编程接口,Sapi通过一系列钩子函数,使得PHP可以和外围交互数据,这是PHP非常优雅和成功的设计,通过sapi成功的将PHP本身和上层应用解耦隔离,PHP可以不再考虑如何针对不同应用进行兼容,而应用本身也可以针对自己的特点实现不同的处理方式。

4、上层应用:这就是我们平时编写的PHP程序,通过不同的spai方式得到各种各样的应用模式,如何通过webserver实现web应用、在命令行下已脚本方式运行等等。

 

 

PHP的执行流程&opcode

 

 

 PHP动态语言执行过程:拿到一段代码后,经过词法解析、语法解析等阶段后,源程序会被翻译成一个个指令(opcodes),然后ZEND虚拟机顺次执行这些指令完成操作。PHP本身是用C实现的,因此最终调用的也是C的函数,实际上,我们可以把PHP看做一个C开发的软件。

 

 

参考:https://blog.csdn.net/u013308496/article/details/54633792

     https://www.cnblogs.com/zl0372/p/php_zend.html

转载于:https://www.cnblogs.com/CloudStrife/p/9650911.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以回答你的问题。 首先,让我们来看看静态网站架构流程: 1. 确定网站需求和目标:这包括了网站所要提供的功能,目标受众,以及网站的整体设计风格等。 2. 网站设计:网站设计包括页面布局、色彩搭配、图像使用等,以确保网站的视觉效果。 3. 网站内容创作:网站内容包括文本、图像、视频等,需要根据网站目标、受众和需求进行创作。 4. 网站开发:在这个阶段,开发人员将设计的网站转化为实际的网站页面,通常使用HTML、CSS和JavaScript等技术。 5. 网站测试:测试人员将对网站进行测试,以确保其功能正常、易于使用,并且能够在各种浏览器和设备上运行。 6. 网站发布:在完成测试后,网站将被发布到互联网上,使用户能够访问和使用。 下面,我们再来看看动态网站架构流程: 1. 确定网站需求和目标:与静态网站一样,需要明确网站的需求和目标。 2. 数据库设计:对于动态网站,需要设计和构建一个可靠的数据库来存储网站数据。 3. 服务器端编程:动态网站需要服务器端脚本来处理用户请求。通常使用PHP、Java、Python等语言来编写服务器端脚本。 4. 网站设计:与静态网站一样,需要进行网站设计,包括页面布局、色彩搭配、图像使用等。 5. 网站开发:在这个阶段,开发人员将设计的网站转化为实际的网站页面,并将服务器端编写的脚本集成到网站中。 6. 网站测试:测试人员将对网站进行测试,以确保其功能正常、易于使用,并且能够在各种浏览器和设备上运行。 7. 网站发布:在完成测试后,网站将被发布到互联网上,使用户能够访问和使用。 这就是静态网站和动态网站的架构流程。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值