PHP发展史.ppt

上传人:b****1 文档编号:1403072 上传时间:2022-10-22 格式:PPT 页数:48 大小:1.98MB
下载 相关 举报
PHP发展史.ppt_第1页
第1页 / 共48页
PHP发展史.ppt_第2页
第2页 / 共48页
PHP发展史.ppt_第3页
第3页 / 共48页
PHP发展史.ppt_第4页
第4页 / 共48页
PHP发展史.ppt_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

PHP发展史.ppt

《PHP发展史.ppt》由会员分享,可在线阅读,更多相关《PHP发展史.ppt(48页珍藏版)》请在冰豆网上搜索。

PHP发展史.ppt

PHP发展史,版本发展篇,Sina.贺海鹏,目录,前言,PHP发展简述,PHP5详述,期待,content,前言,升级PHP版本,有什么好处?

1:

便于维护服务器2:

性能、安全将提升明显3:

代码规范化4:

支持更多新特性5:

自身的提高6:

PHP发展简述,版本的故事,PHP发展简述,PHP发展简述,PHP1,PHP1,PHP最初是作为一个快速、实用的工具包出现的。

1994年,为了在自己的网站上增加一个小巧而实用的访客追踪系统,RasmusLerdorf编写了PHP的雏形程序。

这是一个用Perl封装的简单工具。

由于使用效果并不理想,Rasmus又用C语言重写了这个工具。

后来,更多的人注意到这个轻巧而简便的程序,并且要求增加更多的功能。

Rasmus决定发布一个完整的版本,将其命名为PersonalHomePageTools。

后来,Rasmus又发布了一个名为FI的可以做SQL查询的工具。

勒多夫RasmusLerdorf出生在1968年9月22日。

1993年毕业于加拿大滑铁卢大学计算机科学专业(UniversityofWaterloo)。

1被称为“PHP之父”。

PHP发展简述,PHP2,PHP2,1996年Rasmus发布了PHP/FI2.0,这是一个基本完善的PHP程序包。

它不仅可以访问数据库,而且可以嵌入HTML页面。

此时,PHP/FI2.0以及吸引了大量的程序开发人员。

在众多程序员之中,也包括了ZeevSuraski(苏拉斯基)和AndiGutmans(古特曼斯),他们就是后来PHP3的始作者。

由于不满足于PHP/FI在大型项目中的表现,Zeev和Andi作了重大的改进。

PHP发展简述,PHP3,PHP3,1998年末,PHP3的第一个官方正式版本发行,其特色是具有更好的执行效果以及更清晰的结构。

除此之外,PHP3的强大的功能还在于它的可扩展性。

除了给最终用户提供数据库、协议和API的基础结构,它的可扩展性吸引了大量的开发人员加入并提交新的模块。

这个全新的语言伴随着一个新的名称发布。

这个名称更具广泛意义,而不仅局限于“个人主页工具”的概念。

它被命名为简单的缩写“PHP”。

这是一种递归的缩写,它的全称是PHP:

HypertextPreprocessor。

不久,ZeevSuraski和AndiGutmans投入到了全新的PHP的开发之中。

设计目标是增强程序运行性能和PHP自身代码的模块性。

PHP发展简述,PHP4,PHP4,新的PHP核心被成为“Zend”(以Zeev和Andi的名字命名)引擎,于2000年5月随着新版PHP4.0发布。

PHP4的性能较PHP3有着显著的提高。

相同的脚本在PHP4中运行,最高可以有近10倍的性能提升。

并且Zend提供了的脚本优化器,可以把源程序转为二进制编译代码,提高性能的同时,也保护了程序源码不被暴露。

在PHP4中增加了对各种Web服务器(如Apache、IIS/PWS及OmniHTTPd等)的支持。

此外,PHP4还增加了一些新的语言特性,如丰富的数组操作函数、完整的会话机制、对输出缓存的支持等。

PHP4也对一些跨平台的技术提供了扩展支持,如对AdobePDF、SWF、Java、Microsoft.NET等技术的支持。

PHP4还增加了对类于对象的支持。

尽管PHP4在这方面并不完善,但还是大大改善了对面向对象程序设计的支持。

PHP4中的Pear库(PHPExtensionandApplicationRepository)就是面向对象的应用与实践的最好例证。

PHP发展简述,PHP5,PHP5,尽管PHP4的发展是如此迅猛,但较之于其他流行的开发语言还是缺乏一些关键的功能特性,比如,PHP4中的面向对象功能并不完善,也无法实现异常(Exception)的捕捉与处理。

因此在一些特殊问题的处理上还是捉襟见肘的。

2004年7月,PHP5正式版本的发布,标志着一个全新的PHP时代的到来。

它的核心是第二代Zend引擎,并引入了对全新的PECL模块的支持。

PHP5的最大特点是引入了面向对象的全部机制,并且保留了向下的兼容性。

程序员不必再编写缺乏功能性的类,并且能够以多种方法实现类的保护。

另外,在对象的集成等方面也不再存在问题。

使用PHP5引进了类型提示和异常处理机制,能更有效的处理和避免错误的发生。

PHP发展简述,PHP6,PHP6,1、支持Unicode。

2、RegisterGlobals3、MagicQuotes4、SafeMode取消5、var别名为public6、通过引用返回将出错7、zend.ze1compatbilitymode将被移去8、Freetype1andGD1support将不见9、dl()被移到SAPI中dl()主要是让设计师加载extensionLibs10、RegisterLongArray去除从PHP5起默认是关闭11、一些Extension的变更例如XMLReader和XMLWriter将不再是以Extension的方式出现12、APC将被导入核心13、告别ASP风格的起始标签,PHP发展简述,PHP7,为什么跳过PHP6直接上PHP7?

最广为使用的直译式语言PHP终于有最新正式版的消息了,经过PHP社群核心贡献者投票,超过7成的人同意最新的PHP版号将是PHP7而非PHP6。

从2005年开发至2010年终止的PHP6,已在这几年陆续将新功能并入PHP5.3以及PHP5.4中PHP社群核心参与者AndreaFaulds与ZeevSuraski在PHP的Wiki上?

,共同发表文章表示,PHP6的开发遇到了一些问题,导致一直没办法释出正式版本(GeneralAvailability),他们认为PHP6是一个失败的专案,现在是该进到PHP7的时候了。

PHP7原先是PHP社群中的惠新辰与DmitryStogov私下进行的PHPNG专案,后来专案较成型后公开而受大家所接受,并朝下一个PHP接班版本发展。

PHP7(PHPNG)发布,2015年6月11日,PHP官网发布消息,正式公开发布PHP7第一版的alpha版本,PHP发展简述,PHP所有版本发布时间表,PHP所有重大版本发布时间表(按发布时间倒序排列),5.6.02014-08-285.5.02013-06-205.4.02012-03-015.3.02009-06-305.2.02006-11-025.1.02005-11-245.0.02004-07-134.4.02005-07-114.3.02002-12-274.2.02002-04-224.1.02001-12-104.0.02000-05-223.0.x2000-10-20,PHP5详述,PHP5的故事,PHP5详述,PHP5详述,PHP4.x到PHP5,PHP4.x到PHP5,PHP5详述,PHP4.x到PHP5,PHP5中有哪些的改变(未向下兼容),strrpos()和strripos()如今使用整个字符串作为needle。

非法使用字符串偏移量会导致E_ERROR而不是E_WARNING。

一个非法使用的例子:

$str=abc;unset($str0);.array_merge()被改成只接受数组PATH_TRANSLATED服务器变量在Apache2SAPI中不再暗中设定没有属性的对象不再被当成“empty”有些情况下类必须在使用前被定义()get_class(),get_parent_class()和get_class_methods()返回区分大小写ip2long()在传递入一个非法IP作为参数时返回FALSE,不再是-1。

include_once和require_once在Windows下先将路径规格化,因此包含A.php和a.php只会把文件包含一次。

如果有函数定义在包含文件中,则这些函数可以在主文件中使用而与是否在return指令之前还是之后无关。

如果文件被包含两次,PHP5会发出致命错误,因为函数已经被定义,而PHP4不管这个。

因此推荐使用include_once而不要去检查文件是否已被包含以及在包含文件中有条件返回。

/*/将被支持以上仅列出部分常用内容,更多请参考官方网站,PHP5详述,PHP4.x到PHP5,CLI和CGI:

PHP5中对CLI和CGI文件名作了些改变。

PHP5中,CGI版本被改名为php-cgi.exe(以前是php.exe),现在主目录中的是CLI版本(之前是cli/php.exe)。

PHP5中引进了一种新模式:

php-win.exe。

这和CLI版本相同,只除了php-win不输出任何内容,因此不会提供控制台(屏幕上不会闪过“dos窗口”)。

此行为类似php-gtk。

PHP5中,CLI版本总会产生全局变量$argv和$argc而不管php.ini是怎么设的。

即使将register_argc_argv设为off也不影响CLI。

PHP5详述,PHP4.x到PHP5,移植配置文件:

由于ISAPI模块的名字改了,从php4xxx改为php5xxx,因此需要对配置文件作些修改。

移植Apache配置极其简单。

照下面的例子来检查需要做的修改:

Example#1移植Apache配置文件到PHP5#将下面这行:

LoadModulephp4_module/php/sapi/php4apache2.dll#改成这一行:

LoadModulephp5_module/php/php5apache2.dll如果web服务器是以CGI模式运行PHP的,应该注意CGI版本的名字从php.exe改为了php-cgi.exe。

在Apache中,应该照这样改:

Example#2移植Apache配置文件到PHP5,CGI模式#将下面这行:

Actionapplication/x-httpd-php/php/php.exe#改成这一行:

Actionapplication/x-httpd-php/php/php-cgi.exe其它的web服务器中,需要修改CGI或者ISAPI模块的名字。

PHP5详述,PHP4.x到PHP5,其他改变:

增加了4条新指令:

register_long_arrays、session.hash_function、session.hash_bits_per_character、zend.ze1_compatibility_mode新增了约80个新的函数:

如array_combine()、array_walk_recursive()、iconv_substr()、stream_get_line()、str_split()、scandir()等数据库:

MySQLi的支持,并对SQLite扩展库内置在PHP中PHP5中有个新对象模型(ObjectModel)。

PHP处理对象的方式完全重写了,允许更佳性能和更多特性。

自PHP5起引进了新常量E_STRICT,其值为2048:

E_ALL不包括E_STRICT,因此其默认未激活。

自PHP5起引进了新常量E_STRICT,其值为2048:

E_ALL不包括E_STRICT,因此其默认未激活。

PHP5详述,PHP5.2.x到PHP5.3.x,PHP5.2.x到PHP5.3.x,PHP5详述,PHP5.2.x到PHP5.3.x,PHP5.3.x新特性:

添加了命名空间的支持.(见实例)添加了跳标签的支持(goto语句)(见实例)添加了静态绑定支持.(后期静态绑定:

见实例)添加了原生的闭包(Lambda/匿名函数)支持

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1