第一课 PHP 入门

日期:2008-07-22  作者:喜腾小二  来源:喜腾网  培训中心

什么是PHP?

引用PHP(Hgpertext Preprocessor或Personal Home Page
Tools)的官方站点http://www.php.net的定义来说,PHP是一种服务器端、跨平台、HTML嵌入式的脚本语言。其实,它和大家所熟知的ASP一样,是一门常用于Web编程的语言。PHP酝酿于1994年,1995年发布其第一个公开版本,截止目前已发布的最新版本为PHP5.0。

PHP是一种免费软件,它能运行在包括Windows、Linux等在内的绝大多数操作系统环境中,常与免费Web服务软件Apache和免费数据库Mysql配合使用于Linux平台上,具有最高的性能价格比,号称“黄金组合”。

也许PHP最强大和最重要的特征是它的数据库支持,目前其支持范围覆盖了包括Oracle、Sybase、MySQL、ODBC等在内的大多数常见数据库。使用它编写一个含有数据库功能的网页程序变得十分简单。


为什么学习PHP?

1、门槛低
在c/c++、java、php、asp这些开发语言中,php是最容易学的语言,学习成本是c和java的1/10都不到,是asp的1/2都不到。我们设置了208学时的课程可以完全保证零起点的学员最后达到独立开发一个中小型网站的水平。

2、竞争少
相对与其他开发语言,掌握php的程序员目前非常少。学校基本上没有开设php课程的,培训php的机构也少之又少。因为php是一个和互联网紧密相关的课程,一般的培训机构没有互联网相关经验,很难培训好这门课程。另外,从求职的角度来看,拿php招聘信息和最热门的java或asp招聘信息比较,可以发现php招聘量达到java或asp的1/3左右,但是php从业人员只是java或asp从业人员的1/40左右。

3、需求旺
互联网相关企业几乎都在用php语言进行网站开发。其中包括sina,sohu,网易,tom,qq,baidu等几乎所有的大型网站。大家可以上搜职网或其他招聘网站观察一下,几乎这些企业都招聘过php相关开发人员,而且每天在互联网上有大量的php开发人员的招聘信息。但是互联网企业最头疼的问题就是招收不到有实际php学习经验的人员,更别说接受过php专业培训的人员了。很多企业无可奈何之下只能招收有其他开发语言经验的人,经过内部培训再从事php项目的开发。

4、发展空间大
尽管php门槛低,学习起来容易,因此有些人误以为这是一个不太有发展前景的语言。其实这是一个很大的误区,很多人就是收益于此,在从业的很短时间内走上了很高的台阶。因为其他语言至少要学习并从业很多年才能勉强算上掌握,因为大家都必须掌握这些语言的很多底层的细节问题,一直上不到一个比较高的层次来考虑问题。细节上花的时间太多反而失去了很多高层次架构上的研究机会。而php在轻松掌握之后就可以更多的考虑高层次架构上的问题了,细节上的问题这门语言的开发者都替从业者解决了。所以互联网业内上升的最快的很多都是php开发人员。

PHP语言发展历史

1、1994年, Rasmus Lerdorf 开始计划发展PHP,并在1995年以Personal Home Page
Tools对外发表第一个版本。在这早期的版本中,提供了访客留言本、访客计数器等简单的功能。

2、1995年,第二版的PHP问市,定名为 PHP/FI(Form
Interpreter)。PHP/FI并加入了mSQL的支持,自此奠定了PHP在动态网页开发上的影响力。

3、1996 年底,有15,000个Web网站使用PHP/FI。

4、1997年,使用 PHP/FI 的Web网站成长到超过50,000个。Zeev Suraski 及 Andi
Gutmans加入了开发小组,开始了第三版的开发计划,从此PHP成为了真正意义上的开源项目。

5、1998年6月,PHP.net发布了PHP
3.0。在这一版本中PHP可以跟Apache服务器紧密地结合,几乎可以支持所有主流与非主流数据库;而且它拥有非常高的执行效率,这些优势使1999年使用
PHP的网站超过了150,000 个。

6、现在PHP5.0版本强化更多的功能。首先,完全实现面向对象,提供名为PHP兼容模式的功能。其次是XML功能,PHP5.0版本支持可直观地访问XML数据、名为SimpleXML的XML处理用界面。同时还强化了XML
Web服务支持,而且标准支持SOAP扩展模块。
数据库方面,PHP新版本提供旨在访问MySQL的新界面--MySQLi。除此前的界面外,还可以使用面向对象界面和预处理语句(Prepared
Statement)等MySQL的新功能。另外,PHP5.0上还捆绑有小容量RDBMS--SQLite。

PHP功能特点

PHP语言的特点:

◎快速:PHP是一种强大的CGI脚本语言,语法混合了C、Java、Perl和PHP式的新语法,执行网页比CGI、Perl和ASP更快,这是它的第一个突出的特点。


◎具有很好的开放性和可扩展性:PHP属于自由软件,其源代码完全公开,任何程序员为PHP扩展附加功能非常容易。

◎数据库支持:PHP支持多种主流与非主流的数据库,如:、Adabas
D、DBA、dBase、dbm、filePro、Informix、InterBase、mSQL、MySQL、Microsoft SQL
Server、Solid、Sybase、ODBC、oracle、oracle
8、PostgreSQL等。其中,PHP与MySQL是现在绝佳的组合,它们的组合可以跨平台运行。

◎面向对象编程:PHP提供了类和对象。为了实现面向对象编程,PHP4及更高版本提供了新的功能和特性,包括对象重载、引用技术等。

◎版本更新速度快:与数年才更新一次的ASP相比,PHP的更新速度就要快得多,因为PHP每几周就更新一次。

◎具有丰富的功能:从对象式的设计、结构化的特性、数据库的处理、网络接口应用、安全编码机制等,PHP几乎涵盖了所有网站的一切功能。

◎可伸缩性:传统上网页的交互作用是通过CGI来实现的。CGI程序的伸缩性不很理想,因为它为每一个正在运行的CGI程序开一个独立进程。解决方法就是将经常用来编写CGI程序的语言的解释器编译进你的web服务器(比如mod_perl,JSP)。PHP就可以以这种方式安装,虽然很少有人愿意这样以CGI方式安装它。内嵌的PHP可以具有更高的可伸缩性。


PHP语言的优势

◎良好的安全性:PHP是开源软件,所有PHP的源代码每个人都可以看得到,代码在许多工程师手中进行了检测,同时它与Apache编绎在一起的方式也可以让它具有灵活的安全设定,PHP具有了公认的安全性能。


◎跨平台特性:ASP比不上PHP的跨平台能力,PHP几乎支持所有的操作系统平台及数据库系统,正是它的这种能力让UNIX/Linux有了一种与ASP媲美的开发语言,并广为流行。

◎易学性:PHP嵌入在HTML语言中,且坚持脚本语言为主,与Java、C等语言不同,语法简单、书写容易,方便学习掌握。现在市面上也有了大量的书,同时Internet上也有大量的代码可以共享

◎执行速度快:占用系统资源少,代码执行速度快。

◎免费:在流行的企业应用LAMP平台中,PHP、Linux、Apache、MySQL都是免费软件,降低了企业架设成本。

PHP能做什么?

PHP 能做任何事。
PHP 主要是用于服务端的脚本程序,因此您可以用 PHP 来完成任何其它的 CGI 程序能够完成的工作,例如收集表单数据,生成动态网页,或者发送/接收
Cookies。但 PHP 的功能远不局限于此。
PHP 脚本主要用于以下三个领域。

1、服务端脚本。
这是 PHP 最传统,也是最主要的目标领域。开展这项工作您需要具备以下三点:PHP 解析器(CGI 或者服务器模块)、WEB 服务器和 WEB
浏览器。您需要在运行 WEB 服务器时,安装并配置 PHP,然后,可以用 WEB 浏览器来访问 PHP 程序的输出,即浏览服务端的 PHP
页面。请查阅“安装”一章以获取更多信息。

2、命令行脚本。
您可以编写一段 PHP 脚本,并且不需要任何服务器或者浏览器来运行它。通过这种方式,您仅仅只需要 PHP 解析器来执行。这种用法对于依赖 cron(Unix
或者 Linux 环境)或者 Task Scheduler(Windows
环境)的日常运行的脚本来说是理想的选择。这些脚本也可以用来处理简单的文本。请参阅“PHP 的命令行模式”以获取更多信息。

3、编写客户端的 GUI 应用程序。
对于基于窗口式的应用程序来说,PHP 或许不是一种最好的语言,但是如果您非常精通 PHP,并且希望在您的客户端应用程序中使用 PHP 的一些高级特性,您可以利用
PHP-GTK 来编写这些程序。用这种方法,您还可以编写跨平台的应用程序。PHP-GTK 是 PHP 的一个扩展,在通常发布的 PHP 包中并不包含它。如果您对
PHP-GTK 感兴趣,请访问其网站以获取更多信息。
PHP 能够用在所有的主流操作系统上,包括 Linux、Unix 的各种变种(包括 HP-UX、Solaris 和 OpenBSD)、Microsoft
Windows、Mac OS X、RISC OS 等。
今天,PHP已经支持了大多数的 WEB 服务器,包括 Apache、Microsoft Internet Information
Server(IIS)、Personal Web Server(PWS)、Netscape 以及 iPlant server、Oreilly Website
Pro Server、Caudium、Xitami、OmniHTTPd 等。对于大多数的服务器,PHP 提供了一个模块;还有一些 PHP 支持 CGI
标准,使得 PHP 能够作为 CGI 处理器来工作。
综上所述,使用 PHP,您可以自由地选择操作系统和 WEB 服务器。同时,您还可以在开发时选择使用面对过程和面对对象,或者两者混和的方式来开发。尽管 PHP
目前的版本还没有支持 OOP 所有的标准,但很多代码仓库和大型的应用程序(包括 PEAR 库)仅使用 OOP 代码来开发。
使用 PHP,您并不局限于输出 HTML。PHP 还能被用来动态输出图像、PDF 文件甚至 Flash 动画(使用 libswf 和
Ming)。您还能够非常简便的输出文本,例如 XHTML 以及任何其它形式的 XML 文件。PHP
能够自动生成这些文件,在服务端开辟出一块动态内容的缓存,可以直接把它们打印出来,或者将它们存储到文件系统中。
PHP 最强大最显著的特性之一,是它支持很大范围的数据库。您会发现利用 PHP 编写数据库支持的网页简单得难以置信。目前,PHP 支持如下数据库:
Adabas D Ingres Oracle (OCI7 and OCI8)
dBase InterBase Ovrimos
Empress FrontBase PostgreSQL
FilePro (read-only) mSQL Solid
Hyperwave Direct MS-SQL Sybase
IBM DB2 MySQL Velocis
Informix ODBC Unix dbm
我们同时还有一个 DBX 扩展库使得您可以自由的使用该扩展库支持的任何数据库。另外,PHP 还支持 ODBC,即 Open Database
Connection Standard(开放数据库连接标准),因此您可以连接任何其它支持该世界标准的数据库。
PHP 还支持利用诸如 LDAP、IMAP、SNMP、NNTP、POP3、HTTP、COM(Windows
环境)等不计其数的协议的服务。您还可以开放原始网络端口,使得任何其它的协议能够协同工作。PHP 支持和所有 WEB 开发语言之间的 WDDX
复杂数据交换。关于相互连接,PHP 已经支持了对 Java 对象的即时连接,并且可以将他们自由的用作 PHP 对象。您甚至可以用我们的 CORBA
扩展库来访问远程对象。
PHP 具有极其有效的文本处理特性,支持从 POSIX 扩展或者 Perl 正则表达式到 XML 文档解析。为了解析和访问 XML 文档,我们支持了 SAX 和
DOM 标准。您可以使用我们的 XSLT 扩展库来转换 XML 文档。
如果您将 PHP 用于电子商务领域,您会发现其 Cybercash payment、CyberMUT、VeriSign Payflow Pro 以及 CCVS
函数对于您的在线交易程序来所是非常有用的。
另外,我们还有很多其它有趣的扩展库。例如 mnoGoSearch 搜索引擎函数、IRC 网关函数、多种压缩工具(gzip、bz2)、日历转换、翻译……

在多数WEB开发者眼中,ASP和JSP都被认为是领跑者,而PHP却被认为是个弱小的“挣扎者”,或者说它是一门被贬低为业余者才使用的语言,不值得参与企业WEB开发的竞争。在我看来,PHP没有被当作竞争者的理由是评论者缺乏对它的了解,而且也不了解用于WEB开发的其他操作系统。和一些观点相反,Windows不再占有WEB虚拟主机服务市场的最大份额,我猜想它在WEB开发这一领域里也在被摧城拔寨。

在企业开发里为什么没有PHP?

很显然,PHP被认为落后ASP和JSP太多,以至于它是没有什么用的,但是这恰恰与事实不符。PHP本身就是一门强大的语言。它事实上在每个发行版的LINUX上都有,在Mac
OS
X上也有。获取开发和使用PHP代码的构件(building-block)工具和软件都是免费的。用于开发PHP应用程序的商业集成开发环境(commercial
integrated development
environments,IDES)也可以找到——这样的工具有Komodo(它运行在LINUX和Windows上)和Zend
Studio(这个应用程序能够运行在任何带有JAVA运行环境的操作系统上)。你几乎可以在每个WEB虚拟主机上运行由PHP建立的网站,而不要考虑服务器所运行的是什么操作系统,这一事实让PHP更加具有吸引力。


PHP能够提供什么?

先把PHP周围有什么忘掉一会儿,而考虑一下PHP自身能够提供什么。它是一门强健的服务器端语言,能够提供相当多的功能,而且能够迅速地为页面提供服务。


本地化

PHP让你能够为网站的访问者提供本地化的服务。当用户点击进入网站的时候,网站会根据他们浏览器的设置自动地以其母语向其提供页面。要实现这一点不需要使用用于语言翻译的烦杂文件,而是使用和本地化的C程序所具有的相同能力,通过一个叫做gettext的系统实现的。如果被请求的语言文件存在,那么用户所看到的文本就是其母语;如果语言文件不存在,那么文本就是缺省的英语或者其他任何你所指定的语言。许多本地化的UNIX应用程序都将gettext作为标准,它让第三方的翻译变得轻而易举。


轻易地使用命令行

PHP支持在需要的地方设置和执行命令行程序。使用标准的UNIX
diff工具,它能够生成错误最后一次修改同要使用电子邮件发送到错误的所有者的当前注释之间的不同。PHP代码对在系统上所编写的两个文件执行diff,将其输出作为输入,再生成一个要发送的电子邮件。这封电子邮件是通过PHP自己来发送的。


其他好处

即时创建PDF文档。使用高级数学功能,以及面向对象的编程技术。读取和写入到本地和IMAP邮箱。

在PHP里就可以使用任何标准的Internet协议。想要编写基于PHP的FTP、WEB或者新闻客户端?没有问题!只使用PHP你就完全能够编写出使用标准TCP/IP套接字的客户端和服务器,并以此创建自己的协议。


实现对加密的支持,以及对各种数据库服务器的支持。

那些寻找顶级WEB开发语言而排除掉PHP的人是极其短见的。我使用PHP编写代码已经有很多年了,无论是像错误追踪系统这样的高级功能,还是简单地重复使用页眉和页脚这样的普通功能,我都使用PHP编写过。我用PHP编写过半静态的页面,也编写过全功能的多媒体演示。我不是唯一一个使用PHP的人。如果PHP不值得引起注意,如果它只是小儿科或者爱好者的语言,那它为什么会是在WEB开发上成长最快的语言呢?如果它没有ASP或者JSP那么强大,那么它为什么会被用在流量巨大WEB网站上?例如Yahoo,据说它就是由PHP建成的。


开发人员习惯用熟悉的产品

我敢肯定,ASP
和JSP有它们各自的强项,但是我相信人们是用它们不是因为它们能够提供比PHP更加强大的功能,而是因为人们已经了解了它们,并希望以自己习惯的方法编写代码。排除PHP只能表示对这一语言的无知。

技术考试

上一篇

下一篇

喜腾培训

站内新闻

我要啦免费统计