是你期待的吗? 从Zend Engine 2.0的设计蓝图(草稿)看PHP的将来

一些杂谈
首先是本文写作的初衷。我拿到关于Zend Engine 2.0的设计蓝图文档已经有一段时间了(现在大家也可以去参考资料中的地址下载回来看看),看完之后就有了写一篇评论的冲动--因为根据文档的描述下一代的PHP将是一种更符合现有面向对象开发习惯的语言,至少是被更多的赋予了面向对象特性。但是随之带来的问题就是对于PHP这样一个以Web快速开发为初始目标的语言是否值得将自己修饰得面面俱到?这个问题看来是需要一些评论文章来讨论的,我也很愿意提出自己的观点。但是后来一些繁忙的事情就将这个冲动一点点又打回了肚里,直到最近一段时间又想起,于是再拜读几遍设计蓝图文档,遂有此文。(刚拿到这份英文文档的时候我还有将这份设计蓝图文档翻译到中文的打算,但是考虑到一是并非最终蓝图,二是大家都应该培养直接阅读原文的习惯,三是翻译总是不可避免会带来一些晦涩的地方,于是暂时作罢。不过写成此文的时候,还是决定"冒险"翻译一次,不能准确达意之处还请各位不吝指正。)
其次是对本文讨论焦点的解释--在这篇评论中我将主要针对将来的PHP中得以大大加强的面向对象特性进行评述。如果你是PHP的开发者,那么我猜想你应该了解一些PHP语言中的面向对象特性;但是由于一般PHP用于"极端快速开发环境"(这是我自己生造出的一个词语,表示进行一些以客户为导向的网站开发的情况,特点就是工期非常短且客户要求不甚明确),所以真正大量使用其对象特性的开发者以及开发项目并不是很多;另外,现有PHP对象模型相对C++和Java的弱势,也限制了这方面特性的使用。不过在PHP的将来版本中,修改重点就在于语言中的面向对象模型,完善现有版本中许多不良的特性并加入其他特性。因此讨论PHP的未来面貌就集中在讨论PHP的面向对象特性方面。
好了,让我们步入正题,看看Zend Engine 2.0的新特性。
归纳Zend Engine 2.0设计蓝图(草稿)
从设计蓝图(草稿)中可以非常清楚的看出下一代Zend Engine是以新的面向对象模型为基础的。如果你曾经使用过现有PHP 4的面向对象特性,那么也许会在找到一点点Java或者C++的感觉的同时觉得有些别扭--不但是在面向对象语法的匮乏上,而且有时会得到意想不到的运行结果--这一切都是因为在现有的支持PHP 4的Zend Engine 1.0中不那么优雅的面向对象模型造成的。
简单说来,下一代的Zend Engine将向Java靠拢,大量借鉴其面向对象模式。从改进特性的类型来看,应该可以分为三类:第一类是对现有面向对象模型的改进和加强,其中包括对构建器和析构器的定义,增加的私有成员变量、静态成员变量、多重继承、过载等面向对象特性;第二类是对于控制流程的修改和增删,比如增加了形如try/catch/throw违例处理机制;第三类是关于函数的修改和增删,比如对于字符串偏移量的增加函数。(对于每一类改进的详细情况,可以查阅参考资料中所列文档。)由此可以看出,通过第一类和第二类的改进,PHP正在逐步将自己改良成一种具有面向对象特征的语言。

时间: 2024-09-08 18:47:08

是你期待的吗? 从Zend Engine 2.0的设计蓝图(草稿)看PHP的将来的相关文章

PHP 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性

前言    今天突然想到PHP官方网站上一转,一眼就看到PHP5推出的通告.虽然以前看到过PHP5的预告,但还是仔细看了PHP 5/Zend Engine 2.0新特性一文,一股JAVA气息扑面而来...   特将该文试译出来,首发于CSDN网站,以飨读者. PHP 5/Zend Engine 2.0新特性徐唤春 译 sfwebsite@hotmail.comhttp://www.php.net/zend-engine-2.php 全新的对象模型PHP中的对象处理部分已完全重写,具有更佳的性能和

PHP 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性_php基础

前言    今天突然想到PHP官方网站上一转,一眼就看到PHP5推出的通告.虽然以前看到过PHP5的预告,但还是仔细看了PHP 5/Zend Engine 2.0新特性一文,一股JAVA气息扑面而来...   特将该文试译出来,首发于CSDN网站,以飨读者. PHP 5/Zend Engine 2.0新特性徐唤春 译 sfwebsite@hotmail.comhttp://www.php.net/zend-engine-2.php 全新的对象模型PHP中的对象处理部分已完全重写,具有更佳的性能和

PHP 5/Zend Engine 2.0的改进

近两年没有使用PHP写过程序了,今天要用PHP,就在网上查了查,看到了PHP5,一时之间兴趣又大了起来,于是翻译了这篇文章. 文章来源于http://www.php.net/. 新的对象模型 PHP中的对象处理部分已完全重写,具有更佳的性能和更多的功能.在先前的PHP版本中,对象被当做原始的简单类型 (如integer和string)来处理,这种方法的缺点是当变量被赋值或作为参数传递时,得到的是对象拷贝.而在新版本中, 对象是通过句柄来引用的,而不是通过对象的值(句柄想象为对象的标识符). 很多

Zend Framework 1.0正式版即将发布

星期一,Zend技术公司将为PHP的Web应用开发提供其开发架构的1.0版本,这个版本已经以预发布的形式吸引了超过100万的下载. Zend Framework 1.0将不是周围唯一的PHP开发框架,因为它将和像Cake和Prado这样的框架分享.但是Zend公司表示,Zend开发框架是第一个获得了像IBM和Google这样的大企业和大公司相关支持和贡献的框架. Zend公司的CTO和共同创始人Andi Gutmans说:"它是一个用PHP建立高效的Web应用和Web服务的应用框架."

Windows中Zend Guard 6.0: 安装以及破解

从来没有用过Zend Guard 6.0给php文件加密,最近需要用到这功能,所以到Zend官网下载这工具,结果需要注册才能下载,下载之后只能使用14天,需要花钱购买.所以只好网上查资料来破解破解- 说明: Zend Guard 6.0支持php5.3和5.4,其加密性能更强.   第一步: 先从官网下载Zend Guard 6.0使用版     第二步. 如果不想注册账号而下载对应的安装包,本博客提供一个已经下载好的安装包.     第三步. 开始安装,双击ZendGuard-6_0_0.ex

Search Engine Friendly的URL设计_php基础

Search Engine Friendly的URL设计 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明http://www.chedong.com/tech/google_url.html 关键词:"url rewrite" mod_rewrite isapirewrite path_info "search engine friendly" 内容摘要: 此外随着互联网上的内容以惊人速度的增长也越来越突出了搜索引擎的重要性,如果

ZF2入门:Windows环境下从零开始Zend Framework 2.0 (ZF2)环境搭建

原文:http://avnpc.com/pages/zend-framework-2-installation-for-windows 日志未经声明,均为AlloVince原创.版权采用『 知识共享署名-非商业性使用 2.5 许可协议』进行许可. Zend Framework 2.0 (ZF2)正式发布之后不少朋友都进行了尝试,可能由于ZF2涉及到的新特性比较多,有朋友希望能有一篇从零开始Zend Framework 2.0 (ZF2)的教程,于是就有了本篇日志. 以下将记录在Windows环境

ZF2入门:Ubuntu/Linux环境下从零开始Zend Framework 2.0 (ZF2)环境搭建

原文:http://avnpc.com/pages/zend-framework-2-installation-for-linux-ubuntu 日志未经声明,均为AlloVince原创.版权采用『 知识共享署名-非商业性使用 2.5 许可协议』进行许可. 紧接上一篇ZF2入门:Windows环境下从零开始Zend Framework 2.0 (ZF2)环境搭建,本次是Linux/Ubuntu环境下从零开始搭建系统并运行一个ZF2项目的全过程. 写日志的Linux用的是Ubuntu12.04 L

linux中Zend Guard 6.0搭建zend环境

Zend Guard 6.0安装了,也破解了,php文件也加密了,现在需要的是如何在服务器上正常访问该加密的php文件.也就是说如何搭建zend环境.请看如下步骤:   第一步: 查看php版本   说明: 因为加密的php文件是采用的是php5.4版本,所以服务器上的php版本也应该是5.4.     第二步: 把加密的php文件上传到服务器上看看效果       提示php文件采用了Zend Guard加密,需要安装Zend Loader/ZendOptimizer   第三步: 下载Zen