美文网首页
PHP底层设计及执行流程

PHP底层设计及执行流程

作者: 济夏 | 来源:发表于2019-09-20 15:35 被阅读0次

php是一门应用专一,开发效率极高的一门语言,其弱类型的变量能省去程序员大量的定义变量、类型转换等的时间和精力。它是一种适用于web开发的动态语言。

php设计的原理和特点

多进程模型:这样能做到进程间互相不受影响,对于进程的资源利用更快速、便捷

弱类型语言:和强类型语言C、C++、java等语言不同,php中变量的类型并不是一开始就确定的,而是在运行时才确定的,可以隐式或显式的对其进行类型转换,这就使其在开发中非常的灵活,程序员无需关注变量类型的问题。

Zend引擎+ 组件(ext)的模式降低内部的耦合。

中间层(sapi)隔绝web

server 和php。

语法简单灵活,规范少,有利有弊。

层级体系

Zend引擎:Zend整体用C实现,是php的内核部分,它将php的代码翻译成可执行的opcode的,处理并实现相应的处理方法(原理:鸟哥的博客)、实现了基本的数据结构、内存分配及管理、提供了相应api方法供外部使用,是一切的核心。

Extensions:围绕着Zend引擎,extensions通过组件的方式提供各种基础服务,常用的内置函数array、标准库等都是通过extension来实现的,用户也可以根据需要实现自己的extension以达到功能扩展等目的如贴吧正在使用的 PHP中间层、富文本解析就是extension的典型应用)。

Sapi:Sapi全称Server Application Programing Interface, 也就是服务端应用编程接口,Sapi通过一些列钩子函数,使php可以和外围交互数据,这是PHP非常优雅和成功的一个设计,通过 sapi成功的将PHP本身和上层应用解耦隔离,PHP可以不再考虑如何针对不同应用进行兼容,而应用本身也可以针对自己的特点实现不同的处理方式。

上层应用:这就是程序员编写的应用程序,通过不同的sapi方式得到各种各样的应用模式,如通过webserver实现web应用,在命令行下以脚本的方式运行等等

Sapi通过一些列的接口,使外部应用可以和php交换数据并可以根据不同的应用特点实现特定的处理方法,常见的sapi有:

apache2handler:以apache作为webserver,采用MOD_PHP模式运行时候的处理方式,也是现在应用最广泛的一种

cgi:这是webserver和php的另外一种交互方式,也就是fastcgi协议

cli:命令调试应用模式

待续。。。。

相关文章

  • PHP底层设计及执行流程

    php是一门应用专一,开发效率极高的一门语言,其弱类型的变量能省去程序员大量的定义变量、类型转换等的时间和精力。它...

  • 【前言】PHP的词法/语法分析

    PHP执行流程 对于PHP脚本在服务端的执行大致分为两个阶段: 流程一 传递给PHP解析器需要执行的文件地址,此处...

  • php执行流程

    一图胜千言,此图详细描述了PHP执行的5个步骤以及过程中做了哪些事情。 以fpm为例: 1、fpm启动时,会先执行...

  • PHP的底层原理

    PHP文件的执行过程 先从一个简单的php文件开始,通过php文件的编译过程来引入php的底层 执行结果如下: 编...

  • [转]mysql查询sql的执行流程和底层原理

    查询sql的执行流程和底层原理

  • PHP相关

    一、 原理、流程相关 Nginx解析PHP过程 PHP执行过程 PHP垃圾回收机制 深入理解PHP Opcode缓...

  • Opcode缓存

    PHP项目执行流程 【简单理解】读取源码 -》 词法分析 -》 创建opcode -》 执行opcode 重复创...

  • PHP的执行原理/执行流程

    更深入的学习和了解可以查看下面:风雨的博客http://www.laruence.com/2008/08/12/1...

  • 日精进

    设计 也就准备.即流程 用练习将流程执行到位

  • 为什么你的产品开发好了,还需要专业的测试?

    测试的流程: 需求分析,系统分析,测试分析。测试方案设计,测试方案评审。测试用例编写及评审。测试执行。 测试回归及...

网友评论

      本文标题:PHP底层设计及执行流程

      本文链接:https://www.haomeiwen.com/subject/hrsjuctx.html