page contents

php底层是什么语言

PHP本身是用C实现的,因此最终调用的也都是C的函数,实际上,可以把PHP看成是一个C开发的软件。

attachments-2021-09-EyWaazty61550d4214f6c.png

PHP本身是用C实现的,因此最终调用的也都是C的函数,实际上,可以把PHP看成是一个C开发的软件。
php的zend引擎,包括词法分析,语法分析,AST 等需要掌握编译原理的知识。

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

Extensions:围绕着Zend引擎,extensions通过组件式的方式提供各种基础服务。我们常见的各种内置函数(如array 系列)、标准库等都是通过extension来实现。

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

常见的一些sapi有:

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

cgi:这是webserver和PHP直接的另一种交互方式,也就是大名鼎鼎的fastcgi协议,在最近今年fastcgi+PHP得到越来越多的应用,也是异步webserver所唯一支持的方式。

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

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

更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。

程序员编程交流QQ群:805358732

  • 发表于 2021-09-30 09:05
  • 阅读 ( 489 )
  • 分类:PHP开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
王思思
王思思

18 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1478 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章