程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 《PHP與MySQL程序設計(第3版)》——1.2一般語言特性

《PHP與MySQL程序設計(第3版)》——1.2一般語言特性

編輯:MySQL綜合教程

1.2  一般語言特性

每位用戶使用PHP來實現關鍵業務應用程序時可能都有自己特定的原因,不過有人認為這些原因主要可以分為4類:實用性、強大功能、可選擇性和成本。

 

1.2.1 實用性

自始以來,PHP就是以實用性為目的而創建的。畢竟,Lerdorf最初的意圖不是設計一門全新的語言,而只是為了解決一個沒有現成解決方案的問題。此外,PHP早期的發展並非明確地希望改進語言本身,而只是要為用戶增加功能。其結果就是建立了一個最低需求(minimalist)語言,不僅對用戶的需求很低,對語言的語法需求也很低。對於剛入門的人來說,一個有用的PHP腳本可能只包含一行代碼;與C不同,它不需要導入庫函數。例如,下面的代碼就是一個完整的PHP腳本,其目的是以類似於September 23, 2007的格式輸出當前的日期:

如果你不懂也不用擔心,後面的章節會詳細介紹PHP語法,此時只要知道大概做什麼就可以了。

PHP語言很強調緊湊性,這還反映在它能嵌套函數。例如,通過在一行代碼中按特定的順序調用函數,可以對一個值進行一系列修改。下面的例子中,將生成一個由5個字母或數字字符組成的字符串,如a3jh8

PHP是一種類型松散的語言,這意味著不需要明確地創建變量、指派類型或撤銷變量,當然也沒有絕對禁止做這些操作。PHP對這些情況的處理是透明的,腳本中使用變量時PHP會動態創建變量,並使用最優推測規則自動指派變量的類型。例如,PHP認為下面的一組語句是完全合法的:

PHP還會在腳本結束時自動撤銷變量,將資源返回給系統。從這些方面來看,由於PHP在內部處理了編程的許多管理方面的問題,開發人員因而能夠集中精力去完成最終的目標——開發一個實用的應用程序。

 

1.2.2 強大功能

目前,PHP180個可用的庫,總共有1000余項功能。也許,你知道PHP能訪問數據庫、處理表單信息以及動態創建頁面,但你可能不知道PHP還有以下功能。

q 創建並處理Macromedia Flash、圖片和PDF文件。

q 將密碼與字典數據和容易破解的模式進行比較,評估密碼的可猜測性。

q 使用POSIX和基於Perl的正則表達式庫解析最復雜的字符串。

q 通過存儲在純文本文件、數據庫或Microsoft活動目錄中的登錄憑證來驗證用戶身份。

q 采用多種協議通信,包括LDAPIMAPPOP3NNTPDNS等。

q 與大量信用卡處理解決方案集成。

這還沒有把PHP擴展與應用程序庫(PEAR)中的功能考慮進來,其中收集了幾百個易於安裝的開源包,可通過任意方式來進一步擴展PHP。可以從第11章學習更多關於PEAR的內容。在隨後的幾章中,你將學習很多這樣的庫,以及幾個PEAR包。

 

1.2.3 可能性

PHP開發人員很少只局限於一種實現方案。相反,這個語言為用戶提供了充分的選擇。例如,考慮一下PHP對數據庫的支持。PHP25種以上的數據庫產品提供了內置支持,包括Adabas DdBaseEmpressFileProFrontBaseHyperwaveIBM DB2InformixIngresInterbasemSQLMicrosoftSQL- ServerMySQLOracleOvrimosPostgreSQLSolidSybaseUNIX dbmVelocis。此外,也可以利用抽象層功能來訪問Berkeley DB類型的數據庫。還可以使用一些一般性的數據庫抽象方案,其中最為流行的有PDOhttp://www.php.net/pdo)和MDB2http://pear.php.net/package/MDB2)。最後,如果你想找一個對象關系映射(ORM)解決方案,諸如Propelhttp://propel.phpdb.org/trac/)這樣的項目應當非常合適。

PHP靈活的字符串解析功能為不同水平的用戶提供了選擇,不僅能夠(利用字符串處理函數)立即開始完成復雜的字符串操作,還可以(利用正則表達式)將有類似功能的程序(如PerlPython)快速移植到PHP。除了超過85個字符串處理函數之外,PHP還支持POSIX和基於Perl的正則表達式格式。

你更喜歡函數式編程語言嗎?還是采用面向對象范型(object-oriented paradigm)的語言?PHP對二者都提供了全面的支持。雖然PHP最初只是一種函數式語言,但開發人員很快就意識到提供流行的OOP范型的重要性,並開始實現一種可擴展的解決方案。

這裡反復強調的重點是,使用PHP,我們可以充分利用目前掌握的技能,只需投入很少的時間就能很快地開始PHP開發。這種策略在整個語言中頻頻出現,這裡提到的只是其中很少的一部分例子。

 

1.2.4 成本

PHP從一開始就對使用、修改和再分發沒有任何限制。最近幾年,滿足這種開放許可限制的軟件被稱為開源(open-source)軟件。開源軟件和因特網就像面包和黃油一樣密不可分。開源項目如SendmailBindLinuxApache都在因特網的發展方面起到了非常重要的作用。雖然媒體最為追捧的是開源軟件可以自由使用,但它還有另外幾個同樣重要的特點(甚至更重要)。

q 沒有大多數商業產品所要求的許可限制。商業軟件往往有許多許可限制,而開源軟件的用戶沒有這些限制。雖然在許可權限上存在差異,但一般來講,用戶都能自由地修改和重新分發開源軟件,還能將開源軟件整合到其他產品中。

q 開放式開發和評審過程。雖然也曾有過一些意外事件,但開源軟件在安全方面還是享有很好的聲譽。這種高標准正是開放式開發和評審過程的結果。因為任何人都能自由使用源代碼,所以安全漏洞和潛在的問題會很快被發現並得以修復。開源倡導者Eric S. Raymond很好地總結了這項優點,他說:“只要有足夠多雙眼睛,所有的bug都無處遁形。”

鼓勵參與。開發團隊不限於某個組織。任何感興趣的人,只要具有相應的能力,都可以自由地加入到項目中。由於不對成員進行限制,這就大大增加了項目的人才儲備,必然能貢獻出更高質量的產品。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved