【php精品源码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了php精品源码-【精品】php - 其它资料的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
新闻网页贴吧知道 MP3 图片视频百科文库 进入词条 搜索词条 帮助设置 首页 自然 文化 地理 历史 生活 社会 艺术 人物 经济 科学 体育 红楼梦 中秋月饼
php 百科名片PHPPHP,是英文超级文本预处理语言 Hypertext Preprocessor 的缩写。
PHP 是一种HTML 内嵌式的语言,是一种在服务器端执行的嵌入 HTML 文档的脚本语言,语言的风格有类似于 C 语言,被广泛的运用。
PHP 的另一个含义是:菲律宾比索的标准符号。
目录
PHP 语言简介 发展 特性 技术应用
PHP 3 与
PHP 4
PHP5
PHP6 设想 安装
PHP 语言简介 发展 特性 技术应用
PHP 3 与
PHP 4
PHP5
PHP6 设想 安装
php 课程 UNIX 下的
PHP 环境配置 其他方面 PHPpenultimate hop pop
PHP 级别
PHP 安全 菲律宾比索的标准符号 展开 编辑本段
PHP 语言简介
PHP 独特的语法混合了 C、Java、Perl 以及
PHP 自创新的语法。
PHP 安装它可以比 CGI 或者 Perl 更快速的执行动态 网页。
用
PHP 做出的动态页面与其他的编程语言 相比,
PHP 是将程序嵌入到 HTML 文档中去执行,执 行效率比完全生成 HTML 标记的 CGI 要高许多;
PHP 还可以执行编译后 代码,编译可以达到加密和 优化代码运行,使代码运行更快 。
PHP 具有非常强大的功能,所有的 CGI 的功能
PHP 都能实现,而且支 持几乎所有流行的数据库以及操作系统。
编辑本段发展
PHP 于 19 ISAPI 筛选器94 年由 Rasmus Lerdorf 创建,刚刚开始只 是一个简单的用 Perl 语言编写的程序,用来统计 他自己网站的访问者。
后来又用 C 语言重新编写,包 括可以访问数据库。
在 1995 年以 Personal Home Page Tools
PHP Tools 开始对外发表第一个 版本,Lerdorf 写了一些介绍此程 序的文档,并且发布 了
PHP1.0。
在这早期的版本 中,提供了访客留言本、访客计数 器等简单的功能。
以后越来越多的网 站使用了
PHP,并且强烈要求增加 一些特性,比如循环语句和数组变量 等等,在新的成员加入开发行列之 后,在 1995 年中,
PHP2.0 发布了 。
第二版定名为
PHP/FIForm Interpreter。
PHP/FI 加入了对 mySQL 的支持,从此建立了
PHP 在动态网页开发上 的地位。
到了 1996 年底,有 15000 个网站使用
PHP/FI;1997 年中,使用
PHP/FI 的网站数字超过五万个。
而在 1997 年中,开始了第三版的开 发计划,开发小组加入了 ZeevSuraski 及 Andi Gutmans,而第三版就定名 为
PHP3。
2000 年,
PHP4.0 又问世了,其中增加 了许多新的特性。
PHP 的简称原本为 Personal Home Page,是 Rasmus Lerdorf 为了要维护个人网页,而 用 c 语言开发的一些 CGI 工具程序集,来取 代原先使用的 Perl 程序。
最初这些工 具程序用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量 。
他将这些程序和一些表单直译器 整合起来,称为
PHP/FI。
PHP/FI 可以和数据库连接 ,产生简单的动态网页程序。
RasmusLerdorf 在 1995 年 6 月 8 日将
PHP/FI 公开释出 ,希望可以透过社群 来加速程序开发与寻找 错误。
这个释出的版本命 名为
PHP 2,已经有今日
PHP 的一些雏型,像是类 似 Perl 的变量命名方式、 表单处理功能、以及嵌入到HTML 中执行的能力。
程 序语法上也类似 Perl,有较多的限制, 不过更简单、更有弹性。
在 1997 年,任职于 Technion IIT 公司的两个以色列 程序设计师: ZeevSuraski 和 Andi Gutmans,重写了
PHP 的剖析器,成为
PHP 3 的基础,而
PHP 也在这个时候改称 为
PHP: Hypertext Preprocessor.5。
经过几个月测试,开发团 队在 1997 年 11 月释出了
PHP/FI 2,随后就开始
PHP 3的开放测试,最后 在 1998 年 6 月正式释出
PHP 3。
Zeev Suraski 和 AndiGutmans 在
PHP 3 释出后开始改写 PHPPHP 的核心,这个在 1999 年释出的剖析器称 为 Zend Engine7,他们也在以色列的 Ramat Gan 成立了 Zend Technologies 来管理
PHP 的开发。
在 2000 年 5 月 22 日,以 Zend Engine 1.0 为基础的
PHP 4 正式释出,
PHP2004 年 7 月 13 日则释出了
PHP 5, 5 则使用了第二代的 Zend Engine5。
PHP 包含了许多新特色 ,像是强化的面向对象功能、引入 PDO(
PHP DataObjects,一个存取数据库的 延伸函数库)、以及许多效能上的 增强。
目前
PHP 4 已经不会继续更新 ,以鼓励用户转移到
PHP 5。
2008 年
PHP 5 成为了
PHP 唯一的有在开发的
PHP 版本。
将来的
PHP 5.3将会加入 Late static binding 和一些其他的功能 强化。
PHP 6 的开发也正在进行中, 主要的改进有移除 register_globals、 magic quotes 和 Safemode 的功能。
编辑本段特性
PHP 的特性包括
PHP: 1、开放的源代码: 所有的
PHP 源代码事实上都可 以得到。
2、
PHP 是免费的。
和其它技术相比,
PHP 本身免费。
3、
php 的快捷性 程序开发快,运行 快,技术本身学习快。
嵌入 HTML:因为
PHP 可以嵌入 HTML 语言,它 相对于其他语言,编辑简单,实用性强,更适合初学者。
4、跨平台性强: 由于
PHP 是运行在服务器端 的脚本可以运行在 UNIX、LINUX、WINDOWS下。
5、效率高:
PHP 消耗相当少的系统 资源。
6、图像处理: 用
PHP 动态创建图像 7、面向对像: 在
php4
php5 中,面向对象方面 都有了很大的改进,现在
php 完全可以用来开发大型商 业程序。
8、专业专注;
PHP 支持脚本语言为主 ,同为类 C 语言。
编辑本段技术应用 1,伪静态 2,静态页面生成 3,数据库缓存 4,过程缓存 5,divcss w3c 标准 6,大负荷 7,分布式 8,jquery 框架集成 9,flex 10,桌面程序应用编辑本段
PHP 3 与
PHP 4
PHP3
PHP3 跟 Apache 服务器紧密结合的 特性;
PHP加上它不断的更新 及加入新的功能;而且几乎支持所 有主流与非主流数据库;再以它能高速的执 行效率,使得
PHP 在 1999 年中的使用站点已 经超过了 150000 。
加上它的源代码 完全公开,在 Open Source 意识抬头的今天,它更是这方面的中 流砥柱。
不断地有新的函数库加入 ,以及不停地更新的活力,使得
PHP 无论在 UNIX、LINUX 或是 Windows 的平台上都可以有 更多新的功能。
它提供 丰富的函数,使得在程序设计方面 有着更好的支持。
PHP4
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 的优越性:
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 的改进的体系结构两者有一些细微的 差别, 但是大多数人将可能 永远不可能遇上这种情况。
(8)配置:
PHP4 重新设计和增强了
PHP.ini 文件这使得用
PHP.in i来配置
PHP 显得极为容易 这个文件可以在运 行时被 Apacheunix 系统 或由 Windows 注册Windows 环境。
(9)加密支持:
PHP4 实现了完整的加密 这些加密功能是一 个完整的mycrypt 库,并且
PHP 4.0 支持哈希函数。
Blowfish,TripleDESMD5并且 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 include ob_end_cleanob_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 能更有效的使用内 存 导致较少的内存占 用消耗这主要归功于引用 计数技术的实现。
PHP(17)其他类成员函数 :在
PHP 4.0 你能在成员函数本 身的作用域或全局范围内调用其他类 的成员函数。
例如你能用一个子函数 覆盖父函数并在子函数中调用父函 数。
(18)多维数组:在
PHP 4.0 ,利用 GET,POSTCookies 的进行的数据传输支持多维数 组。
19) ( 个性化的 HTTP Session 支持 :HTTP Session 处理 包括 fallback系统管理,在
PHP 4.0 被它的新库函数实 现 。
在版本 3.0 中处理 Session要求使用 PHPLIB 和第三方的库函数 它比把 Sessio n 直接地由
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 的正文是否输出。
头信息 headercontent 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 查询的循环语句。
在
PHP3.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服务器。
(32)语法的点亮显示 :
PHP 4.0 语法的点亮显示允 许开发者看见源代码而不是脚本 这个功能比
PHP 3。
0 中的更有效。
它跑 得更快,更执行得更好,并且产生 更紧凑的 HTML 代码。
(33)由引用改变变量 的值:
PHP 4.0 由引用支持可变的 赋值 “关联”的 2 个变量之中个的任 何一个的值被改变另外的变量的值同 样被改变这类似与 C 中的指针类型。
(34)在引用字符串中 的变量引用:
PHP 4.0 增强了在引用字符 串中的变量引用。
编辑本段
PHP5
PHP5 在长时间的开发及 多个预发布版本后, 2004 年 7 月 13 日,
PHP5.0发布。
该版本以 Zend 引擎Ⅱ为引擎, 并且加入了新功能 如
PHP Date Objects(PDO)。
现在
PHP5.0 版本强化更多的功 能。
首先,完全实现面向对象,提供名为
PHP 兼容模式的功能。
其次是 XML 功能,
PHP5.0 版本支持可直观地访问 XML 数据、名为 SimpleXML 的 XML 处理用界面。
同时还强化了 XML Web服务支持,而且标 准支持 SOAP 扩展模块。
数据库 方面,
PHP 新版本提供旨在访问 MySOL 的新界面 ——MySQL。
除此前的界面外,还可以使用面向对 象界面和预处理语句 (Prepared Statement )等 MySQL 的新功能. 另外,
PHP5.0上还捆绑有小容量 RDBMS-SQLite.1、新的对象模式 New Object Mode
PHP5 中的对象已经进行 了较系统、较全面的调整 ,现在的样子可能看起来会有些类似于 Java。
本小节着重讲述
PHP5 中新的对象模式 ,并举了一些较简易的例子 来说明。
就让本节成为你的
PHP5 之旅的一个新起点吧。
:) 构造函数和析构函 数 对象的引用 对象的克隆 对象中的私有、公 共及受保护模式 接口 Interfaces 抽象类 __call __set 和 __get 静态成员 构造函数和析构 函数 在
PHP4 中,当函数与对象 同名时,这个函数将成为该对象的 构造函数,并且在
PHP4 中没有析构函数的 概念。
在
PHP5 中,构造函数被统 一命名为 __construct,并且引入了析构函数的概念,被统 一命名为 __destruct。
对象的引用 在
PHP4 中,传递变量给一个函 数或方法,实际是把这个变量 做了一次复制,也就意味着 你传给函数或方法的是这个变量的 一个副本,除非你使用了引用符号“amp” 来声明是要做一个 引用,而不是一个 Copy。
在
PHP5中,对象总是以引 用的形式存在的,对象中的赋值操 作同样也都是一个引用操作。
对象的克隆 当一个对象始终以 引用的形式来被调用时,如果我想 得到该对象的一个副本,该怎么办呢?
PHP5 提供了一个新的功 能,就是对象的克隆,语法为 __clone。
对象中的私有、 公共及保护模式
PHP4 中,一个对象的所有方 法和变量都是公共的,这意味着你可以在一个对象的外部操 作其中的任意一个变量和方法。
PHP5 引入了三种新的用来控制这种存取权 限的模式,它们是:公共的Public 、受保护的Protected及私有的Private。
公共模式Public:允许在对象外部进 行操作控制。
私有模式Private: 只允许本对象内的 方法对其进行操作控制。
受保护模式Protected:允许本对象及其 父对象对其进行操作控制 。
接口 Interfaces
PHP4 中的对象支持继承 ,要使一个对象成为另一个对象的 派生类,你需要使用类似 “class foo extends parent” 的代码来控制。
PHP4 和
PHP5 中,一个对象都仅能继 承一次,多重继承是不被支 持的。
在 不过,
PHP5中产生了一个新的 名词:接口,接口是一个没有具 体处理代码的特殊对象,它仅仅定义了一些 方法的名称及参数,此后的对象就 可以方便的使用implement 关键字把需要的接 口整合起来,然后再加入具体的 执行代码。
这对提高代码的可 读性及通俗性有很大的帮助,通过 上面的例子可以看到,对象 foo 包含了 displayable 和 printable 两个接口,这时我 们就可以清楚的知道 ,对象 foo 一定会有一个 display 方法和一个print 方法,只需要去了 解接口部分,你就可以轻易的操作 该对象而不必去关心对象的内 部是如何运作的。
抽象类 抽象类不能被实例 化。
抽象类与其它类一 样,允许定义变量及方法。
抽象类同样可以定 义一个抽象的方法,抽象类的方法 不会被执行,不过将有可能会在其 派生类中执行。
__call
PHP5 的对象新增了一个 专用方法 __call,这个方法用来监 视一个对象中的其它方法 。
如果你试着调用一 个对象中不存在的方法,__call 方法将会被自动调用 。
__set 和 __get 这是一个很棒的方 法,__set 和 __get 方法可以用来捕获 一个对象中不存在的变量和方 法。
类型指示 在
PHP5 中,你可以在对象 的方法中指明其参数必须为另一个 对象的实例。
静态成员 静态成员和静态方 法在面象对象编程的术语中被称作 “类方法class methods” 和 “类变量class variables ”。
“类方法” 在一个对象没有实 例化前允许被调用。
同样, “类变量 ”在一个对象没有实 例化前可以被独立操作控制不需要用一个对象 的方法来控制。
2、异常处理 Exceptions 异常处理是公认的 处理程序错误的理想方法,在 Java 及 C 中都有这个概念,我们欣喜 的看到,在
PHP5 已经加入了这方面 的应用。
你可以尝试使用 “try” 和 “catch” 来控制程序的错误。
当有错误发生的时 候,代码会把错误交给 “catch” 子句来处理,在 “catch” 子句中,你需要指明要把错误交 给某个对象处理,这样做可以使代码 结构看起来更清晰,因为现在我们可以 把所有的错误信息交给一个对象来 处理。
自定义错误处理 你可以很方便的用 自定义的处理错误的代码来控制你 的程序中的意外。
你仅仅需要从 异常类中派生出一个自己的错误控 制类,在你自己的错误控制类中,你需 要有一个构造函数和一个 getMessage 方法。
3、名称空间 Namespace 名称空间对类的分 组或函数分组很有用。
它可以把一 些相关的类或函数给组合到一起, 方便以后调用。
例:名称空间 ltphp namespace Math class Complex //...code... function __construct printquotheyquot m new Math::Complex gt 注意你需要在何种 情况下使用名称空间,在实际运用 中,你可能会需要声明两个或多个 名称一样的对象来做不同的事情, 那么你就可以把他们分别放到不同的名 称空间中去(但接口是要相同的) 。
编辑本段
PHP6 设想1.支持 Unicode1. 支持 Unicode 是有其必然,虽然 Unicode 占用较多的.