ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

php底层结构原理简析

2022-06-23 09:35:18  阅读:203  来源: 互联网

标签:PHP SAPI Zend 简析 引擎 Extensions php 底层


用了这么多年php,底层原理我其实自己还是没完全吃透。这里简单记录一下php的底层结构和工作原理,用于记录:

php是一种适用于web开发的动态弱类型语言,它的底层是用c语言实现的。

1、特点:

多进程模型:php是多进程模型,各请求之间互不干涉,这样保证了每一个请求不会对整个服务有巨大影响,当然现在的php有很多方法来实现多进程模型。

弱类型语言:和c、Java、等等等语言类型不同,它属于弱类型语言,一个变量的类型并不是一开始就确定不变的,只有在运行到最后才能确定变量类型。

Zend 引擎 + Ext 扩展 的模式降低了内部耦合,可以方便的为PHP本身增加功能和去除功能。语法简单灵活,没有什么太严格规范2、PHP的架构:

以目前的 PHP 主流版本 PHP7 和 PHP5 来说架构是如上图所示,主要有四层体系构成,从下到上依次是 Zend 引擎、Extensions 扩展、SAPI 接口、Application。

Zend引擎

Zend引擎整体是纯C语言实现的,是php的内核部分,PHP的代码编译处理、基本的数据结构、内存分配管理、相应的api方法都是由它提供的,php的一切核心和外围功能都是围绕zend实现。

Extensions:

围绕zend引擎,Extensions 通过组件方式提供各种基础服务,我们常见的内置函数、标准库等都是通过extensions来实现的,开发人员也可以根据自己的需要开发实现自己的Extensions扩展。

SAPI

SAPI 是 Server Application Programming Interface 的缩写,中文为服务端应用编程接口,它通过一系列钩子函数使得PHP可以和外围交换数据,SAPI 就是 PHP 和外部环境的代理器,它把外部环境抽象后,为内部的PHP提供一套固定的,统一的接口,使得 PHP 自身实现能够不受错综复杂的外部环境影响,保持一定的独立性。

通过 SAPI 的解耦,PHP 可以不再考虑如何针对不同应用进行兼容,而应用本身也可以针对自己的特点实现不同的处理方式。

Application

程序员编写的PHP程序,无论是 Web 应用还是 Cli 方式运行的应用都是上层应用,PHP 程序员主要工作就是编写它们

嗯暂时先记录这么多吧!简单了解下结构

标签:PHP,SAPI,Zend,简析,引擎,Extensions,php,底层
来源: https://www.cnblogs.com/shineen/p/16403999.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有