php之深入理解架构布局讲解

admin3年前PHP教程62

本文基于《php 内核剖析》与 《php7底层设计与源码实现》所记笔记。
对php内核的深入理解有助于我们对php的整体认识,对于业务层初期发展我们可以只了解基本语言的逻辑就可以写出符合业务的代码,但是随着业务的发展我们通过分析源码,编写扩展,深入了解php内部机制,帮助我们理解php内部实现逻辑,更好助力业务发展.

执行流程

从上图中看出主要从解析phpcode到执行主要经过了四个阶段.

获取token可以通过token_get_all('<?php echo "str";>')函数获取token信息.

抽象语法树主要将解释器和编译器进行解耦.

opcodes最终执行的指令,例如zend_echo:本质还是一个对应的c函数.

架构结构

zend层为上层的php层提供一些基础的内存管理以及数据结构等.

sapi层为最上层和server进行通信,封装了不同的通信类型,cgi,fast-cgi,cli等.

目录结构

sapi

存放根据不同环境支持的上层api交互形式,实现了不同的输入输出形式.

zend

存放php相关的核心代码,如前所述内存管理等.

main

负责与zend层交互的入口,还有一些钩子函数.

ext

主要是扩展相关的目录.通过ext_skel命令生成自定的模块.会默认安装到这个目录.

tsrm

线程资源管理相关的目录,一般只有和apache结合使用时会涉及到线程资源管理相关的代码.
与nginx相关的一般只会用到fastcgi协议不涉及到tsrm模块.

到此这篇关于php之深入理解架构布局讲解的文章就介绍到这了,更多相关php之深入理解架构布局内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

如何使用PHP7的Yaconf

目录简介APIYaconf的配置项配置的格式样例最后简介我见过很多的项目中, 用PHP文件做配置的, 一个config目录下可能有十几个甚至数十个.php配置文件, 里面都是各种各样的array, 还...

租用国外多ip服务器有哪些优势国外多ip服务器如何选择合适的

租用国外多ip服务器的优势有:1、有利于搜索引擎收录,提高服务器网站内容的收录率;2、稳定性好,不会因为一个网站出现问题而受到影响;3、使用多IP部署网站更加易于维护;4、资源多,能保障网站不间断正常...

PHP 内置WEB服务器的简单使用

目录直接启动一个内置服务器指定内置服务器的运行目录使用路由脚本在很多时候,我们需要简单的运行一个小 demo 来验证一些代码或者轮子是否可用,是否可以运行起来,但是去配 nginx 或者 apache...

laravel日志优化实例讲解

日志浏览扩展地址:arcanedev/log-viewer安装扩展composer require arcanedev/log-viewer注册服务,在config/app.php中的provider...

PHP中的.htaccess伪静态文件

工具/原料 url重写 iis7 方法/步骤安装iis,这个就不多说了。使用系统自带的启动或关闭windows功能来安装。microsoft/web/downloads/,下载并安装“we...

香港拨号vps租用要注意哪些问题?

香港拨号vps租用要注意的问题有:1、选择优质的香港云服务商,看服务商的口碑和资质,好的服务商能提供优质的运维服务,能确保数据的安全;2、做好定期的数据备份和安全扫描,以防vps感染了病毒或木马后数据...