PHP 腳本:隨心所欲的代碼逐漸流行

發表于:2007-05-25來源:作者:點擊數: 標簽:代碼腳本php隨心所欲逐漸
摘要: 要使動態內容的 Web 站點保持運行, 腳本語言 PHP 是種不錯的方式 — 前提是您知道它能夠做什么,以及不能做什么。下面讓我們來深入地了解 PHP,了解腳本語言將如何發展,以及它們在不斷變化的 Web 中逐漸增多的應用。 PHP 腳本:隨心所欲的代碼逐漸
摘要:
要使動態內容的 Web 站點保持運行,腳本語言 PHP 是種不錯的方式 — 前提是您知道它能夠做什么,以及不能做什么。下面讓我們來深入地了解 PHP,了解腳本語言將如何發展,以及它們在不斷變化的 Web 中逐漸增多的應用。

  PHP 腳本:隨心所欲的代碼逐漸流行
  作者信息:Sudhakar Ramakrishnan
  初發日期:2004 09
  關鍵字:PHP 腳本

  摘要:
  要使動態內容的 Web 站點保持運行,腳本語言 PHP 是種不錯的方式 — 前提是您知道它能夠做什么,以及不能做什么。下面讓我們來深入地了解 PHP,了解腳本語言將如何發展,以及它們在不斷變化的 Web 中逐漸增多的應用。
 
  
  [img]http://www.oracle.com/technology/oramag/webcolumns/2003/opinion/images/ramakrishnan.jpg[/img]   
  記得 HTML 從1.0 版發展到 2.0 版的那些令人興奮的日子嗎,那時掌握一種新的 Web 語言就和查看 Web 站點之后的代碼一樣簡單?記得輕松的學習基礎 HTML 嗎?記得能夠隨意地構建出一些代碼,并在編寫時快速地查看外觀,而且如果它不能運行,能夠容易地修改 HTML 代碼嗎?沒有 IDE,沒有對象和類。只需一個文本編輯器、一些標記和您自己的聰明才智??胺Q快速和經濟高效!
 
  這些日子不會永遠消逝。這種“保持簡單”的精神在 PHP(近幾年來得到廣泛應用的一種腳本語言)中繼續延續。這種語言在不斷發展,并逐漸知道 PHP 能做什么以及不能做什么,并且使 Web 應用程序更加易于構建。
 
  從默默無聞的新生事物到 Web 上的明星角色
 
  就像二十世紀五十年代初涉影壇的好萊塢演員,PHP 真正的開始并不廣為人知。有些人認為 PHP 代表“個人主頁”。有些人認為 PHP 是其發明者姓名的首字母縮寫。實際上,PHP 代表超文本預處理器 (Hypertext Pre Processor),它是由一個名叫 Rasmus Lerdorf 的人在 1994/95 年左右發明的。Lerdorf 提出了 PHP 框架,作為跟蹤 Web 站點的訪問者如何查看其在線簡歷的一種方式。他公開發布了最初的超文本預處理器源代碼,以幫助其它的 Web 開發人員對在線內容執行類似的操作。
 
  當時 Web 開發人員受到 HTML 中提供的表示特性的打擊,開始發現這種新的 PHP 腳本語言在構建動態內容的 Web 站點時有多大的好處。PHP 代碼可以直接嵌入到 HTML 代碼中,而且這種年輕的腳本語言就像 HTML 一樣易于掌握。
 
  對開發人員而言,這意味著可以很快學會 PHP,可以快速構建動態內容的 Web 站點,對代碼的修改也可以快速地完成。在開發人員編程時,可以立即查看結果,無需 IDE,也無須困擾于處理用戶類型和整數類型以及對象和類 — 它們構成了在更復雜的語言(如 Java)中開發人員需要操心的日常腦力工作。PHP 在各方面保持簡單,您不必成為熟練的編程人員就可以開始使用。
 
  由于 PHP 的入門級這一特性,一個開放源代碼社區圍繞著該語言成長起來,以幫助 PHP 開發變得更加簡單。該語言現在支持幾種查詢協議,有一個強健的傳輸協議,并提供了許多不同類型的模塊庫來幫助構建 PHP 應用程序。
 
      
 
  [img]http://www.oracle.com/technology/oramag/webcolumns/2003/opinion/images/ramakrishnan_php_f2.gif[/img]
    來源:http://www.securityspace.com/ ,由 E-Soft Inc. 提供。日期:2003 年 11 月 
 
  所有這些結果表明在最近 3 年里 PHP 的使用得到了爆炸性的增長?;仡?2000 年,根據監控和咨詢組 Security Space Web Server 的報告,只有 100,000 個站點在使用 PHP。在 2003 年 8 月,Security Space 報告使用 PHP 的 Web 站點的數量接近 140 萬。
 
      
 
  [img]http://www.oracle.com/technology/oramag/webcolumns/2003/opinion/images/ramakrishnan_php_f3.gif[/img]    來源:Netcraft。經 PHP Group 和 PHP Project 許可的信息復制,2003 年 11 月 
 
  在 2003 年 6 月,在參加了 Security Space 調查的 Web 服務器中,超過一半(大約 52%)的服務器運行有某種類型的 PHP。因為 PHP 是開放源代碼,因此它無疑對其它的開放源代碼 Web 產品(如 Apache Web 服務器,它是完全和 PHP 一起成長起來的)有很大的吸引力。在 Netcraft 最近的領域調查中,Apache 擁有超過三分之二的 Web 服務器市場,而第二位的 Microsoft IIS 擁有大約 24% 的份額。
 
      
 
  [img]http://www.oracle.com/technology/oramag/webcolumns/2003/opinion/images/ramakrishnan_php_f4.gif[/img]
    來源:http://www.securityspace.com/ ,由 E-Soft Inc. 提供。 
 
  PHP 在 Web 開發中的聲名鵲起不僅令人驚異 —它已變得輝煌奪目!
   
   
 
   安全性問題
 
  有些人在安全性問題上指責 PHP。從技術角度而言,可以通過將腳本引入 Web 站點(可能攻擊訪問者的計算機)的 URL 來利用腳本語言。然而,保障一個使用 PHP 站點的安全性與保障任意 Web 站點的安全性沒什么區別,這些類型的使用通常與粗心的站點構建和保護有關,而不是 PHP 語言自身的內在弱點。在 PHP 社區內提供了大量的最佳應用,它們可以保持站點的安全性和可用性。
 
  此外,還有大量的 SSL 站點已經在運行 PHP,這說明 PHP 開發人員在構建時考慮了安全性因素。
 
  PHP、PERL、C++ 和 Yahoo!
 
  另一種得到普及(雖然比不上 PHP 的增長)的腳本語言是更高級的實用摘錄和報告語言 — PERL 語言。PERL 主要用于處理文件和執行文本操作。許多系統管理員將 PERL 用于系統實用程序和各種軟件創建和診斷工具。Oracle數據庫訪問在 PERL 中非常強大,并且近來用 PERL 完成了相當多的圖形程序設計。在 Web 環境下,PERL 已成為 Web 上的最穩定的腳本語言之一,并且現在已得到了十多年的廣泛應用。
 
  PERL 和 PHP 共同擁有的基礎是它們快速的原型構建和“隨心所欲進行編寫”的框架。它們可以直接嵌入到 HTML 代碼中,再次強調了快速部署的腳本語言的易于啟用的特性。流行的 Apache Web 服務器現在自帶了本地 PHP 支持(PHP 模塊:mod_php)和一個稱為 mod_perl 的 PERL 模塊。將 PERL 和 PHP 一起使用可以實際地節省時間,因為二者能夠很好地相互支持。
 
     PHP 如何工作
 
  [img]http://www.oracle.com/technology/oramag/webcolumns/2003/opinion/images/ramakrishnan_php_f1.gif[/img]

  1. 產生對 PHP 腳本的 HTTP 請求
  2. Apache 將請求傳遞給 PHP 引擎(mod_php,為 PHP 語言提供的 Apache 模塊/命令行解釋器,它與 Apache 集成在一起)
  3. PHP 引擎分析擴展名為 .php 的腳本,并用特定的標記來啟用 PHP 模式
  4. PHP 引擎在服務器上執行腳本
  5. 利用 PHP 擴展或 PEAR 數據庫抽象庫來進行數據庫交互(或與 LDAP 源代碼、cron 作業等進行交互)
  6. 處理結果
  7. 將數據轉換成 HTML 代碼
  8. 將響應發送至客戶端瀏覽器進行顯示。  
 
  此外,PHP 的優勢不僅僅局限于它的易于使用。其成功的關鍵是 PHP 能夠與眾多其它重要的 Web 協議很好地協同工作。在 PHP 內部提供了對 iMAP、SMP、SMTP、POP3 的廣泛支持,并且許多類型的數據庫正在增加 PHP 支持。
 
  但且慢!難道除此之外就沒有其它的語言能夠做 PHP 和 PERL 能做的這些事情嗎?不管怎樣,Microsoft 活動服務器頁面 (ASP) 框架聲稱能夠處理完全相同的這些功能。我們還有 Java 的擁護者,他們將告訴您 Java ServerPages (JSP) 也行得通。但 Microsoft 是專利產品,并且不是跨平臺的,而 JSP 意味著必須將一切編譯成 servlet 并將那些 JSP 標記嵌入到表示層中。
 
  這是問題的關鍵—沒有一種語言能夠完成所有這一切。PHP 非常適用于快速啟動和運行以及處理動態內容,但如果您在尋找真正的商務邏輯功能,您將不得不到 PHP 之外去尋找。在最近舉行的 PHP West 會議上,Yahoo! 的一位經理將 PHP 的局限稱為“實施兩次”的問題。隨著 Yahoo! 開始將更多的商務邏輯添加到它的表示層中,將這個網站變成全球最大的門戶之一,有一些原來用 PHP 構建的元素不能有效地運行了。這些元素不得不用其它的語言來重新編碼,從而本質上是實施了兩次。這并不意味著 Yahoo! 拋棄了快速啟用的 PHP。目前,Yahoo! 混合使用 PHP 和 PERL,加上一些 3GL 代碼(如 C++),以處理更重的商務邏輯負擔。
 
  這說明 PHP 適用于很多方面,但負擔沉重的商務邏輯不是其中之一。此外,這種語言缺少模型-視圖-控制框架,因此代碼不能輕易地重用以及適用于不同的大范圍環境。這種語言只是還沒有發展到全面的企業級開發特性這一步。
 
  但因為 PHP 的主要的優勢是快速部署特性,無論如何 Web 站點本身不會始終遵循特定的框架。Web 站點將發展,并在將來將具有更多的功能。站點可能從“只是讓某些功能啟動”的緊急狀況下開始,但隨著自然的趨勢,站點可能被要求具有越來越多的功能。這可 能很容易地引起 HTML 代碼的膨脹,從而帶來性能問題。Yahoo! 和其它許多 PHP 的擁護者將 PHP 用于主要關心外觀和快速部署的特定情況,而用 C++ 和其它的語言來承擔更復雜的任務,從而解決了上述問題。
 
  Quo Vadimus?
 
  我們將去往何方?PHP 當前正處于第 3 個發展周期,在 PHP West 會議上,人們對在 PHP5 中增加更多企業級功能的潛力興奮不已。例如,提出的想法之一是引入類型和參數的概念。此外,訪問級別限制(如公共、私有、保護)也正被考慮,同樣還有引用 的概念—所有這些使 PHP 更加面向對象,在語法上與 Java 更相似。
 
  我害怕的是將來的 PHP 版本將具有更復雜的、難度更高的編程語言的形式。它將提高入門的障礙,就像當 HTML 從簡單的 1.0 和 2.0 版發展到 6.0 版時,我們在其中看到的緩慢建立的障礙一樣?,F在要掌握它,需要更高級的編程技能。
 
  PHP 天生用來快速構建動態 Web 站點。學習 PHP 的門檻很低,它的表示特性很豐富,它與 Web 協議和后端數據庫的兼容性很好,它的價格標簽……嗯,不存在。開發人員希望的是 PHP 保持它的根本,并遵循這一多年以來的原則:使它保持簡單和傻瓜型……
 
  Sudhakar Ramakrishnan [[email="sudhakar.ramakrishnan@oracle.com"]sudhakar.ramakrishnan@oracle.com[/email]] 是 OTN 的一個高級技術編輯。在 NASA IV&V 軟件研究實驗室工作時,他與別人合作編寫了第一個基于 Web 的進程改良工具。除了在 Sun 技術日做主題發言以外,Ramakrishnan 還在 JavaOne、國際 Oracle 用戶群體大會、LinuxWorld、Oracle OpenWorld 以及 IEEE 大會上,就啟用技術這一主題進行發言。
 
    Oracle 和 PHP
 
  自從最早出現 SQL 以來,Oracle 就一直擁護開放源代碼語言 — 只要這些語言被證明是有效的。作為 Web 的最流行的語言之一,PHP 當然更具優勢。Oracle 對開放源代碼的承諾通過在 OTN 的開放源代碼開發中心中為開發人員提供資源和最佳應用得到體現。此外,Oracle 設法開發了 Oracle 9iAS,它具有對 PHP 的特殊支持以及對其它的開放源代碼語言和結構(如 PERL)的支持。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97