PHP底层浅析

PHP底层浅析

1.PHP语言简介

  PHP(Hypertext Preprocessor)是开源脚本语言,具有C、JAVA、Perl等语言的特性。目前PHP主要用作WEB开发。因其引入了中间解释层(Zend引擎),所以PHP是一门动态语言,正因为他是一门基于解释的嵌入式脚本语言,所以了解他的底层设计以及运作机制有助于我们程序调优和自我定制。

2.PHP底层基本特性

  • PHP语义上属于弱类型语言,一个变量的声明阶段并不需要指定其基本类型,变量生命期内,Zend引擎会根据需要对变量进行隐式或显式地类型变换;
  • 早期PHP语言基于多进程模式,即单独的请求绑定唯一的进程,这样做能够有效的提高程序运行时的稳定性,但在处理异步请求类的业务时便有了局限性,正因为这样,随着发展,现在PHP语言已经很好的支持多线程模式;
  • PHP语法约束性不强,同样的逻辑有多样的实现方式;
  • PHP依托Zend引擎+ZendExtensions扩展+SAPI(隔绝WEB Server和PHP)隔绝层实现了标准架构设计的基本要求。

3.PHP架构体系

  3.1PHP架构体系图

    :

3.2PHP架构体系元素解释

  1. Zend引擎:由C语言开发,主要功能包括系统的内存分配与管理封装了可供PHP调用的API函数实现PHP可直接使用的数据结构PHP源代码解析等。它是PHP架构体系中的核心部分,可以说没有Zend就没有PHP语言本身。
  2. Extensions扩展:PHP架构体系的组件扩展部分,依托于Zend Extension API向更高层提供PHP自有的或用户自定义的组件服务。部分PHP内置函数及PHP标准库都是通过Extensions实现的。着力这一层,我们能够在一定程度上对应用进行性能调优及自定制。
  3. SAPI:即Server Application Programming Interface(服务端应用编程接口)。SAPI通过提供一系列的函数,使得上层的Application能够同PHP进行数据通信,同时由于SAPI层的引入,PHP架构体系将上层Application和PHP本身进行了隔离,这样他们可以根据自己的角色进行各自重要的发展。这一设计理念就是设计模式中常讲的解耦
  4. Application:我们开发的PHP应用程序。

 3.3PHP架构体系与人体模型的映射

   我们可以将PHP体系架构映射到一个今本的人体模型上,PHP本身就好比是一个人体模型的整体,Zend引擎就是这个人体模型的大脑,而Extensions扩展就是人体模型的四肢,SAPI就是一套人体动作的集合,那么一次PHP程序的执行就好比一个人体模型在大脑的控制下通过四肢的相互配合做出各种各样的动作。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值