PHP教程

php底层结构原理简析

本文主要是介绍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底层结构原理简析的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!