zoukankan      html  css  js  c++  java
  • php语言的特点,体系结构

    其实接触了php几年了,也没留意他的归纳php语言的特点,惭愧,随意就随手记录一下,希望能给phper 加深一点记忆

    相比较其他语言,php 具有如下几点特点:

    1. 多进程模型:由于PHP是多进程模型,不同请求间互不干涉,这样保证了一个请求挂掉不会对全盘服务造成影响,目前PHP也早支持多线程模型;
    2. 弱类型语言:和C/C++、JAVA、C#等语言不同,PHP是一种弱类型的语言。一个变量的类型并不是一开始就确定不变的,运行中才会确定并可能发生隐式或显示的类型转换,这种机制的灵活性在web开发中非常方便、高效,具体会在后面PHP变量中详述;
    3. 引擎(Zend)+组件(ext)的模式降低内部耦合;
    4. 中间层(sapi )Sapi全称是Server Application Programming Interface 隔绝web server和PHP;
    5. 语法简单灵活,没有太多规范。缺点导致风格混杂;

    php 四层体系结构

    如图

    四层体系结构从下到上

    1. Zend引擎:Zend整体用纯C实现,是PHP的内核部分,他将PHP代码翻译(词法、语法解析等一系列编译过程)为可执行opcode的处理并实现相应的处理方法、实现了基本的数据结构(如:hashtable、OO)、内存分配机制及管理、提供了相应的api方法供外部调用,是一切的核心,所有的外围功能均围绕Zend实现;
    2. Extensions:围绕着Zend引擎,extensions通过组件式的方式提供各种基础服务,我们常见的各种内置函数(array系列)、标准库等都是通过extension来实现,用户也可以根据需要实现自己的extension的典型应用);
    3. Sapi:Sapi全称Server Application Programming Interface,也就是服务端应用编程接口,Sapi通过一系列钩子函数,使得PHP可以和外围交互数据,这是PHP非常优雅和成功的设计,通过sapi成功的将PHP本身和上层应用解耦隔离,PHP可以不再考虑如何针对不同应用进行兼容,而应用本身也可以针对自己的特点实现不同的处理方式;
    4. 上层应用:这就是我们平时编写的PHP程序,通过不同的spai方式得到各种各样的应用模式,如何通过webserver实现web应用、在命令行下已脚本方式运行等等

    性能优异的引擎(Zend)+合适的车轮(Ext)+正确的跑道(Sapi),就好比运行的车子

    ---------都说钱是王八蛋,可长得真好看。

  • 相关阅读:
    10 传输模型与套接字(进阶)
    09 mongoDB基础(进阶)
    08 datetime与logging模块(进阶)
    07 json与os模块(进阶)
    06 python操作MySQL和redis(进阶)
    05 redis(进阶)
    04 mysql 基础三 (进阶)
    03 mysql补充 (进阶)
    <潭州教育>-Python学习笔记6@函数基础,必备参数,位置参数,可选参数
    <潭州教育>-Python学习笔记7@python 内置函数,作用域,闭包,递归
  • 原文地址:https://www.cnblogs.com/fangdada/p/14986451.html
Copyright © 2011-2022 走看看