php 执行流程图,PHP底层设计及执行流程

本文详细介绍了PHP的内部工作原理,包括Zend引擎如何将PHP代码转化为可执行的opcode,以及弱类型语言如何提升开发效率。此外,还阐述了Extensions在提供基础服务和功能扩展中的作用,例如PHP的数组和标准库。SAPI作为服务器应用程序编程接口,通过不同的接口实现了PHP与外部应用的解耦,使得PHP能够适应多种应用场景,如Apache2handler、CGI和CLI。
摘要由CSDN通过智能技术生成

php是一门应用专一,开发效率极高的一门语言,其弱类型的变量能省去程序员大量的定义变量、类型转换等的时间和精力。它是一种适用于web开发的动态语言。

php设计的原理和特点

多进程模型:这样能做到进程间互相不受影响,对于进程的资源利用更快速、便捷

弱类型语言:和强类型语言C、C++、java等语言不同,php中变量的类型并不是一开始就确定的,而是在运行时才确定的,可以隐式或显式的对其进行类型转换,这就使其在开发中非常的灵活,程序员无需关注变量类型的问题。

Zend引擎+ 组件(ext)的模式降低内部的耦合。

中间层(sapi)隔绝web

server 和php。

语法简单灵活,规范少,有利有弊。

bb5d2b855fab

层级体系

Zend引擎:Zend整体用C实现,是php的内核部分,它将php的代码翻译成可执行的opcode的,处理并实现相应的处理方法(原理:鸟哥的博客)、实现了基本的数据结构、内存分配及管理、提供了相应api方法供外部使用,是一切的核心。

Extensions:围绕着Zend引擎,extensions通过组件的方式提供各种基础服务,常用的内置函数array、标准库等都是通过extension来实现的,用户也可以根据需要实现自己的extension以达到功能扩展等目的如贴吧正在使用的 PHP中间层、富文本解析就是extension的典型应用)。

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

上层应用:这就是程序员编写的应用程序,通过不同的sapi方式得到各种各样的应用模式,如通过webserver实现web应用,在命令行下以脚本的方式运行等等

Sapi通过一些列的接口,使外部应用可以和php交换数据并可以根据不同的应用特点实现特定的处理方法,常见的sapi有:

apache2handler:以apache作为webserver,采用MOD_PHP模式运行时候的处理方式,也是现在应用最广泛的一种

cgi:这是webserver和php的另外一种交互方式,也就是fastcgi协议

cli:命令调试应用模式

待续。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值