Welcome to the website navigation,本站只接受合法正规的企业网站,欢迎站长们提交你的网站获得展示和流量有任何问题请联系站长,欢迎大家加入本站。

                
提交网站
  • 网站:76083
  • 待审:5
  • APP:577
  • 文章:304411
  • 会员:56004
文字内链包年1000元 文字内链包年1000元 文字内链包年1000元 AI办公网站 AI绘画工具 AIchat

名站导航为爱好php程序的朋友们提供php相关的教程知识。

    相信很多人都听说过 Zend Engine 这个名词,也有很多人知道 Zend Engine 就是 PhP程序 语言的核心,但若要问一句:Zend Engine 到底存在于何处?或者说,Zend Engine 究竟是在什么时候怎么发挥作用让 PhP程序 源码输出我们想要的东西的?UKnAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

    Zend引擎是PhP程序实现的核心,提供了语言实现上的基础设施。例如:PhP程序的语法实现,脚本的编译运行环境, 扩展机制以及内存管理等,当然这里的PhP程序指的是官方的PhP程序实现(除了官方的实现, 目前比较知名的有facebook的hiphop实现,不过到目前为止,PhP程序还没有一个标准的语言规范),而PhP程序则提供了请求处理和其他Web服务器的接口(SAPI)。UKnAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

    要理解 Zend Engine 的作用,就不能不理解为什么会出现,PhP程序 为什么需要 Zend Engine, Zend Engine 的出现为 PhP程序 解决了什么问题。PhP程序 发展到 3.0 版本的时候,此时 PhP程序 已经很普及了。“在 PhP程序3 的顶峰,Internet 上 10% 的 web 服务器上都安装了它”,PhP程序 Manual 如是说。广泛的应用必然带来更高的要求。但此时的 PhP程序3 却有些力不从心了,这主要是因为 PhP程序3 采用的是边解释边执行的运行方式,运行效率很受其影响。其次,具体代码如下整体耦合度比较高,可扩展性也不够好,不利于应付各种各样需求。因此,此时在 PhP程序 界里已经有点中流砥柱作用的 Zeev Suraski 和 Andi Gutmans 决定重写具体代码如下以解决这两个问题。最终他们俩把该项技术的核心引擎命名为 Zend Engine,Zend 的意思即为 Zeev Andi 。UKnAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

    Zend Engine 最主要的特性就是把 PhP程序 的边解释边执行的运行方式改为先进行预编译(Compile),然后再执行(Execute)。这两者的分开给 PhP程序 带来了革命性的变化:执行效率大幅提高;由于实行了功能分离,降低了模块间耦合度,可扩展性也大大增强。此时 PhP程序 已经能很方便的应付各种各样的 BT 需求了,而伴随 PhP程序 4.4.x �D可能是 PhP程序4 系列的最后一个分支�D的发布,PhP程序 的大部分开发人员已经将注意力放在了 PhP程序5 或者 PhP程序6 上面,以后发布的基本上就是一些 Bug Fix Release。可以说第一代的 Zend Engine 是已经在站最后一班岗了。UKnAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

    2004 年 7 月,PhP程序 5 发布,支持 PhP程序5 的是 Zend Engine 2.0 版本。这个版本主要是对 PhP程序 的 OO 功能进行了改进(我没有提集成 SQLite、PDO 等特性是因为我们现在谈的主要是 Zend Engine 而非 PhP程序)。核心执行方式(非 OO 部分)较PhP程序4 的1.0 版本变动不大,所以 PhP程序5 纯粹的执行速度相对于 PhP程序4 没有大的提高。而预计将于本月中旬发布的 PhP程序 5.1 版本则会携带 Zend Engine 2.1 版本,这个版本将提供新的执行方式,执行速度也会快上许多,至少要比 PhP程序5.0 相对于 PhP程序4.x 的差别要大很多,所以,PhP程序 5.1 将会是一个很了很令人期待的版本。UKnAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

    但并非 PhP程序5 系列的 Zend Engine 2 就完美无缺了。前面已经提到过,Zend Engine 将具体代码如下分成编译和执行两大部分。一般情况下,我们的具体代码如下完成以后就很少再去改变了。但执行时 PhP程序 却不得不还得一次又一次的重复编译,这根本就是毫无必要的。而且通常情况下,编译的所花费的时间并不比执行少多少,说是五五开并不为过,因此这极大的浪费了机器的 CPU。基于 Zend Engine 3.0 的 PhP程序6 将试图解决这个问题。除此之外,目前的 PhP程序 对多字节的字符处理也是 PhP程序 的一大致命缺陷。这在人们联系日益国际化的今天几乎是不可忍受的。而无数人在抨击 PhP程序 或 比较 ASP 等同类语言时总是不可避免的要提到这一点。同时受到 IBM 方面的压力,PhP程序6 也将会把对多字节字符的处理提到首要日程。这在 PhP程序6 的 Dev 版本中已经得到体现。
UKnAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

    目前PhP程序的实现和Zend引擎之间的关系非常紧密,甚至有些过于紧密了,例如很多PhP程序扩展都是使用的Zend API, 而Zend正是PhP程序语言本身的实现,PhP程序只是使用Zend这个内核来构建PhP程序语言的,而PhP程序扩展大都使用Zend API, 这就导致PhP程序的很多扩展和Zend引擎耦合在一起了,后来才有PhP程序核心开发者就提出将这种耦合解开的建议。UKnAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

    目前PhP程序的受欢迎程度是毋庸置疑的,但凡流行的语言通常都会出现这个语言的其他实现版本, 这在Java社区里就非常明显,目前已经有非常多基于JVM的语言了,例如IBM的Project Zero就实现了一个基于JVM的PhP程序实现, .NET也有类似的实现,通常他们这样做的原因无非是因为:他们喜欢这个语言,但又不想放弃原有的平台, 或者对现有的语言实现不满意,处于性能或者语言特性等(hiphop就是这样诞生的)。UKnAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

    很多脚本语言中都会有语言扩展机制,PhP程序中的扩展通常是通过Pear库或者原生扩展,在Ruby中则这两者的界限不是很明显, 他们甚至会提供两套实现,一个主要用于在无法编译的环境下使用,而在合适的环境则使用C实现的原生扩展, 这样在效率和可移植性上都可以保证。目前这些为PhP程序编写的扩展通常都无法在其他的PhP程序实现中实现重用, hiphop的做法是对最为流行的扩展进行重写。如果PhP程序扩展能和ZendAPI解耦,则在其他语言中重用这些扩展也将更加容易了。UKnAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


UKnAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

名站网址导航

PhP程序内核探索:再次探讨SAPIUKnAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

    在各个服务器抽象层之间遵守着相同的约定,这里我们称之为SAPI接口。 每个SAPI实现都是一个_sapi_module_struct结构体变量。(SAPI接口)。 在PhP程序的源码中,当需要调用服务器相关信息时,全部通过SAPI接口中对应方法调用实现, 而这对应的方法在各个服务器抽象层实现时都会有各自的实现。UKnAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

好了关于php程序的知识就说到这里希望可以帮助需要的朋友。,

标签:

分享到:

  admin

注册时间:

网站:0 个   APP:3 个  文章:0 篇

  • 76083

    网站

  • 577

    APP

  • 304411

    文章

  • 56004

    会员

赶快注册账号,推广您的网站吧!
文章分类
热门网站
最新入驻APP小程序

宝贝市场2023-02-08

宝贝市场——买手和卖家商品展示

夺宝助手2023-02-08

夺宝助手小程序,查看每日快夺宝平

查诚信2023-02-08

查诚信是一款免费的商业查询工具

车价天天报2023-02-08

快速连接汽车销售,获知汽车最新报

考勤助理小程序2023-02-08

上班签到考勤,实时定位,后台轻松

汽车报价大全查询2023-02-08

汽车报价大全查询提供最新汽车市