php底层简介(一)
来源:互联网 发布:淘宝卖家发物流怎么办 编辑:程序博客网 时间:2024/05/18 02:41
applocation
应用层:这就是我们平时编写的PHP程序
sapi
服务器端接口:它就是PHP与其它应用交互的接口,PHP脚本要执行有很多种方式,
通过Web服务器,或者直接在命令行下,也可以嵌入在其他程序中。
SAPI提供了一个和外部通信的接口,常见的SAPI有:cgi 、fast-cgi、cli、isapi、apache 模块的 DLL
extensions
php扩展:围绕着Zend引擎,extensions通过组件式的方式提供各种基础服务,
我们常见的各种内置函数(如array系列)、标准库等都是通过extension来实现,
用户也可以根据需要实现自己的extension以达到功能扩展、性能优化等目的
(如贴吧正在使用的PHP中间层、富文本解析就是extension的典型应用)。
zend:
zend引擎:Zend整体用纯C实现,是PHP的内核部分,它将PHP代码翻译(词法、语法解析等一系列编译过程)
为可执行opcode的处理并实现相应的处理方法、实现了基本的数据结构(如hashtable、oo)、
内存分配及管理、提供了相应的api方法供外部调用,是一切的核心,所有的外围功能均围绕Zend实现。
应用层的php代码 调用 php扩展(mysql、mysqli、array 等函数) 通过 sapi接口链接zend引擎 进行编译
打个比喻:一辆在道路上高速行驶的汽车
汽车壳子是:应用层php代码
汽车配件防护轮胎是:php扩展
道路是:sapi接口
应用层:这就是我们平时编写的PHP程序
sapi
服务器端接口:它就是PHP与其它应用交互的接口,PHP脚本要执行有很多种方式,
通过Web服务器,或者直接在命令行下,也可以嵌入在其他程序中。
SAPI提供了一个和外部通信的接口,常见的SAPI有:cgi 、fast-cgi、cli、isapi、apache 模块的 DLL
extensions
php扩展:围绕着Zend引擎,extensions通过组件式的方式提供各种基础服务,
我们常见的各种内置函数(如array系列)、标准库等都是通过extension来实现,
用户也可以根据需要实现自己的extension以达到功能扩展、性能优化等目的
(如贴吧正在使用的PHP中间层、富文本解析就是extension的典型应用)。
zend:
zend引擎:Zend整体用纯C实现,是PHP的内核部分,它将PHP代码翻译(词法、语法解析等一系列编译过程)
为可执行opcode的处理并实现相应的处理方法、实现了基本的数据结构(如hashtable、oo)、
内存分配及管理、提供了相应的api方法供外部调用,是一切的核心,所有的外围功能均围绕Zend实现。
应用层的php代码 调用 php扩展(mysql、mysqli、array 等函数) 通过 sapi接口链接zend引擎 进行编译
打个比喻:一辆在道路上高速行驶的汽车
汽车壳子是:应用层php代码
汽车配件防护轮胎是:php扩展
道路是:sapi接口
发动机是:zend引擎
0 0
- php底层简介(一)
- php底层深度探索(一)
- PHP底层原理之php hash简介
- PHP底层探索(五):Zend引擎简介
- PHP之一_HTML标签简介(一)
- RabbitMQ php 一 简介
- php入门(一) php简介和环境配置
- PHP学习笔记(一)PHP简介与安装
- block底层实现(一)
- Linux设备模型(底层原理简介)
- Linux设备模型(底层原理简介)
- PHP底层探索(一):几种常见的SAPI
- 标准php库SPL学习(一)简介
- php与Ajax(一)———Ajax简介
- PHP开发APP接口(一):APP接口简介
- 零基础学习PHP:学前简介(一)
- PHP底层深度探索(1)---开篇
- php底层深度探索(1)---序言
- 基于Ubuntu16.04下载与编译OpenWrt系统
- Android推送 - Activity跳转控制处理
- 遇到的小问题
- Leetcode 90. Subsets II
- Leetcode 91. Decode Ways
- php底层简介(一)
- Java Mysql 面试题集锦
- [leetcode]--136. Single Number
- 并查集相关概念
- hibernate性能测试 (补17年1月)
- exit()和_exit()的区别 以及实例
- Cocos2d-x 3.x 图形学渲染系列二十九
- Bzoj 2957: 楼房重建(线段树)
- 蓝桥-算法-栈