PHP,21世纪的霸主(之3)

原创 2002年06月19日 09:02:00

4.快速进阶

  用PHP的面向对象机制实现一个项目的步骤如下:
  ·首先,你需要连接一个数据库SQL服务器——有下面两个选择:
     ADODB (Active Data Objects Data Base),即动态数据对象数据库(http://php.weblogs.com/adodb

     Metabase(Database independent access and management),即数据库独立访问和管理(http://phpclasses.upperdesign.com/browse.htm/package/20

   ·第二,你需要一些通用的PHP类来创建表单、表格和其它HTML对象。这些都可以从PHP classes网站上获取(http://phpclasses.upperdesign.com)。可以参考一下该网站的下载排行榜。 也可以从网站http://www.milkywaygalaxy.freeservers.com/上获取表单类、模板类等。
   
   ·第三,通过对这些通用类的继承,来设计和创建自己的PHP类。
 
   ·第四,使用模板类来分离显示样式和业务逻辑,可参见http://www.phpclasses.com
   ·第五,使用IDE工具进行开发(参见PHP IDE一节)。
   ·最后,最好把你代码封装成类,这样可以实现代码的易维护性和可重用性。

5.PHP的主要特性

·支持标准CGI,FastCGI和Apache模块——作为一个标准的CGI程序,PHP可以安装在运行任何Web服务器的任何UNIX机器上。 PHP支持新的FastCGI标准,通过这一机制,PHP获得了速度上的提高。 当配置成Apache模块时,PHP便成了功能极为强大的,运行速度如闪电般快的新的选择。

·访问日志——通过PHP的日志访问功能,用户可以维护他们的点击次数和日志。 该功能提供了实时的访问监测,而不以任何方式使用系统的中心访问日志文件。日志浏览脚本为个人用户拥有的一组页面提供快速的访问摘要。除此之外,该程序包还可以通过配置为每一个页面生成一个页脚(footer)来显示访问信息。可参考文章后面的例子。

·访问控制——个内建的基于Web的配置“筛”,可实现对访问控制的配置。这样,才有可能为所有或部分Web页面创建一套规则,使得拥有这些页面的特定的人可以对他的网页设置各种限制,如,什么人可以访问这些页面以及这些页面以怎样的一种方式被访问。对页面的设置有许多方式,如密码保护、完全限制、登录失效、或者更多的以客户的域、浏览器、e-mail地址甚至涉及的其它文档为设置依据。

·支持PostgresSQL——PostgresSQL是一个先进但是免费的RDBMS(关系数据库管理系统)。PHP支持在.html文件中直接嵌入PostgresSQL的“SQL 查询语句”。

·支持RFC-1867文件上传——文件上传是Netscape2.0新增的一项功能。用户可以将文件上传到Web服务器。PHP提供了实际的MIME解码功能,使得文件上传成为可能。PHP还提供额外的框架,可对收到的上传文件进行一些有用的处理。

·基于HTTP的身份验证控制——PHP可以用来为Apache服务器创建自定义的基于HTTP的身份验证机制。

·变量、数组,联合数组(associative arrays)——PHP支持typed(这个单词不知道怎么译,望高手指点)变量,数组,甚至Perl风格的联合数组。而这些都可以通过GET或POST方法的表单从一个页面传递到另一个页面。

·条件语句、While循环——PHP是一种类似C语言的功能完整的脚本语言。你可以使用if/then/elseif/else/endif条件语句,以及While循环和Switch/case语句来安排HTML页面显示的
逻辑流程。

·扩展的正规表达式——正规表达式频繁地应用于模式匹配、模式替换以及一般的字符串操作。PHP支持所有常用的正规表达式操作。

·原始的HTTP Header控制——根据某种条件,让Web页面能够发送自定义的原始HTTP头对一些高级的网站设计来说是非常必要的。一个常见的用法就是发送一个Location:URL头,把客户端的请求重定向到另外一个URL上。也可以用来关闭缓存或操作页面最新更新的HTTP头。

·动态创建GIF图片——PHP已经支持Thomas Boutell的GD图片库,可以实现GIF图片的动态创建。

·支持ISP“安全模式”——PHP支持独特的“安全模式”,从而使得多个用户运行同一台服务器上的PHP脚本变得更加安全。

·新发布的PHP中又增加了许多新的功能。可访问PHP的主站点http://www.php.net
·PHP是免费的!——这是最后一个重要特色。PHP的程序包是完全免费的。它遵守GNU/GPL。你可以把这个软件用于实现商业或者其它任何目的。


5.1 PHP相对于Java的优势

   PHP是一种已经确定下来的,用于创建动态网页的服务器端的脚本语言。作为一种为Web而特别设计的语言,PHP带来了许多商业机构渴望的特性。

·极短学习周期
·快速的开发时间
·非常高的性能

这对于缺乏熟练编程人员,时间又非常紧迫的公司来讲,具有非常重要的意义。PHP可以在所有主要的操作平台(UNIX,Windows,甚至是大型机)上运行,而且生来就支持各种流行的数据库。所有这一切决定它是一种进行Web开发的非常理想的选择:曾有运用PHP技术的网上商店称,他们只需雇佣业余的程序员,几天内就能够开发出可重用的代码。那些熟悉诸如C,C++或Java等语言的程序员们,也总是发现他们能够在几个小时之内就能够进行PHP编程。

PHP是针对Web开发而设计的,这一事实使它成为一种独具特色的开发工具,就象Intranet Design杂志评价的那样:

“PHP是构建在Web开发人员现实需求之上的....不同于其它笨重的,高负荷的方法,PHP非常轻便,是为Web开发度身定做的。它可以比其它同类技术更快,更容易的解决复杂的问题。”

Java作为一种新的编程语言,最初用于运行嵌在浏览器中的客户端应用程序。在过去短短几年中,“applet”所暴露的问题迫使SUN和其它Java开发人员为该语言寻找新的出路。其中最为突出的就是服务器端编程,它允许Web站点连接数据库并产生其它服务器端的应用程序,即“servlets”。SUN最终推出了Java Server Pages(JSP)作为编写servlets的手段。与PHP一样,JSP在不同平台间也具有高可移植性(尽管PHP支持任何32位以及32位以上的平台,而JSP只能在安装了Java虚拟机的平台上运行)。 然后,一个没有编程背景的新手会发现,使用servlets编程是一件极为困难的事,原因在于该语言的复杂性以及JSP系统复杂的设计方式。

JSP的性能也存在许多待改进的地方:ZDnet的在线刊物eWeek最近的一项调查发现,PHP的运行速度差不多是JSP的3.7倍。可以说,JSP是Web环境中非常差的一种解决方案,这是因为它每秒钟只能处理很少的事务,而且响应速度相当的慢。


ZDnet的eWeek杂志还提到:
“JSP是一项相对较新的技术,从开发工具、资源、人才方面来看,还未具有完全的市场成熟度。”......由于JSP是基于Java的,而Java由是一种强类型的语言,所以我们不得不声明变量的类型,并在需要的地方手工转换类型。这使得JSP成为业余程序员最难于学习的一种脚本语言。


PHP与Java协同工作

JSP仅仅是一种能够访问Java对象的语言罢了,认识到这一点很重要。而PHP也可以整合Java,这意味着,PHP可以象JSP一样,成为一种能够调用Java逻辑的脚本语言。但与JSP不同的是,PHP还可以调用其它组件模型,如Microsoft的COM,而且增加对新的对象模型的支持也极为容易。可见,PHP的扩展能力是无穷的。而另一方面,JSP完全依赖于Java。

IBM程序员Sam Ruby联合使用PHP和Java。通过PHP对Java的良好支持,使得Java对象如同常规的PHP对象一样,透明地被创建和使用。

AutionWatch网站使得各种规模的商业团体都可以从其动态竞价环境中获益。它每月的访问人数在二百六十万以上;已有三十多万个注册用户;每个月进行一百二十万次拍卖。 他们曾尝试使用Java,但还是选择了PHP,就因为它更容易使用,开发速度更快。若想知道的更多,请联系Ben Margolin,他是AuctionWatch网站销售服务部的主任(ben@auctionwatch.com)。

编程顾问Reuven Lerner曾在各种语言之间作过比较。他对PHP的看法概括如下:
“这是门容易学习的语言。美工和Web设计师可能会说他们并非程序员,但事实上,他们在大型项目中,越来越多的使用了JavaScript,VBScript以及其它一些简单的编程语言。与Perl相比,PHP更加正规和明确;对一个新手来说,PHP比Java更容易掌握。确实,PHP有点象JavaScript(如果存在服务器端版本的话)。任何人,不管有无编程经验,都可以在很短的时间里学会并使用PHP。这一点也许VBScript可以做到,但Perl和Java肯定不行.....PHP绝对是一个非凡的,强大的系统。无怪乎能够成为创建Web站点的流行语言.....我认为,PHP将成为Java和JSP强有力的竞争对手,我会在某些客户和公司内部项目中极力推荐PHP。”

PHP:一直在前进

JSP有Sun作为其后盾,因此不断获得媒体的关注。但有趣的是,尽管没有任何宣传攻势,PHP的流行度仍然以8-11%的速度在增长,远远大于服务器端应用程序4%的月增长率。有六百五十万个站点使用了PHP(参见Netcraft 2001年5月的调查报告)。39%的Apache服务器上配置了PHP;而Perl占了11%的市场分额,名列第四。Apache保持着59%的Web服务器市场占有率;Microsoft次之,仅28%(参见E-Soft Inc./SecuritySpace 2001年5月的调查报告)。

使用PHP的著名公司有:Unilever、Philips、NTT、Cisco、 Japan Airlines、 Air Canada、 Lufthansa、 GE Marketplace、 Wallstreet:Online Germany、 AuctionWatch、 VillageVoic、 Dialpad以及BMC。
   1.Intranet Design杂志:一个IT经理对PHP的看法,2000年6月4日。
    http://linuxtoday.com/news_story.php3?ltsn=2000-06-04-002-04-NW-HL-SW
   2.eWEEK:四中脚本语言的速度开发,2000年10月30日。
    http://www.zdnet.com/eweek/stories/general/0,11011,2646052,00.html

 

 


 

前沿预测:21世纪会产生的八大未来技术系列一

前沿预测:21世纪会产生的八大未来技术系列一 如果八种不同的技术同时出现的话会发生什么样的情况?对此,Peter Diamandis于2016年2月8日谈论了他的观点。在此,我将与读者们分享...
  • isuccess88
  • isuccess88
  • 2017年04月30日 16:45
  • 328

虚拟现实游戏的十大误区

我们算是国内第一批做VR游戏的团队了, 基本上都是一路踩着坑过来的, 也从侧面说明了目前VR游戏的不成熟. 但是, 得益于大公司的资源, 机会和合作关系优势, 我们能在第一时间获得前沿的资料, 并可以...
  • xoyojank
  • xoyojank
  • 2015年12月22日 14:43
  • 5436

李开复给中国大学生的第七封信——21世纪最需要的七种人才

人才的标准从来都不是一成不变的。在东方的战国时代和西方的骑士时代里,最受器重的是力敌万夫的勇士和巧舌善辩的谋臣;在中国的科举时代里,靠着“死记硬背”和“八股文章”而金榜题名的书生最容易出人头地;在西方...
  • java173842219
  • java173842219
  • 2017年02月09日 12:34
  • 216

数据科学家---21世纪最性感的工作

数据科学家是指能采用科学方法、运用数据挖掘工具对复杂多量的数字、符号、文字、网址、音频或视频等信息进行数字化重现与认识,并能寻找新的数据洞察的工程师或专家(不同于统计学家或分析师)。一个优秀的数据科学...
  • goodnew
  • goodnew
  • 2015年03月05日 17:47
  • 473

SublimeText3 配置PHP开发插件

Sublime text 3 中Package Control 的安装与使用方法 Package Control 主文件下载 下载地址:https://github.com/wbond/sublim...
  • gui8304451
  • gui8304451
  • 2016年04月09日 15:02
  • 29638

MatLab视频学习笔记(21世纪电子论坛原创视频)-02

1. 变量命名     必须字母开头,不允许下划线开头,包括字母、数字、下划线,区分大小写     不声明,不定义,直接使用 2. 语句     回车则表示一句结束。如果末尾无分号,则执行并输出该...
  • ztg1234
  • ztg1234
  • 2017年11月01日 22:47
  • 69

【原创】Sublime Text 3设置吊炸天PHP开发环境

配置一个能够渠道Zend Studio 或 PHPStorm 的 Sublime Text 编辑器的PHP开发环境,更快,更轻,更高效。...
  • heiyeshuwu
  • heiyeshuwu
  • 2016年07月08日 11:43
  • 39341

sublime text3配置php编译环境

首先在Window环境安装配置好运行环境(安装PHP执行引擎),或者使用xampp集成环境 如图(表示已经配置成功) (2) 安装 SublimeLinter 和 SublimeLinter-ph...
  • feizaoSYUACM
  • feizaoSYUACM
  • 2017年01月25日 15:57
  • 3112

sublime text 3 汉化插件,中文识别插件,html,php格式化插件

localization提供简中,繁中,英文,日文四种语言切换。1.ctrl+shift+p:调出package control;2、在对话框里面输入ins ,选择package control :i...
  • zhezhebie
  • zhezhebie
  • 2017年02月27日 17:21
  • 1389

Sublime Text 3 配置php调试环境介绍

php编译不是sublime text 3标配,需要自己配置。 工具/原料 PHP开发环境 Sublime Text 3 方法/步骤 ...
  • u012980068
  • u012980068
  • 2016年04月14日 11:40
  • 1240
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP,21世纪的霸主(之3)
举报原因:
原因补充:

(最多只允许输入30个字)