初学者入门:细述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 split汉字
Jun 05 PHP
最新的php 文件上传模型,支持多文件上传
Aug 13 PHP
PHP Array交叉表实现代码
Aug 05 PHP
PHP 八种基本的数据类型小结
Jun 01 PHP
Linux环境下搭建php开发环境的操作步骤
Jun 17 PHP
php的sprintf函数的用法 控制浮点数格式
Feb 14 PHP
PHP中通过fopen()函数访问远程文件示例
Nov 18 PHP
老生常谈PHP数组函数array_merge(必看篇)
May 25 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
Feb 07 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
Apr 04 PHP
PHP面向对象五大原则之依赖倒置原则(DIP)详解
Apr 08 PHP
Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作示例
Oct 12 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连接数据库代码应用分析
2011/05/29 PHP
php中ob_get_length缓冲与获取缓冲长度实例
2014/11/20 PHP
php+mysql+jquery实现简易的检索自动补全提示功能
2017/04/15 PHP
Yii2中简单的场景使用介绍
2017/06/02 PHP
php项目中类的自动加载实例讲解
2019/09/12 PHP
js arguments.callee的应用代码
2009/05/07 Javascript
分享XmlHttpRequest调用Webservice的一点心得
2012/07/20 Javascript
javascript图像处理—仿射变换深度理解
2013/01/16 Javascript
设置jsf的选择框h:selectOneMenu为不可编辑状态的方法
2014/01/07 Javascript
js对文章内容进行分页示例代码
2014/03/05 Javascript
Enter回车切换输入焦点实现思路与代码兼容各大浏览器
2014/09/01 Javascript
jQuery中contents()方法用法实例
2015/01/08 Javascript
JQuery遍历DOM节点的方法
2015/06/11 Javascript
js jquery 获取某一元素到浏览器顶端的距离实现方法
2018/09/05 jQuery
bootstrap tooltips在 angularJS中的使用方法
2019/04/10 Javascript
javascript设计模式 ? 职责链模式原理与用法实例分析
2020/04/16 Javascript
python操作MySQL数据库的方法分享
2012/05/29 Python
python基础教程之udp端口扫描
2014/02/10 Python
Django框架中数据的连锁查询和限制返回数据的方法
2015/07/17 Python
Django使用httpresponse返回用户头像实例代码
2018/01/26 Python
详解python配置虚拟环境
2019/04/08 Python
python多环境切换及pyenv使用过程详解
2019/09/27 Python
python动态规划算法实例详解
2020/11/22 Python
CSS3 border-image详解、应用及jQuery插件
2011/08/29 HTML / CSS
html5 实现客户端验证上传文件的大小(简单实例)
2016/05/15 HTML / CSS
英国领先的奢侈品零售商之一:CRUISE
2016/12/02 全球购物
应届生如何写自荐信
2014/01/05 职场文书
快递业务员岗位职责
2014/01/06 职场文书
有多年工作经验的自我评价
2014/03/02 职场文书
感谢信模板大全
2015/01/23 职场文书
企业党支部工作总结2015
2015/05/21 职场文书
oracle表分区的概念及操作
2021/04/24 Oracle
react中props 的使用及进行限制的方法
2021/04/28 Javascript
Python编写nmap扫描工具
2021/07/21 Python
mongodb清除连接和日志的正确方法分享
2021/09/15 MongoDB
Vue操作Storage本地化存储
2022/04/29 Vue.js