首页
网页制作
网络编程
脚本专栏
数据库
网站运营
网络安全
平面设计
CMS教程
搜索
建站极客
网络编程
PHP编程
正文
新版PHP将向Java靠拢
所属分类:
网络编程
/
PHP编程
阅读数: 1816
收藏 0
赞 0
分享
所谓的“PHP”就是开放源码的Web应用开发/运行环境,日前《日经Open System》记者就今后PHP开发中心的发展计划等问题采访了该中心成员Zeev Suraski。Zeev Suraski表示,新版PHP中将导入try、catch等语句,从而更接近Java,以便更容易地进行大型系统的开发。(采访者:高桥 信赖)
--请您谈一下决定开发PHP的起因。
Rasmus Lerdorf于1995年首先公布了PHP。1997年我在制作以色列大学网页及网上商店站点时,使用了当时名为PHP/FI(Personal Home Page/Form Interpreter)的工具,这时才开始接触到PHP。在使用的过程中,发现了一个很大的bug。由于源码是公开的,所以我对bug产生的原因进行了调查并做了修改,在调查中发现还有很大的改进余地。于是就和当时共同做项目的Andi Gutmans一起对PHP/FI脚本执行引擎进行了修改。修改后的执行引擎交给Lerdorf后,就成了新版PHP3.0的正式执行引擎。
通过改进脚本执行引擎,我们开发出了速度更高的Zend Engine。Zend这个名字是Zeev与Andi的组合。嵌入了Zend Engine的PHP就是目前的版本PHP4。原来的程序是边读入边解释来执行,后来改成了每个执行周期解释一次 ,因此执行100个周期就要进行100次同样的解释处理。而Zend Engine则是一开始就对整个文件的脚本进行解释 ,然后再开始执行。由于大幅削减了解释过程,所以执行速度得以大幅提高。
PHP4在发表后2个月内就被下载了26万5000次。据美国调查公司Netcraft统计,目前PHP至少被安装在600万个域名服务器上。
我想PHP受到人们欢迎的最主要原因就是简单实用。曾有人在给我的邮件中表示:“尽管没有编程经验,但我使用PHP仅用3个小时就写出了简单的程序”。使用Java就达不到这种程度。此外,PHP是针对WWW开发的,因此,还可以方便地处理Cookie与表单。
PHP是免费的,今后仍将继续免费发布,但考虑到商业成本与支持产品的要求,于1999年设立了以色列Zend,并开发出高速PHP软件及综合开发工具进行销售。
--预定2002年底发布的新版PHP5中,准备扩展哪些功能?
将进一步改进面向对象功能,使大型系统的开发更加容易。尽管PHP已经具有类与子类等,但PHP5会更接近Java。将引入了try、catch等Java具有的特殊处理语句结构。
在PHP4中,函数作为变量使用,即使给出一个对象也不会发生变化。PHP可以标准赋值,对象也可以赋值,所以函数值并非对象本身,而是一个拷贝过来的值。当函数需要变更为对象数值时,就要在作为变量的对象前加上“&”符号来专门提示。在Java中不需要这样的提示,而PHP5则采用的是与Java相同的模式。
此外,PHP5还导入了名称空间(Name Space),名称空间确定后,函数、变量、类名的有效范围均被限制在名称空间内。当清楚名称范围后,在使用变数与函数名时就可以忽略重复的名称,这也方便了大型程序的开发。
名为“stream”的新功能也是一项便利的功能。它可以使WWW服务器与ftp服务器上的文件与本地文件使用同样的函数。也就是说,fopen(本地文件名)可以像fopen(hppt://主机名/文件名)一样使用。压缩文件可像普通的非压缩文件一样处理。而且不用等到PHP5,在以后发布的PHP4中就将安装上“stream”。
--有人指出,由于PHP为HTML嵌入型,和Java一样难以将显示(Presentation)与逻辑部分分离,难以实现模块化。
事实上,使用PHP完全能够分离显示与逻辑部分。PHP有一项调出Java对象的功能。可以将PHP作为显示层、将Java对象作为逻辑层使用。
另一个方法就是使用模板库Smarty的方法。Smarty是一个从HTML模板动态生成HTML的工具。即便HTML中完全没有写入PHP逻辑,也可以生成符合HTML的PHP运行结果。
尽管如此,也并不是说在任何情况下分离显示与逻辑都是有利的。比如在开发小型系统时,分离后反而变得更复杂,很难对整体进行把握,最终影响开发效率,这就是缺点所在。
--2002年2月底,PHP曾被发现存在严重的安全漏洞。
PHP在5年时间里都没有出现过严重的安全漏洞,但不幸在2月底发现文件上传功能存在问题。
我们认为安全性至关重要,并对此采取了2项措施:首先,在接到安全漏洞报告的30个小时内制作并公布了补丁。哪种软件也不能保证绝对不会出现安全漏洞。今后如发现有严重安全漏洞,我们仍将会倾尽全力、迅速采取补救措施。
其次,我们已经开始检查PHP的源码,展开了安全检查。即使不是自身的安全漏洞,也要对可能出现问题的部分进行检查并进行修正。
更多精彩内容
其他人还在看
PHP 计算代码执行耗时的代码修正网上普遍错误
前几天测试 SQLite 插入大数据量的时候, 找了一些关于计算执行时间的代码, 发现网上普遍流传着这样一份代码
评论 0
收藏 0
赞 0
分享
php中在PDO中使用事务(Transaction)
事务 (Transaction) 是操作数据库中很重要的一个功能, 它可以让你预定一条, 或者一系列 SQL 语句, 然后一起执行
评论 0
收藏 0
赞 0
分享
centos 5.6 升级php到5.3的方法
centos 5.6的库,更新比比5.5及时多了,居然已经有 php 5.3.3 了
评论 0
收藏 0
赞 0
分享
rrmdir php中递归删除目录及目录下的文件
php自带的rmdir,只能删除空目录,这个rrmdir就可以递归删除目录及目录下的所有文件,不过使用起来要小心哦,不要把所有文件都删了
评论 0
收藏 0
赞 0
分享
Views rows style模板重写代码
重写rows style模板,可以控制整个VIEWS的输出布局,就像VIEWS是个选择器,布局任你编排
评论 0
收藏 0
赞 0
分享
PHP中break及continue两个流程控制指令区别分析
php中常用的for与foreach循环中,经常遇到条件判断或中止循环的情况。而处理方式主要用到break及continue两个流程控制指令,现在说明主要区别
评论 0
收藏 0
赞 0
分享
SWFUpload与CI不能正确上传识别文件MIME类型解决方法分享
问题:swfupload上传任何文件的mime类型均为application/octet-stream。
评论 0
收藏 0
赞 0
分享
PHP session有效期session.gc_maxlifetime
PHP中的session有效期默认是1440秒(24分钟)【weiweiok 注:php5里默认的是180分】,也就是说,客户端超过24分钟没有刷新,当前session就会失效。很明显,这是不能满足需要的。
评论 0
收藏 0
赞 0
分享
关于session在PHP5的配置文件中的详细设置参数说明
关于session在PHP5的配置文件中的详细设置参数说明,需要的朋友可以参考下。
评论 0
收藏 0
赞 0
分享
PHP中的session永不过期的解决思路及实现方法分享
让PHP的session永不过期,你可能没有遇到这么郁闷的问题,但是我遇到过,很郁闷。
评论 0
收藏 0
赞 0
分享
查看更多
网络赚钱
更多
从世界杯观赛看,“移动视频”就是个伪命题
不靠网络广告,站长收益从何来?
企业网站通过流量变现有哪些关键的环节需要注意?
SEO都有哪些赚钱的方式? SEO的十种赚钱方式详解
个人建站赚钱方法有哪些?5种常见方法汇总
网站如何靠SEO盈利?先把网站包装成专卖店吧
站长故事
更多
站长故事 新站两个月权重上升到3的经验分享
互联网屌丝合伙创业经验分享
运用互联网思维的肉夹馍西少爷
作为站长的你是否已有危机感:你被盯上了
其实并非所有草根站长都能驯服社区门户这匹马
比较适合个人站长的5种类型网站:定位 坚持 收益