2010年3月2日星期二

網頁設計PHP的產生及其優點

網頁設計PHP的產生及其優點
發佈者:作者:Web Design香港網頁設計大皇 - 網站設計
Web Design
  PHP(http://webdesign.zoapcon.comnet ),全稱為PHP Hypertext Preprocessor ,超文本預處理器之意。事實與時間均證明,PHP已成為全球最受歡迎的腳本語言之一。
  1、PHP/FI
  

  PHP起源於1995年,由當時年僅17歲的Rasmus Lerdorf 編寫完成,是使用Perl技術為基礎的服務器端腳本。主要的用途是跟蹤收集瀏覽個人網站簡歷的信息,由於它主要的功能更呢個是表單的轉換、信息收集工作,因此被Lerdorf命名為Personal Home Page Tools/Form Interperter ,簡稱PHP/FI。
  隨著網站功能的增加,Rasmus使用C語言重寫了PHP/FI的底層,實現了網站與數據庫的交互,還可以讓用戶自己編寫簡單的WEB腳本以實現更多的功能。PHP/FI比原來使用Perl開發的解釋器要快很多,並且支持變量和基本的語法定義,並且語法內容與Perl語法非常相似。
  Lerdorf 意識到Linux和FreeBSD這些自由軟件的思想非常好,於是決定把PHP/FI的源代碼公開,使更多的人可以利用它來建立動態內容的網站,簡單而且免費。1997年11月,PHP/FI v2.0正式發佈並提供下載。在後來的時間中,使用該軟件的網站達到50 000個。PHP2的一些功能開始有一些開發者加盟共同完善源代碼,Lerdorf 仍按既定的共享開發放的方式進行工作。PHP/FI後來被Beta版的PHP3取代。
  2、PHP3
  同年,Andi Gutmans 和Zeev Suraski 開始與Lerdorf合作,宣佈正式接任構建和升級PHP/FI 2.0。並且,為了減少舊名稱中的一些模糊和歧義,仍採用PHP的名稱,並按GNU標準重新規劃名字的縮寫為“PHP Hypertext Preprocessor”。
  PHP3在公開測試9個月後,於1998年6月發佈正式版本。PHP3提供大量的實用功能和可擴展性,並且具備堅實的底層架構,提供面向對像語法,並支持常用的數據處理。數十位開發者看好了這一優勢,都參加了PHP3的新模塊開發。截至1998年,使用PHP約有1 0000個用戶,全球10%的網站採用了PHP3作為開發腳本語言。
  3、PHP4
  經官方發佈,Gutmans 和Suraski開始準備重寫PHP的核心,以實現複雜和健壯的應用,並將一些常見的基礎應用模塊化。
  1999年,Zend 公司正式發佈首次採用新的PHP引擎,而該公司的創始人就是Gutmans和Suraski,公司名稱分別採用了兩個人名字前面的部分Zeev和Andi,由此稱之為Zend(http://webdesign.zoapcon.comcom)。
  2000年,PHP4版本正式發佈。基於Zend引擎的PHP4除了強大的功能、快速的性能外,還支持更多的WEB服務器,並增加了會話功能、輸入輸出緩衝等更多增強模塊 。
  PHP4同樣得益於世界各地無數開發者的貢獻,至此全球大約有20%的網站使用了PHP,其中包括一些門戶網站以及創新者,這成為推動互聯網更快更強發展的動力之一。
  4、PHP5
  雖然PHP4已經能夠勝任絕大多數的WEB應用,而事實上仍有不少開發者抱怨,由於PHP4面向對像機制方面欠缺,致使在開發大型企業級應用方面不足,這些專業領域彷彿早已成了C++/.NET/Java的天下。
  還有,有可能需要開發一種應用服務器(Application Server),而腳本程序通常針對WEB方式交互的用戶。因此他們開始計劃讓應用程序脫離瀏覽器,是程序可以獨立運行(CLI模式)。
  目前業界大部分的應用開發,尤其是互聯網開發,很多網站模式與理念需要很快被實現為產品和應用,另外也可能需要在操作系統的後台實現複雜服務器的功能。
  而這一切,PHP都可以滿足,從而讓我們實現快樂工作。至於那些更複雜的系統,或者是數十人開發的項目,還是交給更適合的Java,C#或C++去做吧,當讓PHP5也可以勝任這些工作。
  事實上PHP5已經成為一個專業和高效率的開發工具。對於中小型項目,可以實現快速開發和性能優異的目標。而PHP5在今後的市場定位,也並非扮演與Java或ASP。NET競爭市場的角色。相信不遠的將來,隨著新的PHP5或PHP6.0的發佈,PHP的主流應用更有質的飛躍。
  PHP----Hypertext Preprocessor(超文本預處理器),是一種易於學習和使用的服務器端腳本語言,是生成動態網頁的工具之一。它是嵌入HTML文件的一種腳本語言。七語法大部分是從C,JAVA,PERL語言中借來,並形成了自己的獨有風格;目標是讓WEB程序員快速的開發出動態的網頁。它是當今INTERNET上最為火熱的腳本語言,只需要很少的編程知識你就能使用PHP建立一個真正交互的WEB站點。
  PHP是完全免費的,可以不受限制的獲得源碼,甚至可以從中加進你自己需要的特色。PHP在大多數Unix平台,GUN/Linux和微軟Windows平台上均可以運行。PHP的官方網站是:http://webdesign.zoapcon.comnet。
  與ASP、JSP一樣,PHP也可以結合HTML語言共同使用;它與HTML語言具有非常好的兼容性,使用者可以直接在腳本代碼中加入HTML標籤,或者在HTML標籤中加入腳本代碼從而更好的實現頁面控制,提供更加豐富的功能。
  PHP的優點有:安裝方便學習過程簡單;數據庫連接方便,兼容性強;擴展性強;可以進行面向對像編程。引用Nissan的Xterra的話來說就是PHP可以做到你想讓它做到的一切而且無所不能!
  PHP提供了標準的數據庫接口,幾乎可以連接所有的數據庫;尤其和MYSQL數據庫的配合更是天衣無縫。下面引用一個調用MYSQL數據庫並分頁顯示的例子來加深對PHP的瞭解。
  $pagesize = 5; //每頁顯示5條記錄
  $host=localhost;
  $user=user;
  $password=psw;
  $dbname=book; //所查詢的庫表名;
  //連接MySQL數據庫
  mysql_connect($host,$user,$password) or die(無法連接MySQL數據庫服務器!);
  $db = mysql_select_db($dbname) or die(無法連接數據庫!);
  $sql = select count(*) as total from pagetest;//生成查詢記錄數的SQL語句
  $rst = mysql_query($sql) or die(無法執行SQL語句:$sql !); //查詢記錄數
  $row = mysql_fetch_array($rst) or die(沒有更多的記錄!); /取出一條記錄
  $rowcount = $row[total];//取出記錄數
  mysql_free_result($rst) or die(無法釋放result資源!); //釋放result資源
  $pagecount = bcdiv($rowcount+$pagesize-1,$pagesize,0);//算出總共有幾頁
  if(!isset($pageno)) {
  $pageno = 1; //在沒有設置pageno時,缺省為顯示第1頁
  }
  if($pageno<1) {
  $pageno = 1; //若pageno比1小,則把它設置為1
  }
  if($pageno>$pagecount) {
  $pageno = $pagecount; //若pageno比總共的頁數大,則把它設置為最後一頁
  }
  if($pageno>0) {
  $href = eregi_replace(%2f,/,urlencode($PHP_SELF));//把$PHP_SELF轉換為可以在URL上使用的字符串,這樣的話就可以處理中文目錄或中文文件名
  if($pageno>1){//顯示上一頁的褳接
  echo 上一頁 ;
  }
  else{
  echo 上一頁 ;
  }
  for($i=1;$i<$pageno;$i++){
  echo . $i . ;
  }
  echo $pageno . ;
  for($i++;$i<=$pagecount;$i++){
  echo . $i . ;
  }
  if($pageno<$pagecount){//顯示下一頁的褳接
  echo 下一頁 ;
  }
  else{
  echo 下一頁 ;
  }
  $offset = ($pageno-1) * $pagesize;//算出本頁第一條記錄在整個表中的位置(第一條記錄為0)
  $sql = select * from pagetest LIMIT $offset,$pagesize;//生成查詢本頁數據的SQL語句
  $rst = mysql_query($sql);//查詢本頁數據
  $num_fields = mysql_num_fields($rst);//取得字段總數
  $i = 0;
  while($i<$num_fields){//取得所有字段的名字
  $fields[$i] = mysql_field_name($rst,$i);//取得第i+1個字段的名字
  $i++;
  }
  echo ;//開始輸出表格
  echo ;
  reset($fields);
  while(list(,$field_name)=each($fields)){//顯示字段名稱
  echo $field_name;
  }
  echo
  ;
  while($row=mysql_fetch_array($rst)){//顯示本頁數據
  echo ;
  reset($fields);
  while(list(,$field_name)=each($fields)){//顯示每個字段的值
  $field_value = $row[$field_name];
  if($field_value==){
  echo ;
  }
  else{
  echo $field_value;
  }
  }
  echo
  ;
  }
  echo ;//表格輸出結束
  mysql_free_result($rst) or die(無法釋放result資源!);//釋放result資源
  }
  else{
  echo 目前該表中沒有任何數據!;
  }
  mysql_close($server) or die(無法與服務器斷開連接!);//斷開連接並釋放資源
  ?>
  從這個例子可以看出,PHP的語法結構很像C語言,並易於掌握。而且PHP的跨平台特性讓程序無論在WINDOWS平台還是LINUX、UNIX系統都能運行自如。
  站長網新聞榜 webdesign.zoapcon.comcom/top Web Hosting

没有评论:

发表评论