PHP無所不能。PHP主要作為服務器端的腳本程序,所以妳可以用PHP做任何其他CGI程序能做的事情,比如收集表單數據,生成動態網頁,或者發送/接收Cookies。但是PHP的作用遠不止於此。
PHP腳本主要用於以下三個領域:
(1)服務器腳本。這是PHP最傳統、最主要的目標領域。要開展這項工作,我們需要具備以下三點:PHP解析器(CGI或服務器模塊)、web服務器和web瀏覽器。運行web服務器時需要安裝配置PHP,然後就可以用web瀏覽器訪問PHP程序的輸出,也就是瀏覽服務器的PHP頁面。如果妳只是嘗試PHP編程,所有這些都可以在妳自己的家用電腦上運行。有關更多信息,請參考安裝章節。
(2)命令行腳本。妳可以寫壹個PHP腳本,妳不需要任何服務器或瀏覽器來運行它。這樣,只需要壹個PHP解析器就可以執行。對於依賴於cron(Unix或Linux環境)或TaskScheduler(Windows環境)的日常操作的腳本,這種用法非常理想。這些腳本也可以用來處理簡單的文本。更多信息請參考PHP的命令行模式。
編寫桌面應用程序。對於具有圖形界面的桌面應用程序,PHP可能不是最好的語言,但是如果用戶非常精通PHP,並且希望在客戶端應用程序中使用PHP的壹些高級功能,可以使用PHP-GTK來編寫這些程序。這樣,妳也可以編寫跨平臺的應用程序。PHP-GTK是PHP的擴展,不包含在通常的PHP包中。
(3)PHP可以在所有主流操作系統中使用,包括Linux、Unix的各種變種(包括HP-UX、Solaris和OpenBSD)、microsoftWindows、MacOSX、RISCOS等。如今,PHP已經支持大部分web服務器,包括Apache、微軟互聯網信息服務器(IIS)、PersonalwebServer(PWS)、Netscape、iPlantserver、OreillyWebsiteProServer、Caudium、Xitami、OmniHTTPd等等。對於大多數服務器,PHP提供了壹個模塊;還有壹些PHP支持CGI標準,這樣PHP就可以作為CGI處理器工作。
PHP語言是什麽?
PHP,嵌套縮寫,是英文PHP:HypertextPreprocessor的縮寫。PHP是壹種HTML嵌入式語言,與微軟ASP頗為相似。它是壹種在服務器端嵌入HTML文檔的腳本語言。語言風格類似於C語言,現在被很多網站程序員廣泛使用。PHP獨特的語法是C、Java、Perl和PHP自我創新的語法的混合體。它可以比CGI或Perl更快地執行動態網頁。與其他編程語言相比,PHP制作的動態頁面將程序嵌入HTML文檔中執行,執行效率遠高於完全生成HTML標簽的CGI。相比於JavaScript也是嵌入HTML文檔的腳本語言,PHP是在服務器端執行的,充分利用了服務器的性能。PHP執行引擎還會將用戶頻繁訪問的PHP程序存儲在內存中,這樣其他用戶訪問這個程序壹次就不需要重新編譯程序,只要直接執行內存中的代碼即可,這也是PHP效率高的表現之壹。PHP具有非常強大的功能,所有的CGI或JavaScript功能都可以通過PHP實現,並且它支持幾乎所有流行的數據庫和操作系統。PHP最初是由RasmusLerdorf在1994年創建的。起初,這只是壹個用Perl語言編寫的簡單程序,用來統計他自己網站的訪問者。後來用C語言重寫,包括對數據庫的訪問。在1995中,第壹個版本發布為PersonalHomePageTools(PHPTools)。Lerdorf寫了壹些介紹這個程序的文檔,發表了PHP1.0。在這個早期版本中,提供了簡單的功能,如留言簿和客人計數器。以後越來越多的網站使用PHP,壹些特性被強烈需要和添加,比如循環語句和數組變量。新成員加入開發行列後,PHP2.0在1995中間發布。第二版命名為PHP/FI(for interpreter)。PHP/FI增加了對mSQL的支持,從此奠定了PHP在動態web開發中的地位。截止1996年底,使用PHP/FI的網站有15000個;;到1997中期,使用PHP/FI的網站已經超過5萬個。1997年,第三版的開發計劃啟動,ZeevSuraski和AndiGutmans加入開發團隊,第三版命名為PHP3。2000年,PHP4.0又出來了,增加了很多新功能。PHP的特點包括以下幾點:開源代碼:所有的PHP源代碼事實上都可以獲得。PHP是免費的。基於服務器:因為PHP是在服務器上運行的腳本,所以可以在UNIX、LINUX、WINDOWS下運行。嵌入HTML:因為PHP可以嵌入HTML語言,所以學習起來並不難。簡單語言:PHP堅持腳本語言,和C++中的Java不同。高效率:PHP消耗的系統資源相對較少。圖像處理:PHP3和PHP4的比較,PHP 4用PHP動態創建圖像,與Apache server緊密集成。加上它不斷更新,增加新功能;並且幾乎支持所有主流和非主流數據庫;PHP憑借其高執行效率,在65,438+0,999中使用了超過65,438+0,500,000個站點。另外,它的源代碼是完全開放的,在開源意識高漲的今天,它是這方面的中流砥柱。隨著新函數庫的不斷加入和不斷更新的生命力,PHP可以在UNIX、LINUX或Windows平臺上有更多的新功能。它提供了豐富的功能,這使得它在編程中得到更好的支持。PHP4.0整個腳本程序的核心做了很大的改動,使程序的執行速度能夠滿足更快的要求。優化後的效率已經優於傳統的CGI或ASP程序。而且具有更強的新功能和更豐富的函數庫。無論妳接受與否,PHP都將徹底改變WebCGI。對於壹個專業的站長來說,也會是必修課之壹。PHP4.0是開發動態網頁的更有效、更可靠的工具。在大多數情況下,它比PHP3.0運行得更快,它的腳本描述更強大,也更復雜。最顯著的特點是速比的增加。PHP4.0的這些優異表現是PHP腳本引擎重新設計的結果:引擎完全由AndiGutmans和ZeevSuraski從底層重寫。PHP4.0的腳本引擎Zend engine采用了更有效的編譯-執行模式,而不是PHP3.0采用的解析時執行模式,在3.0版本的基礎上,PHP4增加或增強了很多有用的特性,主要有:(1) Alias:在PHP4中,可以使用引用給變量賦值,給編程帶來了很大的靈活性。(2)擴展的API模塊:PHP4.0為擴展的API模塊提供了壹個擴展的PHP接口模塊,速度明顯快於舊API版本。PHP模塊的大部分現有的和最常用的接口都被轉換成使用這個擴展的接口。(3)自動釋放資源:在PHP4中加入了引用計數功能,這壹新技術的引入使得PHP4具備了自動內存管理功能,減輕了開發者的負擔。(4)布爾類型:PHP4.0支持布爾類型。(5)進程生成:UNIX環境下的PHP4.0提供了非常智能和通用的生成進程,使用了壹種叫做automake/libtool的系統生成技術。(6)COM/DCOM支持:PHP4.0提供COM/DCOM支持(僅針對Windows環境),無縫訪問和訪問COM對象。(7)與PHP3.0兼容性好:PHP4.0與PHP3.0的向後兼容性接近100%。由於PHP4的架構有所改進,所以兩者之間會有壹些細微的差別,但大多數人大概都不會遇到這種情況。PHP (8)配置介紹:PHP4經過了重新設計和增強。Ini文件,它利用了PHP。Ini來配置PHP是非常容易的。這個文件可以在運行時由Apache(unix系統)或Windows (Windows環境)註冊。(9)加密支持:PHP4實現完全加密,這些加密函數是壹個完整的mycrypt庫,PHP4.0支持哈希函數。Blowfish、TripleDES、MD5和SHA1也是壹些可以使用的加密算法。(10)類型檢查:PHP4.0支持相同的運算符進行類型檢查:= = (3等號運算符)在兩個值及其類型之間進行檢查。比如3==3會被視為假(不同類型),3 = = 3(相等判斷)會被視為真。(11)FTP支持:PHP4.0支持FTP。通常,您會提供壹個通過調制解調器連接下載大文件的接口。但是,如果真的需要,可以用PHP。(12)PHP4新增功能或功能增強功能:PHP4.0新增了很多功能,增強了很多現有的功能。這裏有壹些例子。array _ count _ values()eval()foreach()n clude()ob _ end _ clean()ob _ end _ flush()ob _ get _ contents()ob _ start()strip _ tags()unset()(13)。這裏有壹個有用的方法來打印大容量的文章,例如,在壹個HTML文件中,不丟失任何字符,如目錄標簽。(14)HTTPSessionfallback系統:在PHP4.0中實現了壹個為HTTPSession管理的回退系統。默認情況下,會話標識符由cookies存儲。如果沒有cookie支持或cookie任務失敗,將自動創建會話標識符,並將其包含在URL的查詢字符串中。(15)ISAPI支持:PHP4.0可以作為IIS插件作為個性化的ISAPI模塊。這比作為外部程序運行的PHP3.0更有效。(16)內存:PHP4.0可以更有效地使用內存,導致內存消耗更少,這主要是由於引用計數技術的實現。(17)其他類的成員函數:在PHP4.0中,可以在成員函數本身的作用域或全局作用域內調用其他類的成員函數。例如,可以用子函數覆蓋父函數,並在子函數中調用父函數。(18)多維數組:在PHP4.0中,使用GET、post和cookies的數據傳輸支持多維數組。(19)個性化HTTPSession支持:HTTPSession處理包括回退系統管理都是通過其在PHP4.0中新增的庫函數實現的,在3.0版本中處理Session需要使用PHPLIB和第三方庫函數,比PHP直接支持Session要慢很多。(20)個性化java支持:PHP4.0支持與Java的交互。這種個性化的Java支持為PHP在Java對象上創建和使用方法提供了壹個簡單而有效的工具。21)嵌套的壹組對象和數字:PHP4.0實現了更強大的對象,去除了PHP3.0中存在的各種語法限制,對象可以嵌套在數組內部,反之亦然,可以根據妳的需要進行嵌套。(22)面向對象編程:PHP4.0為面向對象編程和構造類和對象提供了擴展功能和新特性。PHP4實現了對象重載、引用技術等新技術。(23)對象重載支持:對象重載語法允許第三方面向對象類庫利用PHP4的面向對象特性訪問自己的函數。使用該功能的COM模塊已經實現。(24)輸出緩沖支持:PHP提供了壹組輸出緩沖函數。輸出緩沖區支持允許您編寫壹個包裝函數來壓縮緩沖區。PHP4中的輸出緩沖支持允許存儲HTML頭信息,不管HTML的文本是否輸出。不緩沖標題信息(()、內容類型和cookies。(25)增加了PCRE庫:PHP4.0包括壹個Perl兼容的正則表達式(PCRE)庫,它和普通的regex庫壹起綁定到PHP。支持Split和replacePCRE函數。PCRE和Perl正則表達式之間有壹些微妙的區別。(26)PHP.ini文件:PHP4.0中重新設計了PHP.ini文件,使用PHP配置PHP.ini更加簡單有效。所有文件都可以由Apache在運行時(Apache環境下)或者Windows註冊表(Windows下)操作。所有相關模塊都自動支持添加到PHP.ini文件中的配置指令。(27)引用計數:PHP4.0提供了系統中每個值的引用計數,包括資源。壹旦資源不再被任何變量引用,它就會被自動釋放以節省內存資源。使用該特性最明顯的例子是帶有內置SQL查詢的循環語句。在PHP3.0中,每當另壹個SQL結果集被遞歸地申請內存時,這些結果集占用的內存就會被釋放,直到腳本被執行。(28)支持引用:變量的值可以通過引用來改變。(29)函數的運行時綁定:PHP4.0的運行時綁定函數允許妳在聲明之前調用它們,不管它們是在代碼之後聲明還是在運行時聲明。(30)類的運行時信息:PHP4.0支持在運行時訪問以下類信息:對象的類名、對象的父類的類名、對象函數的名稱。(31)服務器抽象層:為支持Web服務器提供增強的SAPI(服務器API)接口,即PHP4。0不可分割的壹部分。這個服務器抽象層提供通用WEB服務器接口支持,支持多線程WEB服務器,並為大多數WEB服務器提供透明支持,包括Apache、IIS(ISAPI)和AOL服務器。- .完全重寫了PHP處理對象的方式,允許更好的性能和更多的特性。PHP的處理對象部分的內核已經完全重新開發,提供了更多的功能,同時提高了性能。在以前的php版本中,對象的處理方式與基本類型(數字、字符串)相同。這種方法的缺點是,當壹個對象被賦給壹個變量或通過壹個參數傳遞時,這個對象將被完全復制。在新版本中,上述操作將傳遞引用(可以理解為對象的標識符)而不是值。