编辑“PHP

跳转至: 导航、​ 搜索
警告:您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您登录创建一个账户,您的编辑将归属于您的用户名,且将享受其他好处。

该编辑可以被撤销。 请检查下面的对比以核实您想要撤销的内容,然后发布下面的更改以完成撤销。

最后版本 您的文本
第15行: 第15行:
*可伸缩性。传统上网页的交互作用是通过[[CGI]]来实现的。CGI程序的伸缩性不很理想,因为它为每一个正在运行的CGI程序开一个独立进程。解决方法就是将经常用来编写 CGI程序的语言的解释器编译进你的web服务器(比如mod_perl,JSP)。PHP就可以以这种方式安装,虽然很少有人愿意这样以CGI方式安装它。内嵌的PHP可以具有更高的可伸缩性。
*可伸缩性。传统上网页的交互作用是通过[[CGI]]来实现的。CGI程序的伸缩性不很理想,因为它为每一个正在运行的CGI程序开一个独立进程。解决方法就是将经常用来编写 CGI程序的语言的解释器编译进你的web服务器(比如mod_perl,JSP)。PHP就可以以这种方式安装,虽然很少有人愿意这样以CGI方式安装它。内嵌的PHP可以具有更高的可伸缩性。
==PHP版本发展历史==
==PHP版本发展历史==
#PHP最初是作为一个快速、实用的工具包出现的。1994年,为了在自己的网站上增加一个小巧而实用的访客追踪系统,Rasmus Lerdorf编写了PHP的雏形程序。这是一个用[[Perl]]封装的简单工具。由于使用效果并不理想,Rasmus又用[[C]]语言重写了这个工具。
#PHP最初是作为一个快速、实用的工具包出现的。[[1994年]],为了在自己的网站上增加一个小巧而实用的访客追踪系统,Rasmus Lerdorf编写了PHP的雏形程序。这是一个用[[Perl]]封装的简单工具。由于使用效果并不理想,Rasmus又用[[C]]语言重写了这个工具。
#后来,更多的人注意到这个轻巧而简便的程序,并且要求增加更多的功能。Rasmus决定发布一个完整的版本,将其命名为Personal Home Page Tools。后来,Rasmus又发布了一个名为FI的可以做SQL查询的工具。
#后来,更多的人注意到这个轻巧而简便的程序,并且要求增加更多的功能。Rasmus决定发布一个完整的版本,将其命名为Personal Home Page Tools。后来,Rasmus又发布了一个名为FI的可以做SQL查询的工具。
===PHP2===
===PHP2===
:1996年Rasmus发布了PHP/FI2.0,这是一个基本完善的PHP程序包。它不仅可以访问数据库,而且可以嵌入HTML页面。此时,PHP/FI2.0 以及吸引了大量的程序开发人员。在众多程序员之中,也包括了Zeev Suraski和Andi Gutmans,他们就是后来PHP3的始作者。由于不满足于PHP/FI在大型项目中的表现,Zeev和Andi作了重大的改进。
:[[1996年]]Rasmus发布了PHP/FI2.0,这是一个基本完善的PHP程序包。它不仅可以访问数据库,而且可以嵌入HTML页面。此时,PHP/FI2.0 以及吸引了大量的程序开发人员。在众多程序员之中,也包括了Zeev Suraski和Andi Gutmans,他们就是后来PHP3的始作者。由于不满足于PHP/FI在大型项目中的表现,Zeev和Andi作了重大的改进。


===PHP3===
===PHP3===
#1998年末,PHP3的第一个官方正式版本发行,其特色是具有更好的执行效果以及更清晰的结构。除此之外,PHP3的强大的功能还在于它的可扩展性。除了给最终用户提供数据库、协议和API的基础结构,它的可扩展性吸引了大量的开发人员加入并提交新的模块。
#[[1998年]]末,PHP3的第一个官方正式版本发行,其特色是具有更好的执行效果以及更清晰的结构。除此之外,PHP3的强大的功能还在于它的可扩展性。除了给最终用户提供数据库、协议和API的基础结构,它的可扩展性吸引了大量的开发人员加入并提交新的模块。
#这个全新的语言伴随着一个新的名称发布。这个名称更具广泛意义,而不仅局限于“个人主页工具”的概念。它被命名为简单的缩写“PHP”。这是一种递归的缩写,它的全称是——PHP:Hypertext Preprocessor。
#这个全新的语言伴随着一个新的名称发布。这个名称更具广泛意义,而不仅局限于“个人主页工具”的概念。它被命名为简单的缩写“PHP”。这是一种递归的缩写,它的全称是——PHP:Hypertext Preprocessor。
#不久,Zeev Suraski和Andi Gutmans投入到了全新的PHP的开发之中。设计目标是增强程序运行性能和PHP自身代码的模块性。
#不久,Zeev Suraski和Andi Gutmans投入到了全新的PHP的开发之中。设计目标是增强程序运行性能和PHP自身代码的模块性。
===PHP4===
===PHP4===
#新的PHP核心被成为“Zend” (以Zeev和Andi的名字命名)引擎,于2000年5月随着新版PHP4.0发布。PHP4的性能较PHP3有着显著的提高。相同的脚本在PHP4中运行,最高可以有近10倍的性能提升。并且Zend提供了的脚本优化器,可以把源程序转为二进制编译代码,提高性能的同时,也保护了程序源码不被暴露。
#新的PHP核心被成为“Zend” (以Zeev和Andi的名字命名)引擎,于[[2000年]]5月随着新版PHP4.0发布。PHP4的性能较PHP3有着显著的提高。相同的脚本在PHP4中运行,最高可以有近10倍的性能提升。并且Zend提供了的脚本优化器,可以把源程序转为二进制编译代码,提高性能的同时,也保护了程序源码不被暴露。
#在PHP4中增加了对各种[[Web]]服务器(如[[Apache]]、[[IIS]]/PWS及OmniHTTPd 等)的支持。此外,PHP4还增加了一些新的语言特性,如丰富的数组操作函数、完整的会话机制、对输出缓存的支持等。PHP4也对一些跨平台的技术提供了扩展支持,如对[[Adobe]] [[PDF]]、[[SWF]]、[[Java]]、[[Microsoft]][[.NET]]等技术的支持。
#在PHP4中增加了对各种[[Web]]服务器(如[[Apache]]、[[IIS]]/PWS及OmniHTTPd 等)的支持。此外,PHP4还增加了一些新的语言特性,如丰富的数组操作函数、完整的会话机制、对输出缓存的支持等。PHP4也对一些跨平台的技术提供了扩展支持,如对[[Adobe]] [[PDF]]、[[SWF]]、[[Java]]、[[Microsoft]][[.NET]]等技术的支持。
#PHP4还增加了对类于对象的支持。尽管PHP4在这方面并不完善,但还是大大改善了对面向对象程序设计的支持。PHP4中的Pear库(PHP Extension and Application Repository)就是面向对象的应用与实践的最好例证。
#PHP4还增加了对类于对象的支持。尽管PHP4在这方面并不完善,但还是大大改善了对面向对象程序设计的支持。PHP4中的Pear库(PHP Extension and Application Repository)就是面向对象的应用与实践的最好例证。
===PHP5===
===PHP5===
#尽管PHP4的发展是如此迅猛,但较之于其他流行的开发语言还是缺乏一些关键的功能特性,比如,PHP4中的面向对象功能并不完善,也无法实现异常(Exception)的捕捉与处理。因此在一些特殊问题的处理上还是捉襟见肘的。
#尽管PHP4的发展是如此迅猛,但较之于其他流行的开发语言还是缺乏一些关键的功能特性,比如,PHP4中的面向对象功能并不完善,也无法实现异常(Exception)的捕捉与处理。因此在一些特殊问题的处理上还是捉襟见肘的。
#2004年7月,[[PHP5]]正式版本的发布,标志着一个全新的PHP时代的到来。它的核心是第二代Zend引擎,并引入了对全新的[[PECL]]模块的支持。PHP5的最大特点是引入了[[面向对象]]的全部机制,并且保留了向下的兼容性。程序员不必再编写缺乏功能性的类,并且能够以多种方法实现类的保护。另外,在对象的集成等方面也不再存在问题。使用PHP5引进了类型提示和异常处理机制,能更有效的处理和避免错误的发生。
#[[2004年]]7月,[[PHP5]]正式版本的发布,标志着一个全新的PHP时代的到来。它的核心是第二代Zend引擎,并引入了对全新的[[PECL]]模块的支持。PHP5的最大特点是引入了[[面向对象]]的全部机制,并且保留了向下的兼容性。程序员不必再编写缺乏功能性的类,并且能够以多种方法实现类的保护。另外,在对象的集成等方面也不再存在问题。使用PHP5引进了类型提示和异常处理机制,能更有效的处理和避免错误的发生。
===PHP7===
:PHP7首个版本于2015年12月3日开发完成,包含了大量性能上的改进,同时也带来了一些新特性。PHP 7 Zend引擎升级到三代 ,整体性能是5.6的2倍。移除ereg、mssql、mysql、sybase_ct等4个扩展;引入了类型声明,有两种模式: 强制 (默认) 和 严格模式。
===PHP8===
:2020年11月26日PHP8发布,它包含了很多新功能与优化项, 包括JIT即时编译,增加命名参数,注解实现,构造器属性提升,联合类型,Match 表达式,Nullsafe 运算符,字符串与数字的比较更符合逻辑,内部函数类型错误的一致性。
 
==PHP的发展趋势==
==PHP的发展趋势==
#PHP作为最成熟的[[开源]]体系[[LAMP]](Linux,Apache,MySQL,PHP)的重要一员,以其简单性、开放性、低成本、安全性和适用性,受到越来越多的Web程序员的欢迎和喜爱。
#PHP作为最成熟的[[开源]]体系[[LAMP]](Linux,Apache,MySQL,PHP)的重要一员,以其简单性、开放性、低成本、安全性和适用性,受到越来越多的Web程序员的欢迎和喜爱。
第48行: 第43行:


==PHP语法==
==PHP语法==
<div style="-moz-column-count:3;column-count:3;" class="sclist"> 
[[PHP嵌入方法]] | [[PHP常量]] | [[PHP变量]] | [[PHP变量作用域]] | [[php5魔术函数、魔术常量|魔术函数、魔术常量]] | [[PHP运算符]] | [[PHP流程控制]] | [[PHP函数]] | [[PHP类]] | [[PHP函数库]] | [[PHP中GET和POST]] | [[PHP中Cookie和Session]]
*[[PHP嵌入方法]]  
*[[PHP常量]]
*[[PHP变量]]  
*[[PHP变量作用域]]  
*[[php5魔术函数、魔术常量|魔术函数、魔术常量]]  
*[[PHP运算符]]
*[[PHP流程控制]]  
*[[PHP函数]]  
*[[PHP类]]  
*[[PHP函数库]]
*[[PHP中GET和POST]]
*[[PHP中Cookie和Session]]
</div>


==PHP教程==  
==PHP教程==  
第97行: 第79行:
*[[Php-ajax控件和函数]]
*[[Php-ajax控件和函数]]


</div>
==十天学会PHP==
<div style="-moz-column-count:3;column-count:3;" class="sclist"> 
*[[十天学会PHP/第一天:PHP基础教程|第一天:PHP基础教程]]
*[[十天学会PHP/第二天:PHP基础语法|第二天:PHP基础语法]]
*[[十天学会PHP/第三天:运算符、循环与数组|第三天:运算符、循环与数组]]
*[[十天学会PHP/第四天:数组、函数、表单|第四天:数组、函数、表单]]
*[[十天学会PHP/第五天:$_GET、$_POST |第五天:$_GET、$_POST ]]
*[[十天学会PHP/第六天:PHP日期、引用|第六天:PHP日期、引用]]
*[[十天学会PHP/第七天:文件上传、Cookies|第七天:文件上传、Cookies]]
*[[十天学会PHP/第八天:Sessions、发送电子邮件|第八天:Sessions、发送电子邮件]]
*[[十天学会PHP/第九天:错误处理、异常处理、过滤器|第九天:错误处理、异常处理、过滤器]]
*[[十天学会PHP/第十天:PHP学习必看|第十天:PHP学习必看]]
</div>
</div>


==php相关扩展及库==
==php相关扩展及库==
<div style="-moz-column-count:3;column-count:3;" class="sclist">
[[php APC]] | [[php PECL]] | [[PEAR]] | [[PDO]] | [[GD]]
*[[php APC]]  
*[[php PECL]]  
*[[PEAR]]  
*[[PDO]]  
*[[GD]]
</div>


==PHP框架==
==PHP框架==
#[[框架]]思想就是提供一种可以在多个应用程序中使用的设计。所有应用程序都有大量通用的基本内容 —— 具体地说,就是某类与数据库的接口、某些应用程序逻辑、应用程序呈现给用户的内容等。如果您编写过许多 PHP 应用程序,则会知道这些基本内容是什么。您可能已经编写过一组函数或从数据库中读取数据和向数据库中写入数据的类,可能已经使用过诸如 [[Smarty]] 之类的[[模板引擎]]来管理 UI。而且一定编写过大量 PHP 代码来完成诸如分析表单提交并根据提交的数据作决定之类的事务。如果您已经编写过很多应用程序,则可能已经一次又一次地做过相同的基本工作,有时还会将一个应用程序中的代码借用到另一个应用程序中。
[[框架]]思想就是提供一种可以在多个应用程序中使用的设计。所有应用程序都有大量通用的基本内容 —— 具体地说,就是某类与数据库的接口、某些应用程序逻辑、应用程序呈现给用户的内容等。如果您编写过许多 PHP 应用程序,则会知道这些基本内容是什么。您可能已经编写过一组函数或从数据库中读取数据和向数据库中写入数据的类,可能已经使用过诸如 [[Smarty]] 之类的[[模板引擎]]来管理 UI。而且一定编写过大量 PHP 代码来完成诸如分析表单提交并根据提交的数据作决定之类的事务。如果您已经编写过很多应用程序,则可能已经一次又一次地做过相同的基本工作,有时还会将一个应用程序中的代码借用到另一个应用程序中。
#框架专门用于为这些常用元素(数据库交互、表示层、应用程序逻辑)提供结构,以便您可以花费更少的时间来编写数据库接口代码或者表示层接口,而花费更多的时间来编写应用程序本身。以这种方式分解应用程序,这种架构被称为模型-视图-控制器(Model-View-Controller,MVC)。模型 指数据,视图 指表示层,而控制器 指应用程序逻辑或业务逻辑。
 
===常见的PHP框架===
框架专门用于为这些常用元素(数据库交互、表示层、应用程序逻辑)提供结构,以便您可以花费更少的时间来编写数据库接口代码或者表示层接口,而花费更多的时间来编写应用程序本身。以这种方式分解应用程序,这种架构被称为模型-视图-控制器(Model-View-Controller,MVC)。模型 指数据,视图 指表示层,而控制器 指应用程序逻辑或业务逻辑。
<div style="-moz-column-count:3;column-count:3;" class="sclist">
 
*[[ThinkPHP]]
'''常见的PHP框架''':
*[[Zend Framework]]   
[[Zend Framework]]  [[CakePHP]]  [[Symfony]]  [[Seagull]]  [[SpeedPHP]]
*[[CakePHP]]   
*[[Symfony]]   
*[[Seagull]]   
*[[SpeedPHP]]
*[[WACT]]
*[[Prado]] 
*[[PHP on Trax]]
*[[ZooP Framework]]
*[[eZ Components]]
*[[CodeIgniter]]
*[[Modx]]
</div>


[[WACT]] - Web Application Toolkit  |  [[Prado]]  |  [[PHP on Trax]]  |  [[ZooP Framework]]  |  [[eZ Components]]  |  [[CodeIgniter]] | [[Modx]]
==PHP调试工具==
==PHP调试工具==
*[[Xdebug]]
[[Xdebug]]
 
 


==小编学习PHP笔记==
==小编学习PHP笔记==
*[[PHP工作原理]]
[[PHP工作原理]]


==相关条目==
==相关条目==
第166行: 第120行:
*[[Codelgniter]]
*[[Codelgniter]]
*[[LNMP]]
*[[LNMP]]
*[[DoitPHP]]
 
</div>
</div>


请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅Wordpress-mediawiki:版权的细节)。 未经许可,请勿提交受版权保护的作品!
取消 编辑帮助(在新窗口中打开)