|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
《PHP+MYSQL WEB开发(第三版)》号称圣经级,(也许是个不错的选择(声明:作者没给我啥好处费,我也不是书托,隔着大老远,我连他老兄的面都没见过的说-_-) 当建立一个网站的时分,绝大多半时分不但需求它可以供应静态网页会见才能,还但愿它能和阅读器用户交互、会见后台数据库供应及时更新的信息等等,一句话,要供应静态网页办事才能。这时候,你是选择传统体例的CGI呢,仍是选择PHP、ASP等办事器端剧本呢?
■从CGI到办事器端剧本
创立静态网页的尺度体例是CGI,这类体例答应Web办事器运转一个CGI法式往返应阅读器的恳求。除要服从复杂的CGI尺度以外,CGI法式的开辟与通俗法式开辟没有甚么区分。但是,跟着要生成的静态网页的数目和庞杂水平的增添,这类体例就碰到了坚苦。
CGI法式包含两个次要局部,一个是法式代码,另外一个是要输入的HTML文档内容,可以称作HTML代码。最早的Web开辟者既是法式员,又是网页设计者,然而那时的页面都对照复杂,开辟者最关怀的是法式代码的成绩,页面代码根基上不需求太多的调剂。而跟着包含DHTML、javascript在内的手艺开展,使得页面可以设计得十分庞杂,而因为呈现了各类CGI的法式库,法式代码则变得复杂多了。如许每停止一次页面代码的调剂,CGI法式就需求修改,以致于最初在CGI法式调试中,调试HTML代码的任务量超越了调试法式代码的任务量。这申明在Web开辟中,HTML代码的主要性已非常分明,使得传统的以法式代码为中间的CGI法式不再是最合适的静态网页处置体例了。
如许,相当多的法式员关于这类调剂HTML代码的任务感应厌倦,特别跟着Internet的贸易化,编写CGI法式和停止HTML页面设计已成了两种分歧的职业。为懂得决这个成绩,法式员起首利用了模板文件的办法将法式代码和HTML代码分隔,CGI法式读取模板文件来取得HTML代码,从而使得在对页面停止较小调剂的时分,不需求修改CGI法式。
根基上每一个法式员在本人的CGI法式中利用自界说的模板,但是,假如有一种通用的HTML模板,利用通用的法式停止预处置,如许不就大大削减了法式设计的任务量吗?最复杂的模板可以经由过程交换模板中预界说的变量来完成注释任务,因为这类法式复杂而无效,因而就被集成在Web办事器中,以供应比CGI法式更高的效力,这就是最早的办事器端剧本。
这些初期的办事器端剧本,例如呈现在ncsa httpd的SSI,只包含变量的概念,但没有掌握语句的概念。后来,分歧的法式开辟者从头开辟了撑持掌握语句,乃至撑持子法式的剧本注释处置法式,使得这些法式不但能为特定的静态网页办事,并且可以停止编程,因此可以完成CGI法式能完成的一切任务,成了一种新的编程言语。一样是因为功能的原因,这些法式被兼并入Web办事器自己,这就它成为Web开辟的一种新模式。
■来自开放资本的PHP
以后,办事器端剧本已是开辟静态网页的经常使用体例,固然CGI依然具有天真的优势,但在普通情形下,利用办事器端剧本更轻易和便利。但是,与CGI分歧的是,办事器端剧本没有一个一致的尺度,分歧的办事器端剧本利用各自的语法。以后对照经常使用的有:Active Server Pages(ASP),ColdFusion,Java Servlets,Personal Home Page(PHP)等。这些手艺中,既包含有大公司撑持的软件,如ASP,也包含经由过程Internet停止协作开辟的开放源代码软件,如PHP。
PHP恰是如许一种办事器端剧本言语,它最入手下手是由Rasums Lerdorf编写的,只是一个复杂的用Perl言语编写的CGI法式,用于纪录会见他本人的网页的会见者。今后它又被用C言语从头写过,局限扩展到会见数据库。在这时代,有很多人向Rasums Lerdorf要此法式的拷贝,以便本人利用,Rasums Lerdorf为此写了一些引见此法式的文档,并宣布了PHP v1.0。今后,愈来愈多的人利用PHP,并激烈请求增添一些其他的特征,如轮回语句和数组变量等,这时候其他的一些法式员也入手下手介入PHP源码的编写,对PHP停止了从头编写,PHP v3.0就呈现了。以后,利用PHP的网站已超越80万,而且还在不休地增添。
除向阅读器发送静态网页以外,PHP还能发送分歧HTTP头标识,使其能供应网页重定位、与Web办事器的平安认证联合的才能、和设置Cookie。PHP能供应与多种数据库直接互联的才能,包含MySQL、Sybase、Informix、Oracle、MsSQL等,也能撑持ODBC。并经由过程额定的库可以撑持会话办理和XML处置(这些库都是根基的库,因而也是PHP用户的根基设置装备摆设)。从这里咱们可以看出,PHP已不再是复杂的办事器端剧本了,依照《PHP3阅读器使用编程》的作者David Medinets的话,PHP是一种使用办事器。由于它不单单包含一个完全的编程言语,并且还包含完全的会见数据库的才能、撑持Internet协定(如电子邮件和HTTP)的才能,这一整套手艺使得PHP能与ASP、ColdFusion、WebSphere互较短长。
要运转PHP,凡是利用Linux或FreeBSD作为操作体系,利用Apache作为Web办事器。固然利用其他操作体系也一样可行,这是由于PHP是一种跨平台的软件,这固然得益于它是开放源代码的软件。然而,假如不利用Apache办事器,那末PHP就只能以CGI的体例运转,如许就不克不及使用将PHP编译进Apache带来的功能优势。当从www.php3.net中下载了最新版本的PHP并装置设置装备摆设终了以后,就能够利用编纂器或网页制造软件来编写PHP代码了。假如你能利用C或Perl停止编程,就会发明PHP编程其实不庞杂,作为法式言语的PHP比C复杂,比Perl易懂。上面是一个最复杂的嵌入PHP法式的页面。
〈HTML〉
〈HEAD〉〈TITLE〉Test〈/TITLE〉〈/HEAD〉
〈BODY〉
〈?PHP $string = ’world!’; ?〉
〈H1〉Hello,〈?php echo $string ?〉〈/H1〉
〈/BODY〉
〈/HTML〉
在HTML网页中嵌入的PHP代码,需求以标志停止。下面这个页面将显示Hello,world!的了局。这里可以看出,PHP法式语法与C或Perl十分相似。现实上,PHP来历于C和Perl,撑持C和Perl大局部语法和操作符,因而利用PHP对C和Perl法式员都长短常复杂的工作。
■选择PHP
固然PHP已非常盛行,但在国际懂得它的人却很少,这固然是由于它不是贸易软件,缺少市场运作。即便在传闻过PHP的人们中,很多人也抱有如许的意见,PHP既没有贸易公司的撑持,又缺少贸易的图形化开辟东西,PHP可以和ASP等贸易软件一样有出路吗?切实其实,ASP因为有微软公司的撑持,使得它敏捷变得非常盛行,如今书店中充溢着ASP的相干书本,而很少能找到引见PHP的著作,正申明了国际的这类盛行趋向。但是,曩昔一年中全部互联网中PHP利用者稳步增加的现实,却与这些概念截然相反。我以为那些不垂青PHP的人最少疏忽了以下几个缘由:
1. PHP已证实长短常适用的软件,功能、牢靠性、不乱性十分高,借一个来自武侠小说的比方,PHP就好像来自江湖上层一步步成名的草莽豪杰,而贸易软件则好像出生尊贵的少年侠士,其成名的缘由与其徒弟和门派亲切相干。PHP具有各类数据类型并撑持庞杂的文本处置,它乃至撑持面向对象,能设置装备摆设为处置XML等等;更加主要的是PHP的这些功效都长短常适用的,要晓得PHP的开辟者都是依据本人的需求自愿停止的开辟,它具有的功效必定是有实在际用处的。虽不克不及说PHP比同类产物强,但其实力不容无视。
2. PHP是跨平台的产物,它能运转在多种Unix和Windows NT上,并能会见多种分歧的数据库,对良多人来说,这一点十分主要。贸易产物凡是请求十分刻薄,只能和特定的操作体系和数据库互相协作。而人们喜好利用本人已熟习的操作体系、Web办事器和数据库,如Linux、Apache和MySQL。
3. PHP是开放源代码的软件,良多人对此不觉得然,但是他们无视了占Web办事器市场58%的Apache办事器,无视了Linux、FreeBSD等开放源代码的操作体系,这些开放源代码的软件联合在一同,就构成了一个十分无效的处理计划。
4. 即使不思索源代码的要素,PHP不需求任何费用的特色也是贸易软件没法比拟的。固然ASP也是收费的,但是良多人无视了运转Windows NT及MS SQL的费用,而PHP和Linux/FreeBSD、Apache、MySQL互相协作,几近不需求任何软件费用,以后假如不思索盗版,事实有几何人还会保持ASP呢?
5. PHP有优秀的手艺撑持,可以经由过程电子邮件、服装论坛、网页、IRC等体例取得手艺撑持。这听起来有些可笑,岂非这比贸易软件的手艺撑持更无效吗?现实上依我团体利用贸易软件和开放源代码软件的经历,这类手艺撑持模式相当不错,假想一下,你可以失掉来自ASP开辟组的手艺办事吗?我想更罕见的了局是在一通800德律风以后,失掉的只是一堆无用的建议,最初你终究厌倦了转来转去的德律风。即使是现场办事,或许是某个工程师在一遍又一遍地重装体系,直到体系偶尔地运转正常为止,如许也好,体系办理员最少可以假装甚么都不懂的模样稍事歇息一下。而开放源代码使你能提出更接近毛病实质的景象,不仅碰到过一样景象的利用者会供应匡助,PHP的开辟者也能供应匡助。有甚么手艺撑持比几十万个利用者,个中大多半都是利用PHP的内行,供应的匡助更无效呢。
不管若何,贸易撑持并非一个软件盛行的需要前提,反过去却是准确的,比来的例子Linux不就是因为盛行而失掉了贸易撑持的吗?例如最新版本的网页制造东西DreamWaver 3.0,也入手下手撑持PHP的标志,答应在个中直接停止PHP代码的编写了。愈来愈多的国际Web开辟者也入手下手将眼光投向PHP,个中大多半选择了Unix (Linux,FreeBSD, Solaris, AIX, HP-UX等等)作为Web站点的操作体系,而国际出书盘算机图书的出书社也会陆续出书一些PHP的著作,明显这又会有益于PHP的推行和开展。
学习如何将PHP与HTML结合起来完成简单动态页面 |
|