PHP发展史.ppt
- 文档编号:1403072
- 上传时间:2022-10-22
- 格式:PPT
- 页数:48
- 大小:1.98MB
PHP发展史.ppt
《PHP发展史.ppt》由会员分享,可在线阅读,更多相关《PHP发展史.ppt(48页珍藏版)》请在冰豆网上搜索。
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/匿名函数)支持
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PHP 发展史