PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种HTML内嵌式的语言,PHP与微软的ASP很有几分类似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有相似于C语言,如今被不少的网站编程人员普遍的运用。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它能够比 CGI 或者 Perl 更快速的执行动态网页。用PHP作出的动态页面与其余的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比彻底生成HTML标记的CGI要高许多;与一样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,充分利用了服务器的性能;PHP执行引擎还会将用户常常访问的PHP程序驻留在内存中,其余用户在一次访问这个程序时就不须要从新编译程序了,只要直接执行内存中的代码就能够了,这也是PHP高效率的体现之一。PHP具备很是强大的功能,全部的CGI或者JavaScript的功能PHP都能实现,并且支持几乎全部流行的数据库以及操做系统。php
PHP 最初是1994年Rasmus Lerdorf建立的,刚刚开始只是一个简单的用Perl语言编写的程序,用来统计他本身网站的访问者。后来又用C语言从新编写,包括能够访问数据库。在1995年以Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档,而且发布了PHP1.0。在这早期的版本中,提供了访客留言本、访客计数器等简单的功能。之后愈来愈多的网站使用了PHP,而且强烈要且增长一些特性,好比循环语句和数组变量等等,在新的成员加入开发行列以后,在1995年中,PHP2.0发布了。第二版定名为PHP/FI(Form Interpreter)。PHP/FI加入了对mSQL的支持,今后创建了PHP在动态网页开发上的地位。到了1996年末,有15000个网站使用 PHP/FI;时间到了1997年中,使用PHP/FI的网站数字超过五万个。而在1997年中,开始了第三版的开发计划,开发小组加入了 Zeev Suraski 及 Andi Gutmans,而第三版就定名为PHP3。2000年,PHP4.0又问世了,其中增长了许多新的特性。java
PHP的特性包括如下几点:正则表达式
开放的源代码:全部的PHP源代码事实上均可以获得。算法
PHP是免费的。数据库
基于服务器端:因为PHP是运行在服务器端的脚本,能够运行在UNIX、LINUX、WINDOWS下。编程
嵌入HTML:由于PHP能够嵌入HTML语言,因此学习起来并不困难。数组
简单的语言:PHP坚持脚本语言为主,与Java以C++不一样。服务器
效率高:PHP消耗至关少的系统资源。cookie
图像处理:用PHP动态建立图像多线程
PHP 3与PHP 4的比较
PHP3跟Apache服务器紧密结合的特性;加上它不断的更新及加入新的功能;并且几乎支持全部主流与非主流数据库;再以它能高速的执行效率,使得PHP在1999年中的使用站点已经超过了150000万。加上它的源代码彻底公开,在 Open Source意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新的活力,使得PHP不管在UNIX、LINUX或是Windows的平台上均可以有更多新的功能。它提供丰富的函数,使得在程序设计方面有着更好的支持。
PHP4.0整个脚本程序的核心大幅更动,让程序的执行速度,知足更快的要求。在最佳化以后的效率,已较传统CGI或者ASP等程序有更好的表现。并且还有更强的新功能、更丰富的函数库。不管您接不接受,PHP 都将在 Web CGI 的领域上,掀起巅覆性的革命。对于一位专业的Web Master 而言,它将也是必修课程之一。
PHP 4.0是更有效的,更可靠的动态Web页开发工具,在大多数状况运行比 PHP 3.0要快,其脚本描述更强大而且更复杂, 最显著的特征是速率比的增长。PHP4.0这些优异的性能是PHP 脚本引擎从新设计产生的结果:引擎由 AndiGutmans 和 Zeev Suraski从底层全面重写。PHP4.0 脚本引擎 ——Zend 引擎,使用了一种更有效的编译——执行方式, 而不是PHP 3.0 采用的执行 ——当解析时模型。
PHP4在3.0版的基础上增长或加强了许多有用的特征,主要以下:
(1)别名:在PHP4中,能够利用引用为变量赋值,这给编程带来了很大的灵活性。
(2)扩充了API 模块:PHP 4.0 为扩展的 API 模块的提供了扩展PHP接口模块, 它比旧的 API 版本显著地快。 PHP 模块已有的及最经常使用的接口多数被转换到使用这个扩展的接口。
(3)自动资源释放:PHP4增长了引用计数功能,这种新技术的引入使PHP4具备了自动内存管理功能,减轻了开发人员的负担。
(4)布尔类型:PHP 4.0 支持布尔类型。
(5)进程生成:在 UNIX 环境下的 PHP 4.0 提供了一个很智能和通用的生成进程, 使用了一种名为基于automake/libtool的系统生成技术。
(6)COM/DCOM 支持:PHP 4.0 提供 COM/DCOM 支持 ( 仅用于Windows 环境 ) 能够无缝地存取和访问 COM 对象。
(7)与PHP 3.0 兼容性很好:PHP 4.0 是与 PHP 3.0 代码向后兼容性接近100% 。因为 PHP 4 的改进的体系结构,二者有一些细微的差异,可是大多数人将可能永远不可能赶上这种状况。
PHP介绍
(8)配置:PHP4从新设计和加强了PHP。ini文件,这使得用PHP。ini来配置PHP显得极为容易,这个文件能够在运行时被Apache(unix系统)或由Windows 注册(Windows 环境)。
(9)加密支持:PHP4实现了完整的加密, 这些加密功能是一个完整的mycrypt库,而且 PHP 4.0 支持哈希函数。Blowfish,TripleDES,MD5,而且SHA1 也是可以使用的一些加密算法。
(10)类型检查:PHP 4.0 支持同一操做符用于评类型检查:===( 3 等号运算符 ), 为在两个值和其类型之间做检查。例如, 3 ===3 将视为假 ( 类型是不一样的 ), 而 3 ==3 ( 相等判断 ) 将视为真。
(11)FTP 支持:PHP 4.0 支持 FTP 。一般, 你会为经过一个调制解调器链接下载一个大文件提供一个接口。然而, 若是你确实有须要,可使用PHP 。
(12)PHP4新增函数或功能加强函数:PHP 4.0 新增了许多函数,同时也将许多现有的函数功能进行了加强,如下是一些例子。 array_count_values() eval() foreach() nclude() ob_end_clean() ob_end_flush() ob_get_contents() ob_start() strip_tags() unset()
(13)here打印:PHP 4.0 的Here打印是与Perl相似的, 尽管彻底不相同。Here是打印大容量文章的一个有用的方法,例如在 HTML文件中,不会漏掉任何一个字符,例如目录标记。
(14)HTTP Session fallback 系统:为 HTTP Session管理的一个 fallback 系统在 PHP 4.0被实现 。缺省状况下,Session标识符由cookies存储。若是没有cookies支持或一项cookies任务失败,Session标识符自动被建立并在 URL 的查询字符串中被携带。
(15)ISAPI 支持:PHP 4.0 能做为一个个性化的 ISAPI 模块做为 IIS插件 。这比 PHP 3.0 更有效, 它做为一个外部的程序来运行。
(16)内存:PHP 4.0 能更有效的使用内存, 致使较少的内存占用消耗,这主要归功于引用计数技术的实现。
(17)其余类成员函数:在 PHP 4.0 你能在成员函数自己的做用域或全局范围内调用其余类的成员函数。例如,你能用一个子函数覆盖父函数,并在子函数中调用父函数。
(18)多维数组:在 PHP 4.0 ,利用GET,POST, Cookies的进行的数据传输支持多维数组。
(19)个性化的 HTTP Session支持:HTTP Session处理, 包括 fallback 系统管理,在 PHP 4.0被它的新库函数实现 。在版本 3.0 中处理Session要求使用 PHPLIB 和第三方的库函数, 它比把Session直接地由 PHP 支持慢了许多。
(20)个性化的 Java 支持:PHP 4.0 支持和java的交互。这种个性化的Java 支持为PHP 在 Java 对象上建立和使用方法提供一个简单而且有效的工具。
21)对象和数嵌套组:PHP 4.0 实现了功能更增强大的对象, 移去了 PHP 3.0存在的种种句法限制。对象能在数组之内被嵌套而且反过来也如此, 能够根据你的须要实现嵌套。
(22)面向对象的编程:PHP 4.0 为面向对象的编程和构造类及对象提供扩展的功能和新特征。PHP4实现了对象重载,引用技术等新技术。
(23)对象重载支持:对象重载语法容许第三方的基于面向对象的类库使用 PHP4 的面向对象的特征存取他们自身的功能。使用这个特征的一个 COM 模块已经被实现了。
(24)输出缓冲支持:PHP 提供了一个输出缓冲函数集合。输出缓冲支持容许你写包裹函数功能压缩缓冲区。在 PHP4 的输出缓冲支持容许 HTML 头信息存放, 不管 HTML的正文是否输出。头信息( (header(), content type, and cookies ) 不采用缓冲 。
(25)增长了PCRE 库:PHP 4.0 包括一个 Perl 兼容的正则表达式 (PCRE ) 库, 和正常regex库一块儿与 PHP 绑定。split 和replace PCRE 功能被支持。PCRE 和 Perl 正规表达式之间有一些细微差异。
(26)PHP.ini 文件:PHP.ini文件在 PHP4.0 被从新设计, 使用的 PHP 的配置PHP.ini是更容易而且更有效的。所有文件能被Apache 在运行时间操做 ( 在 Apache环境 下 ) 或由 Windows 注册表 ( 在 Windows 下面 ) 。被加入PHP.ini文件的配置指令自动地在全部相关的模块中被支持。
(27)引用计数:PHP 4.0 为系统中的每一个数值提供了引用计数, 包括资源。一旦一个资源再也不被任何变量引用,它自动地被释放以节省内存资源。利用这个特征的最明显的例子一个内置SQL查询的循环语句。在PHP 3.0中 ,每次递归另外的 SQL 结果集合重复申请内存,直到脚本执行完毕,这些结果集合占用的内存才被释放。
(28)支持引用:经过引用能够改变一个变量的值。
(29)函数的运行时绑定:PHP 4.0 的运行时间绑定功能容许你在他们被声明之前调用, 不管声明是否在代码之后或是在运行时间。
(30)类的运行时信息:PHP 4.0 支持在运行时刻存取下列类信息:一个对象的类名,一个对象的父类的类名字,以及对象函数所在的名字。
(31)服务器抽象层:为支持Web服务器提供了加强型 SAPI ( 服务器 API ) 接口,是 PHP 4。0 不可分的一部分。这个服务器抽象层,提供了通用的WEB服务器接口支持,支持多线程WEB服务器,为大多数的WEB服务器提供透明的支持, 这些服务器包括 Apache ,IIS ( ISAPI ), 以及 AOL 服务器。
全部的PHP源代码事实上均可以获得。
和其它技术相比,PHP自己免费且是开源代码。
程序开发快,运行快,技术自己学习快。嵌入于HTML:由于PHP能够被嵌入于HTML语言,它相对于其余语言。编辑简单,实用性强,更适合初学者。
因为PHP是运行在服务器端的脚本,能够运行在UNIX、LINUX、WINDOWS、Mac OS下。
用PHP动态建立图像
PHP支持脚本语言为主,同为类C语言。