跟我学PHP——第一讲:PHP介绍以及环境搭建
??????? 近些年来,随着网络技术的蓬勃发展,动态网站技术也得到了很好的发展。PHP是一种嵌入式HTML脚步语言。它的大多数语法来源于C,也有一部分PHP特性借鉴于Java和Perl,并且混合了PHP式的新语法。本讲将对PHP有一个宏观的介绍,使大家对PHP脚步语言有一个初步的认识。并且还将介绍如何安装并配置PHP的开发环境。[hr]
[b]1.1PHP简介[/b]
? ? ? ? PHP的全名是一个递归的缩写名称,“PHP:Hypertext Preprocessor(PHP:超文本预处理程序)”,汗……打开缩写仍然是缩写。PHP作为一种嵌入式HTML脚步语言,它可以比CGI或者Perl更快速地执行动态网页。
? ? 在数据库方面,PHP支持MySQL、Sybase和Oracle等多种数据库产品。在Internet的服务支持方面,它也支持很多通讯协议,包括IMAP、POP3和LDAP等。除此之外,PHP的脚本语言可以轻松的移植到不同的系统平台上。比如,先以Windows作为操作系统构架PHP网站,由于系统负荷过高,可以快速地将整个系统移到Linux上,而不用重新编译PHP程序。面对快速发展的Internet,PHP无疑是长期规划的最好选择。
? ? PHP的脚本代码一般是由HTML代码中的一对特殊标记所引起的内容,通常是“<?php…?>”。当PHP解析器对一个文件进行分析的时候,解析器不会对这对标记外的HTML代码做任何处理。而标记内的代码将被看做PHP代码,被解析器分析执行。PHP的这种运行机制允许程序编写人员在HTML中的任何位置方便地嵌入所需的PHP代码,而PHP标记外的内容则被完全独立。在用户通过浏览器访问时,用户不会看到任何PHP代码,看到的是被PHP解析器内部处理过的内容。
[hr]
[b]1.1.1PHP语言的发展简史[/b]
? ? ? ? php 继承自一个老的工程,名叫 php/fi。php/fi 在 1995 年由 rasmus lerdorf 创建,最初只是一套简单的 perl 脚本,用来跟踪访问他主页的人们的信息。它给这一套脚本取名为“personal home page tools”。随着更多功能需求的增加,rasmus 写了一个更大的 c 语言的实现,它可以访问数据库,可以让用户开发简单的动态 web 程序。rasmus 发布了 php/fi 的源代码,以便每个人都可以使用它,同时大家也可以修正它的 bug 并且改进它的源代码。
? ? php/fi,一个专为个人主页/表单提供解释程序的程序,已经包含了今天 php 的一些基本功能。它有着 perl 样式的变量,自动解释表单变量,并可以嵌入 html。语法本身与 perl 很相似,但是它很有限,很简单,还稍微有些不协调。
? ? 到1997年,php/fi 2.0,也就是它的 c 语言实现的第二版在全世界已经有几千个用户(估计)和大约 50,000 个域名安装,大约是 internet 所有域名的 1%。但是那时只有几个人在为该工程撰写少量当代码,它仍然只是一个人的工程。
? ? php/fi 2.0 在经历了数个 beta 版本的发布后于 1997 年 11 月发布了官方正式版本。不久,php 3.0 的第一个 alpha 版本的发布,php 从此走向了成功。
php 3
? ? ? ? php 3.0 是类似于当今 php 语法结构的第一个版本。andi gutmans 和 zeev suraski 在为一所大学的项目中开发电子商务程序时发现 php/fi 2.0 功能明显不足,于是他们重写了代码。这就是 php 3.0。经过andi,rasmus 和 zeev 一系列的努力,考虑到 php/fi 已存在的用户群,他们决定联合发布 php 3.0 作为 php/fi 2.0 的官方后继版本。而 php/fi 2.0 的进一步开发几乎终止了。
? ? php 3.0 的一个最强大的功能是它的可扩展性。除了给最终用户提供数据库、协议和 api 的基础结构,它的可扩展性还吸引了大量的开发人员加入并提交新的模块。后来证实,这是 php 3.0 取得巨大成功的关键。php 3.0 中的其它关键功能包括面向对象的支持和更强大和协调的语法结构。
? ? 这个全新的语言伴随着一个新的名称发布。它从 php/fi 2.0 的名称中移去了暗含“本语言只限于个人使用”的部分。它被命名为简单的缩写“php”。这是一种递归的缩写,它的全称是——php: hypertext preprocessor。
? ? 1998 年末,php 的安装人数几近 10,000,有大约 100,000 个网站报告他们使用了 php。在 php 3.0 的顶峰,internet 上 10% 的 web 服务器上都安装了它。
? ? 约九个月的公开测试后,官方于1998年6月正式发布 php 3.0。
php 4
? ? ? ? 1998 年的冬天,php 3.0 官方发布不久,andi gutmans 和 zeev suraski 开始重新编写 php 代码。设计目标是增强复杂程序运行时的性能和 php 自身代码的模块性。php 3.0 的新功能和广泛的第三方数据库、api的支持使得这样程序的编写成为可能,但是 php 3.0 没有高效处理如此复杂程序的能力。
? ? 新的被称为“zend engine”(这是 zeev 和 andi 的缩写)的引擎,成功的实现了设计目标,并在 1999 年中期首次引入 php。基于该引擎并结合了更多新功能的 php 4.0,在 php 3.0 发布两年后,于2000年5月发布了官方正式版本。除了更高的性能以外,php 4.0 还包含了其它一些关键功能,比如:支持更多的 web 服务器;http sessions 支持;输出缓存(output buffering);更安全的处理用户输入的方法;一些新的语言结构。
? ? php 4 是当前 php 的最新版本。修改和增强 zend engine 以使 php 5.0 整合新功能的工作已经开始。
? ? 今天,已经有 10,000 名开发人员(估计)和几百万网站报告已安装了 php,占整个 internet 域名的 20%。
? ? php 的开发小组有很多优秀的开发人员,同时还有大量的优秀人才在进行 php 相关工程的开发工作,如 pear 和 php 文档的工程。
php 5
? ? ? ? php 的未来主要受其核心,zend engine 控制。php 5 将包含新一代的 zend engine 2.0。请访问其网站以获取更多关于该引擎的信息。
php5的问世,标志着PHP将有着更长远的发展。
[hr]
[b]1.1.2PHP语言的优势[/b]
[list][li]支持的数据库非常广泛,MySQL、Sybase和Oracle等常用数据库产品PHP都提供支持。并且通过ODBC,其应用范围更广。[/li][li]跨平台性好,支持Windows、Linux和Unix等多种系统操作平台。并且支持Apache、IIS等多种WEB服务器。[/li][li]自由软件,源代码公开,升级很快。[/li][li]免费。PHP机器服务器Apache、MySQL数据库和Linux操作系统都是免费的产品、使用这一组合,用户不需要花费一分钱就可以构建一个中小型的网站系统。[/li][li]容易入门。PHP的语法继承了C语言的编程风格,易于上手。[/li][/list]下表是PHP与ASP以及传统CGI的比较,由此可见PHP的优势:
[table=100%][tr][td][align=center]脚本语言[/align][/td][td][align=center]PHP[/align][/td][td][align=center]ASP[/align][/td][td][align=center]CGI[/align][/td][/tr][tr][td]操作系统[/td][td]均可[/td][td]Windows[/td][td]均可[/td][/tr][tr][td]Web服务器[/td][td]多种[/td][td]IIS[/td][td]均可[/td][/tr][tr][td]执行效率[/td][td]快[/td][td]快[/td][td]慢[/td][/tr][tr][td]稳定性[/td][td]好[/td][td]中等[/td][td]很好[/td][/tr][tr][td]开发周期[/td][td]短[/td][td]短[/td][td]长[/td][/tr][tr][td]程序语言[/td][td]PHP[/td][td]VB Script/Java Script[/td][td]C语言等多种[/td][/tr][tr][td]易于上手[/td][td]容易[/td][td]容易[/td][td]困难[/td][/tr][tr][td]函数支持[/td][td]多[/td][td]少[/td][td]根据语言的选择不定[/td][/tr][tr][td]系统安全[/td][td]好[/td][td]差[/td][td]很好[/td][/tr][/table]
[hr]
[b]1.1.3相关资源及自学提示[/b]
[i]1.相关资源:[/i]
[list][li]http://www.php.net/:PHP的官方网站,发布PHP的最新版本及所有的技术手册。[/li][li]http://www.phpx.com/:中国PHP联盟,包含很多PHP方面的教程、文章及代码等。[/li][li]http://www.phpe.com/:超越PHP网站,是以讨论PHP技术及教学为主的技术站点,该网站的一大特色就是网站自身的源代码也是公开的。[/li][li]http://www.phpv.com/:PHP5研究室,主要从事PHP5的研究,该网站提供了很多PHP5方面的软件及学习资料。[/li][li]http://www.phpchina.cn/:PHP China,是面向PHP使用和爱好者及与PHP有关的单位与个人自愿参加的组织。该网站主要进行PHP的技术性讨论及发布PHP的最新动态等。[/li][li]http://community.csdn.net/:CSDN社区,CSDN是国内知名的电脑技术讨论社区。其中的PHP讨论版提供了很多很好的PHP技术资料。[/li][/list]
[i]2.自学提示:[/i]
? ? ? ? 根据老颓我学习PHP的经验,朋友们学习PHP需要注意以下几点:
[list=1][li]多阅读网上发布的源代码。[/li][li]多练习编写一些PHP代码。[/li][li]选择一个好的开发工具。[/li][li]养成良好的编程习惯。[/li][/list]
[hr]
[b]1.2PHP的应用范围[/b]
? ? 随着近些年来浏览器/服务器(B/S)模式的快速发展,单纯的静态HTML已经不能满足信息传输的需求了,很多脚本程序大量地涌现出来。PHP脚本程序也是其中的一种。PHP除了可以使用HTTP协议进行通信之外,也可以使用IMAP、SNMP和POP3等协议。PHP主要具有以下几种功能。
[list][li]PHP能够根据网站的访问者客户端的语言设置为访问者提供本地化的服务,自动地以访问者的母语或习惯语言提供页面。[/li][li]PHP能够很容易地创建Flash、PDF等多媒体文件。[/li][li]PHP有效地支持加密,并且支持多种数据库服务器。[/li][/list]
因此,PHP可用于企业内部管理系统的开发、B/S架构的电子商务系统的开发、公共网站的开发等多种应用中。
PHP主要擅长以下几个领域。
[list=1][li]内容管理系统(CMS)[/li][li]论坛系统(Forum)[/li][li]电子商务系统(e-Business)[/li][/list]
PHP除了上面介绍的优势,也有很多不足的地方,比如:
[list=1][li]PHP对递归的支持并不是很好。能承受的递归函数的递归次数限制和其他的语言比起来要少很多。[/li][li]PHP没有命名空间。虽然PHP5提供了很好的面向对象的特性,但是并没有提供命名空间的支持。这对团队进行大项目的开发是个很不利的因素。[/li][/list]
? ? ? ? 因此,PHP不适合大型系统的开发。虽然目前也有很多大型系统使用PHP开发成功的实例,但是与其他语言相比,PHP在这方面还是有一定的劣势的。
[hr]
[b]1.3PHP的Hello,world预览[/b]
明天继续 恩恩恩,好的,偶第一个跟你学…… 恩,我也来学习一下,最近在给一个整合包换东西,不是很懂,呵呵……、 报个名。努力学习,天天向上。争取早日毕业! 只会html而且很菜 看的人不多阿,没心情写下去了 来学习~
页:
[1]