初学者入门:细述PHP4的核心Zend


Posted in PHP onSeptember 05, 2006

   Zend引擎的名称由Zeev Suraski和Andi Gutmans二位在PHP担任核心开发工作的资深设计师的名字合体.开发的目的师为了研发新的脚本执行机制,而PHP4就是这套崭新的Zend引擎的第一个实作产品。在一些特殊测试环境下,Zend(PHP$)的执行速度比PHP3及ASP快了几倍到几百倍之多,这也意味着网站的后端CGI界面的统一者非PHP4 Zend莫属了。(当然,技术是不断进步的,说不定哪一天又出现了新的引擎。)
   Zend引擎在研发二年多之后,已经变成类似VBA功能的广义程式环境,它不但有传统的PHP函数功能,更增加了分散式物件(COM)的功能,并且能够在不同的操作平台上执行。以这种潜力发展下去,VBA的终结者非Zend莫属。
    Zend在PHP4上实作时更针对了PHP3之前最大缺憾的session做了最完整的承诺,同时加入了一些未来的功能,如CyberCash...等等。
    在opensource社群中,唯一能保持声势,却又尚未被微软公司视为竞争对手的,PHP/Zend是最好的例子。它已经完全地将ASP丢到了身后,正往VBA的环境发展。而微软只全力对付Linux,没有注意到来自PHP/Zend的威胁。
    Web服务器发觉是PHP的要求,需要PHP引擎解析(根据文件的扩展名),于是将它送到PHP4的Zend引擎上。
    Zend引擎将文件从硬盘上读取,送到Zend线上编译器(Run-time Compiler),进行程序直译工作。(或许日后的Zend Compiler出来以后可以省略线上编译工作。)
    Zend引擎的线上执行单元(Excutor)执行编译过的PHP程序。并在需要时找相关的模组执行协力动作(如XML,IMAP,ODBC...等等)。
    Zend将执行后的结果整理成HTML文件,送给Web服务器。
    Web服务器将结果通过网络,传回使用者的浏览器。
    目前的Zend产品有下列四种:
    Zend Engine:Zend引擎 Zend引擎目前只做出PHP4一种产品,提供类似微软的VBA及跨平台的功能。而目前在网络上的流行,也为Zend引擎作了最佳的见证。在Zend的四大产品中,这是目前唯一成熟的产品。
    Zend Optimizer:Zend极限器 将PHP的核心重新调整,让PHP程序执行的效率更高。主要能加快PHP代码的执行速度及降低CPU的负担,将潜伏时间减少。
     Zend Cache:Zend快取 将PHP程序快取到Web服务器的记忆体中,让系统不用再一直从硬盘读取PHP程序,可大幅度缩短系统的反应时间,降低网络的负荷。存在Cache的资料甚至可以不用再直译过,减少处理的资源。
    Zend Compiler:Zend编译器 这恐怕是Zend的最终极武器,它可让PHP的程序代码经过编译后,以Zend中间码(ZIC,Zend Intermediate Code)的形式存在。
    可以保护PHP的源代码,不让使用者看到,让PHP的源代码有安全保障。预料本产品出现之后,将对整个网络产生不小的影响,PHP码的物件库,将会到处可见,软件业也会提供相关的函数库或物件库给PHP编程者。届时,可能会有PHP大战Java的情形。

PHP 相关文章推荐
[转帖]PHP世纪万年历
Dec 06 PHP
PHP 开源AJAX框架14种
Aug 24 PHP
一步一步学习PHP(5) 类和对象
Feb 16 PHP
PHP+ajax 无刷新删除数据
Feb 20 PHP
PHP5中使用PDO连接数据库的方法
Aug 01 PHP
Linux下安装oracle客户端并配置php5.3
Oct 12 PHP
php获取远程文件内容的函数
Nov 02 PHP
分享50个提高PHP执行效率的技巧
Dec 26 PHP
PHP之十六个魔术方法详细介绍
Nov 01 PHP
修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)
Aug 01 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
Dec 18 PHP
基于PHP实现用户在线状态检测
Nov 10 PHP
PHP在XP下IIS和Apache2服务器上的安装
Sep 05 #PHP
PHP5.0对象模型探索之抽象方法和抽象类
Sep 05 #PHP
PHP 5.0对象模型深度探索之绑定
Sep 05 #PHP
PHP中的串行化变量和序列化对象
Sep 05 #PHP
Windows下的PHP5.0安装配制详解
Sep 05 #PHP
PHP.MVC的模板标签系统(五)
Sep 05 #PHP
PHP.MVC的模板标签系统(四)
Sep 05 #PHP
You might like
PHP语言中global和$GLOBALS[]的分析 之二
2012/02/02 PHP
解析PHP高效率写法(详解原因)
2013/06/20 PHP
测试JavaScript字符串处理性能的代码
2009/12/07 Javascript
js中escape对应的C#解码函数 UrlDecode
2012/12/16 Javascript
使用javascript实现有效时间的控制,并显示将要过期的时间
2014/01/02 Javascript
jQuery如何将选中的对象转化为原始的DOM对象
2014/06/09 Javascript
node.js中的console.dir方法使用说明
2014/12/10 Javascript
javascript生成随机数方法汇总
2015/11/12 Javascript
VUEJS实战之构建基础并渲染出列表(1)
2016/06/13 Javascript
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
2017/04/10 jQuery
JavaScript数据结构之二叉查找树的定义与表示方法
2017/04/12 Javascript
nodejs入门教程一:概念与用法简介
2017/04/24 NodeJs
详解vue axios二次封装
2018/07/22 Javascript
浅谈 Webpack 如何处理图片(开发、打包、优化)
2019/05/15 Javascript
js闭包的9个使用场景
2020/12/29 Javascript
[51:27]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
python 输出一个两行字符的变量
2009/02/05 Python
Python实现扫描指定目录下的子目录及文件的方法
2014/07/16 Python
wxPython框架类和面板类的使用实例
2014/09/28 Python
深入解析Python中函数的参数与作用域
2016/03/20 Python
用Python解决计数原理问题的方法
2016/08/04 Python
利用matplotlib+numpy绘制多种绘图的方法实例
2017/05/03 Python
详解Python中的分组函数groupby和itertools)
2018/07/11 Python
python射线法判断检测点是否位于区域外接矩形内
2019/06/28 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
在Python中使用MongoEngine操作数据库教程实例
2019/12/03 Python
python3 动态模块导入与全局变量使用实例
2019/12/22 Python
python3实现往mysql中插入datetime类型的数据
2020/03/02 Python
Python文件操作基础流程解析
2020/03/19 Python
安全保证书范文
2014/04/29 职场文书
带病坚持工作事迹
2014/05/03 职场文书
竞选学习委员演讲稿
2014/09/01 职场文书
python保存大型 .mat 数据文件报错超出 IO 限制的操作
2021/05/10 Python
SQL实现LeetCode(177.第N高薪水)
2021/08/04 MySQL
java如何实现socket连接方法封装
2021/09/25 Java/Android
四十九个javascript小知识实用技巧
2021/11/20 Javascript