- 论坛徽章:
- 1
|
Enjoy Here!
PHP新手上路
简介
PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的WEB站点。本教程并不想让你完全了解 这种语言,只是能使你尽快加入开发动态web站点的行列。我假定你有一些HTML(或者HTML编辑器)的基本知识和一些编程思想。
1.简介
PHP是能让你生成动态网页的工具之一。PHP代表:超文本预处理器(PHP: Hypertext Preprocessor)。PHP是完全 免费的,不用花钱,你可以从PHP官方站点(http://www.php.net)自由下载。PHP遵守GNU公共许可(GPL),在这一许可下诞生了 许多流行的软件诸如Linux和Emacs。你可以不受限制的获得源码,甚至可以从中加进你自己需要的特色。PHP在大多数Unix平台, GUN/Linux和微软Windows平台上均可以运行。怎样在Windows环境的PC机器或Unix机器上安装PHP的资料可以在PHP官方站点上 找到,也可以查阅网页陶吧的"PHP安装全攻备"专题文章。安装过程很简单。
如果你的机器解决了2000问题,那么PHP也一样没有千年虫问题!
1.1 历史
三年前,Rasmus Lerdorf为了创建他的在线简历而创造了"个人主页工具"(Personal Home Page
Tools)。这是一种非常简单的语言。其后越来越多的人们注意到了这种语言并对其扩展提出了各种建议。在许多人的无私奉献下以及这种语言本身的源代码自由性质,它演变成为一种特点丰富的语言,而且现在还在成长中。
PHP虽然很容易学习,但是速度上比mod_perl(植入web服务器的perl模块)慢。现在有了可以与mod_perl速度想媲美的被称作 Zend的新引擎,而PHP4就可以充分利用这个引擎。现在,PHP4正式版已经发布,大家可以到php的官方站点上去下载。Andy
Gutmans和Zeev Suraki是Zend的主要作者。可以去Zend站点(http://www.zend.com)了解更多。
PHP的应用在个人性质的web工程中增长显著。根据Netcraft在1999年10月的报告,有931122个域和321128个IP地址利用PHP技术。
1.2 PHP的先进之处
应用PHP有许多好处。当然已知的不利之处在于PHP由于是开放源码项目,没有什么商业支持,并且由此而带来的执行速度缓慢(直到PHP4之 前)。但是PHP的邮件列表很是有用而且除非你正在运行像Yahoo!或者Amazon.com这样的极受欢迎的站点,你不会感觉出PHP的速度与其他的 有什么不同。最起码我就没有感觉出来!好了,让我们来看看PHP有那些优点:
- 学习过程
我个人更喜欢PHP的非常简单的学习过程。与Java和Perl不同,你不必把头埋进100多页的文档中努力学习才可以写出一个象样的程序。只要 了解一些基本的语法和语言特色,你就可以开始你的PHP编码之旅了。之后你在编码过程中如果遇到了什么麻烦,还可以再去翻阅相关文档。
PHP的语法类似于C,Perl,ASP或者JSP。对于那些对上述之一的语言较熟悉的人来说,PHP太简单了。相反的,如果你对PHP了解较多,那么你对于其他几种语言的学习都很简单了。
你只需要30分钟就可以将PHP的核心语言特点全部掌握,你可能已经非常了解HTML,甚至你已经知道怎样用编辑设计软件或者手工来制作好看的 WEB站点。由于PHP代码能够无障碍的添加进你的站点,在你设计和维护站点的同时,你可以很轻松的加入PHP使得你的站点更加具有动态特性。
- 数据库连接
PHP可以编译成具有与许多数据库相连接的函数。PHP与MySQL是现在绝佳的组合。你还可以自己编写外围的函数取间接存取数据库。通过这样的 途径当你更换使用的数据库时,可以轻松的更改编码以适应这样的变化。PHPLIB就是最常用的可以提供一般事务需要的一系列基库。
- 可扩展性
就像前面说的那样,PHP已经进入了一个高速发展的时期。对于一个非程序员来说为PHP扩展附加功能可能会比较难,但是对于一个PHP程序员来说并不困难。
- 面向对象编程
PHP提供了类和对象。基于web的编程工作非常需要面向对象编程能力。PHP支持构造器、提取类等。
- 可伸缩性
传统上网页的交互作用是通过CGI来实现的。CGI程序的伸缩性不很理想,因为它为每一个正在运行的CGI程序开一个独立进程。解决方法就是将经 常用来编写CGI程序的语言的解释器编译进你的web服务器(比如mod_perl,JSP)。PHP就可以以这种方式安装,虽然很少有人愿意这样以 CGI方式安装它。内嵌的PHP可以具有更高的可伸缩性。
- 更多特点
PHP的开发者们为了更适合web编程,开发了许多外围的流行基库,这些库包含了更易用的层。你可以利用PHP连接包括Oracle,MS- Access,Mysql在内的大部分数据库。你可以在苍蝇上画图,编写程序下载或者显示e-mail。你甚至可以完成网络相关的功能。最好的是,你可以 选择你的PHP安装版本需要哪些功能。引用Nissan的Xterra的话来说就是PHP可以做到你想让它做到的一切而且无所不能!
从一个简单的程序来了解PHP
PHP站点的在线教程已经很棒了。而本文的该部分将让你对PHP熟悉一点。我不可能做到没有任何遗漏,我的目的只在于能让你迅速开始你的PHP编程。
2. 竞争对手:ASP,mod_perl,JSP
用于实现交互式动态网页的技术有好多,其中CGI又称通用网关接口(Common Gateway
Interface),是外部程序和WEB服务器之间的标准编程接口,但是CGI程序带来的缺点实在太多;而Perl很好地解决了CGI中的问题,被用来驱动复杂的WEB技术;微软的ASP(Active
Server Pages)的出现,以它容易上手、轻松编写程序和微软件强有力的支持后盾使得ASP一下子成了许专业编程人员和非专业编程人员的宠儿;Middle
ware和Allaire的Cold Fusion是另一种解决方法,并且Cold Fusion有一个已证实可靠的搜索引擎组件;JSP
是Sun公司推出的新一代站点开发语言等等。有这么多的动态WEB技术,也许你会问:"为什么我要选择PHP呢?"
在回答这一问题之前,让我们先来看看ASP,PHP和JSP之间的优缺点。
2.1 关于ASP
ASP 由于其简单功能实用等方面受到广大朋友的喜欢,再加上MS的强有力支持,可以说是时下作站点最为流行的语言之一,他借助MS的Com+
技术,几乎可以实现在C/S 能够实现的所有功能,可以说确实具有相当的竞争力。ASP的代码实现也很简单,MS 提供的InterDev 在RAD
的基础上,使ASP 的开发一夜之间火遍了大江南北。但是他的缺点是,由于MS
长久以来的霸道作风,他只能运行在MS的平台上,因此在关键性的应用上使人难以轻易接受。
2.2 关于JSP
JSP 是Sun公司推出的新一代站点开发语言,他完全解决了目前ASP,PHP的一个通病--脚本级执行(现在PHP4 也已经在Zend
的支持下,实现编译运行).Sun 公司借助自己在Java 上的不凡造诣,将Java 从Java 应用程序 和 Java Applet
之外,又有新的硕果,就是Jsp--Java Server Page。Jsp
可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。
据我所知,JSP基于Java,因此Java程序员可以轻松开始编码。ASP只是一个一般的引擎,具有支持多种语言的能力,不过默认的并且是最常用的还是VBScript。mod_perl与Perl一样强大,只是更快一些。
对于ASP、JSP、PHP等,到底哪种语言更好?不同的人有不同的看法。不过有一点我们必须要明确的:对于ASP、JSP等,你是否清楚购买它 们会有多昂贵以及它们需要多么昂贵和强大的硬件。如果你有什么中立的观点(比如说没有被SUN和Microsoft的百万美金所影响),请顺便通知我。
2.3 关于PHP
PHP 是秉承Linux 的GNU
风格,借助与源码公开,使他迅速成为世界上目前应用最为广泛的站点制作语言之一。借助与C++的形式,引用类的概念,使得代码的可重复性应用便的异常简单。加上他和Linux,Apache
和MySql 的紧密配合,关键性的应用也没有问题(有名的Sina就
是采用Php)。同时,PHP第四代Zend(PHP4)的核心引擎正式版也已经发布了,整个程序的核心得到了大幅度的改进,让PHP程序的执行 速度变得更快。PHP在最佳化之后的效率,已比传统CGI或者ASP等程序有了更好的表现。而且正因为PHP是免费的,因此任何人都可以访问PHP
WEB站点,下载完整的源代码。更重要的是:用PHP编写的代码执行起来会更快,能实现同样功能的PHP代码,不用改变就可以在不同的WEB服务器上、不同的操作系统下运行。就凭这一点,你就已经有足够的理由选择PHP。
3.1 首要条件
你首先必须要有一个正在工作着的支持PHP的web服务器。我假定在你的服务器上所有PHP文件的扩展名为.php3。
3.2 PHP的安装
有关PHP的安装配置,可以查阅网页陶吧上的"PHP安装全攻略"专题文章。
3.3 语法
从语法上看,PHP语言近似于C语言。可以说,PHP是借鉴C语言的语法特征,由C语言改进而来的。我们可以混合编写PHP代码和HTML代码,不仅可以将PHP脚本嵌入到
HTML 文件中,我们甚至还可以把 HTML 标签也嵌入在 PHP
脚本里。以下是你可以采用的几种方法。你可以选用其中一种你最适合的并且就这样坚持这种方法!
从HTML中分离
以下是可以使用的方法:
<? . . . ?>
<?php . . . ?>
<script language="php"> . . . </script>
<% . . . %>
注:当你使用"<? . . .
?>"将PHP代码嵌入于HTML文件中时,可能会同XML发生冲突,同时,能否使用这一缩减形式还取决于PHP本身的设置。为了可适应XML和其它编辑器,你可以在开始的问号后面加上"php"使PHP代码适应于XML分析器。如:?lt;?php.
. . ?>"。也可以像写其它脚本语言那样使用脚本标记,如:"<script language="php"> . . .
</script>"。
语句
与Perl和C一样,在PHP中用";"来分隔语句。那些从HTML中分离出来的标志也表示语句的结束。
注释
PHP支持C,C++和Unix风格的注释方式:
/* C,C++风格多行注释 */
// C++风格单行注释
# Unix风格单行注释
echo 和 print
PHP 和 HTML 最简单的交互是通过 print 和 echo 语句来实现的,在实际使用中, print 和 echo
两者的功能几乎是完全一样。可以这么说,凡是有一个可以使用的地方,另一个也可以使用。但是,两者之间也还是一个非常重要的区别:在 echo
函数中,可以同时输出多个字符串,而在 print
函数中则只可以同时输出一个字符串。同时,echo函数并不需要圆括号,所以echo函数更像是语句而不像是函数。让我们来看看下面这一实例:
<?
$a="hello";
$b="world";
echo "a","b";
print "a","b";
?>
用浏览器观看这段代码的运行情况后,你会看到这样的运行结果:
aba
Parse error: parse error in d:adminmyphphometest.php3 on line 5
这说明这段代码并不能完全通过解释,发生错误的地方就在代码的第五行:"print "a","b";"。
3.4一个简单的实例
通过我们已经学过的知识,你可以编写一个最简单的程序输出一个也许是程序世界中最有名的词语
<HTML>
<HEAD>
<TITLE>
<?
echo "Hello World!";
?>
</TITLE>
</HEAD>
<BODY>
<H1>
First PHP page
</H1>
<HR>
<?
// Single line C++ style comment
/*
printing the message
*/
echo "Hello World!";
# Unix style single line comment
?>
</BODY>
</HTML> |
|