PHP,21世紀的霸主(之3) (轉)

gugu99發表於2008-05-12
PHP,21世紀的霸主(之3) (轉)[@more@]

4.進階

  用的面向機制實現一個專案的步驟如下:
  ·首先,你需要連線一個——有下面兩個選擇:
  ADO (Active Data s Data Base),即動態資料物件資料庫(logs.com/adodb">http://php.weblogs.com/adodb)

  Metabase(Database independent access and management),即資料庫獨立訪問和管理()

  ·第二,你需要一些通用的PHP類來建立表單、表格和其它HTML物件。這些都可以從PHP classes網站上獲取()。可以參考一下該網站的排行榜。 也可以從網站獲取表單類、模板類等。
 
  ·第三,透過對這些通用類的繼承,來設計和建立自己的PHP類。
 
  ·第四,使用模板類來分離顯示樣式和業務邏輯,可參見
  ·第五,使用工具進行開發(參見PHP IDE一節)。
  ·最後,最好把你程式碼封裝成類,這樣可以實現程式碼的易維護性和可重用性。

5.PHP的主要特性

·支援標準CGI,FastCGI和模組——作為一個標準的CGI,PHP可以在執行任何Web伺服器的任何機器上。 PHP支援新的FastCGI標準,透過這一機制,PHP獲得了速度上的提高。 當成Apache模組時,PHP便成了功能極為強大的,執行速度如閃電般快的新的選擇。

·訪問日誌——透過PHP的日誌訪問功能,可以維護他們的點選次數和日誌。 該功能提供了實時的訪問監測,而不以任何方式使用的中心訪問日誌。日誌瀏覽指令碼為個人使用者擁有的一組頁面提供快速的訪問摘要。除此之外,該程式包還可以透過配置為每一個頁面生成一個頁尾(footer)來顯示訪問資訊。可參考文章後面的例子。

·訪問控制——個內建的基於Web的配置“篩”,可實現對訪問控制的配置。這樣,才有可能為所有或部分Web頁面建立一套規則,使得擁有這些頁面的特定的人可以對他的網頁設定各種限制,如,什麼人可以訪問這些頁面以及這些頁面以怎樣的一種方式被訪問。對頁面的設定有許多方式,如密碼保護、完全限制、登入失效、或者更多的以客戶的域、、e-地址甚至涉及的其它文件為設定依據。

·支援PostgresSQL——PostgresSQL是一個先進但是免費的(關聯式資料庫管理系統)。PHP支援在.html檔案中直接嵌入PostgresSQL的“SQL 查詢語句”。

·支援-1867檔案——檔案上傳是scape2.0新增的一項功能。使用者可以將檔案上傳到Web伺服器。PHP提供了實際的MIME解碼功能,使得檔案上傳成為可能。PHP還提供額外的,可對收到的上傳檔案進行一些有用的處理。

·基於HTTP的身份驗證控制——PHP可以用來為Apache伺服器建立自定義的基於HTTP的身份驗證機制。

·變數、陣列,聯合陣列(associative arrays)——PHP支援typed(這個單詞不知道怎麼譯,望高手指點)變數,陣列,甚至風格的聯合陣列。而這些都可以透過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的主站點。
·PHP是免費的!——這是最後一個重要特色。PHP的程式包是完全免費的。它遵守/GPL。你可以把這個用於實現商業或者其它任何目的。


5.1 PHP相對於的優勢

  PHP是一種已經確定下來的,用於建立動態網頁的伺服器端的指令碼語言。作為一種為Web而特別設計的語言,PHP帶來了許多商業機構渴望的特性。

·極短學習週期
·快速的開發時間
·非常高的

這對於缺乏熟練人員,時間又非常緊迫的公司來講,具有非常重要的意義。PHP可以在所有主要的操作平臺(UNIX,,甚至是大型機)上執行,而且生來就支援各種流行的資料庫。所有這一切決定它是一種進行Web開發的非常理想的選擇:曾有運用PHP技術的網上商店稱,他們只需僱傭業餘的程式設計師,幾天內就能夠開發出可重用的程式碼。那些熟悉諸如C,C++或Java等語言的程式設計師們,也總是發現他們能夠在幾個小時之內就能夠進行PHP程式設計。

PHP是針對Web開發而設計的,這一事實使它成為一種獨具特色的開發工具,就象Intranet Design雜誌評價的那樣:

“PHP是構建在Web開發人員現實需求之上的....不同於其它笨重的,高負荷的方法,PHP非常輕便,是為Web開發度身定做的。它可以比其它同類技術更快,更容易的解決複雜的問題。”

Java作為一種新的程式語言,最初用於執行嵌在瀏覽器中的客戶端應用程式。在過去短短几年中,“applet”所暴露的問題迫使SUN和其它Java開發人員為該語言尋找新的出路。其中最為突出的就是伺服器端程式設計,它允許Web站點連線資料庫併產生其它伺服器端的應用程式,即“s”。SUN最終推出了Java Server Pages()作為編寫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還可以呼叫其它模型,如的COM,而且增加對新的物件模型的支援也極為容易。可見,PHP的擴充套件能力是無窮的。而另一方面,JSP完全依賴於Java。

IBM程式設計師Sam 聯合使用PHP和Java。透過PHP對Java的良好支援,使得Java物件如同常規的PHP物件一樣,透明地被建立和使用。

AutionWatch網站使得各種規模的商業團體都可以從其動態競價環境中獲益。它每月的訪問人數在二百六十萬以上;已有三十多萬個註冊使用者;每個月進行一百二十萬次拍賣。 他們曾嘗試使用Java,但還是選擇了PHP,就因為它更容易使用,開發速度更快。若想知道的更多,請聯絡Ben Margolin,他是AuctionWatch網站銷售服務部的主任()。

程式設計顧問Reuven Lerner曾在各種語言之間作過比較。他對PHP的看法概括如下:
“這是門容易學習的語言。美工和Web設計師可能會說他們並非程式設計師,但事實上,他們在大型專案中,越來越多的使用了,以及其它一些簡單的程式語言。與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、、 Japan Airlines、 Air Canada、 Lufthansa、 GE Marketplace、 Wallstreet:Online Germany、 AuctionWatch、 VillageVoic、 Dialpad以及BMC。
  1.Intranet Design雜誌:一個IT經理對PHP的看法,2000年6月4日。
  today.com/news_story.php3?ltsn=2000-06-04-002-04-NW-HL-SW">
  2.eWEEK:四中指令碼語言的速度開發,2000年10月30日。
 

 

 


 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-1003896/,如需轉載,請註明出處,否則將追究法律責任。

相關文章