龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

《PHP与MySQL程序设计(第3版)》――1.2一般语言特性

时间:2009-12-17 12:00来源:未知 作者:admin 点击:
分享到:
1.2 一般语言特性 每位用户使用PHP来实现关键业务应用程序时可能都有自己特定的原因,不过有人认为这些原因主要可以分为4类:实用性、强大功能、可选择性和成本。 1.2.1 实用性 自

1.2 一般语言特性

每位用户使用PHP来实现关键业务应用程序时可能都有自己特定的原因,不过有人认为这些原因主要可以分为4类:实用性、强大功能、可选择性和成本。

1.2.1 实用性

自始以来,PHP就是以实用性为目的而创建的。毕竟,Lerdorf最初的意图不是设计一门全新的语言,而只是为了解决一个没有现成解决方案的问题。此外,PHP早期的发展并非明确地希望改进语言本身,而只是要为用户增加功能。其结果就是建立了一个最低需求(minimalist)语言,不仅对用户的需求很低,对语言的语法需求也很低。对于刚入门的人来说,一个有用的PHP脚本可能只包含一行代码;与C不同,它不需要导入库函数。例如,下面的代码就是一个完整的PHP脚本,其目的是以类似于September 23, 2007的格式输出当前的日期:

如果你不懂也不用担心,后面的章节会详细介绍PHP语法,此时只要知道大概做什么就可以了。

PHP语言很强调紧凑性,这还反映在它能嵌套函数。例如,通过在一行代码中按特定的顺序调用函数,可以对一个值进行一系列修改。下面的例子中,将生成一个由5个字母或数字字符组成的字符串,如a3jh8:

PHP是一种类型松散的语言,这意味着不需要明确地创建变量、指派类型或撤销变量,当然也没有绝对禁止做这些操作。PHP对这些情况的处理是透明的,脚本中使用变量时PHP会动态创建变量,并使用最优推测规则自动指派变量的类型。例如,PHP认为下面的一组语句是完全合法的:

PHP还会在脚本结束时自动撤销变量,将资源返回给系统。从这些方面来看,由于PHP在内部处理了编程的许多管理方面的问题,开发人员因而能够集中精力去完成最终的目标――开发一个实用的应用程序。

1.2.2 强大功能

目前,PHP有180个可用的库,总共有1000余项功能。也许,你知道PHP能访问数据库、处理表单信息以及动态创建页面,但你可能不知道PHP还有以下功能。

q创建并处理Macromedia Flash、图片和PDF文件。

q将密码与字典数据和容易破解的模式进行比较,评估密码的可猜测性。

q使用POSIX和基于Perl的正则表达式库解析最复杂的字符串。

q通过存储在纯文本文件、数据库或Microsoft活动目录中的登录凭证来验证用户身份。

q采用多种协议通信,包括LDAP、IMAP、POP3、NNTP和DNS等。

q与大量信用卡处理解决方案集成。

这还没有把PHP扩展与应用程序库(PEAR)中的功能考虑进来,其中收集了几百个易于安装的开源包,可通过任意方式来进一步扩展PHP。可以从第11章学习更多关于PEAR的内容。在随后的几章中,你将学习很多这样的库,以及几个PEAR包。

1.2.3 可能性

PHP开发人员很少只局限于一种实现方案。相反,这个语言为用户提供了充分的选择。例如,考虑一下PHP对数据库的支持。PHP为25种以上的数据库产品提供了内置支持,包括Adabas D、dBase、Empress、FilePro、FrontBase、Hyperwave、IBM DB2、Informix、Ingres、Interbase、mSQL、MicrosoftSQL- Server、MySQL、Oracle、Ovrimos、PostgreSQL、Solid、Sybase、UNIX dbm和Velocis。此外,也可以利用抽象层功能来访问Berkeley DB类型的数据库。还可以使用一些一般性的数据库抽象方案,其中最为流行的有PDO(http://www.php.net/pdo)和MDB2(http://pear.php.net/package/MDB2)。最后,如果你想找一个对象关系映射(ORM)解决方案,诸如Propel(http://propel.phpdb.org/trac/)这样的项目应当非常合适。

PHP灵活的字符串解析功能为不同水平的用户提供了选择,不仅能够(利用字符串处理函数)立即开始完成复杂的字符串操作,还可以(利用正则表达式)将有类似功能的程序(如Perl和Python)快速移植到PHP。除了超过85个字符串处理函数之外,PHP还支持POSIX和基于Perl的正则表达式格式。

你更喜欢函数式编程语言吗?还是采用面向对象范型(object-oriented paradigm)的语言?PHP对二者都提供了全面的支持。虽然PHP最初只是一种函数式语言,但开发人员很快就意识到提供流行的OOP范型的重要性,并开始实现一种可扩展的解决方案。

这里反复强调的重点是,使用PHP,我们可以充分利用目前掌握的技能,只需投入很少的时间就能很快地开始PHP开发。这种策略在整个语言中频频出现,这里提到的只是其中很少的一部分例子。

1.2.4 成本

PHP从一开始就对使用、修改和再分发没有任何限制。最近几年,满足这种开放许可限制的软件被称为开源(open-source)软件。开源软件和因特网就像面包和黄油一样密不可分。开源项目如Sendmail、Bind、Linux和Apache都在因特网的发展方面起到了非常重要的作用。虽然媒体最为追捧的是开源软件可以自由使用,但它还有另外几个同样重要的特点(甚至更重要)。

q没有大多数商业产品所要求的许可限制。商业软件往往有许多许可限制,而开源软件的用户没有这些限制。虽然在许可权限上存在差异,但一般来讲,用户都能自由地修改和重新分发开源软件,还能将开源软件整合到其他产品中。

q开放式开发和评审过程。虽然也曾有过一些意外事件,但开源软件在安全方面还是享有很好的声誉。这种高标准正是开放式开发和评审过程的结果。因为任何人都能自由使用源代码,所以安全漏洞和潜在的问题会很快被发现并得以修复。开源倡导者Eric S. Raymond很好地总结了这项优点,他说:“只要有足够多双眼睛,所有的bug都无处遁形。”鼓励参与。开发团队不限于某个组织。任何感兴趣的人,只要具有相应的能力,都可以自由地加入到项目中。由于不对成员进行限制,这就大大增加了项目的人才储备,必然能贡献出更高质量的产品。

精彩图集

赞助商链接