亚欧洲精品在线观看,窝窝影院午夜看片,久久国产成人午夜av影院宅,午夜91,免费国产人成网站,ts在线视频,欧美激情在线一区

php語言

PHP語言的優(yōu)點及缺點

時間:2025-01-29 08:53:40 php語言 我要投稿

PHP語言的優(yōu)點及缺點

  PHP(PHP:Hypertext Preprocessor)是一種在電腦上運行的腳本語言,主要用途是在于處理動態(tài)網(wǎng)頁,也包含了命令行運行接口(command line interface),或者產(chǎn)生圖形用戶界面(GUI)程序。PHP語言有哪些優(yōu)點和缺點呢?下文將為大家一一講述。歡迎閱讀!

  優(yōu)點

  1.入門快,有其它語言基礎的程序員二周左右的時間就可以入門,一個月左右的時間基本上就可以開發(fā)簡單的項目了。

  2.開發(fā)成本低,PHP最經(jīng)典的組合就是:Linux + Apache + MySQL + PHP。非常適合開發(fā)中小型的web應用,因為上手容易,所以開發(fā)的速度比較快。而且所有的軟件都是開源免費的,可以減少投入。

  3.PHP是解釋性的腳本語言,寫完代碼以后即可以執(zhí)行,不像c,java,c++等語言還需要去編譯執(zhí)行,相對來說比較節(jié)省時間。

  4.相對來說,PHP程序員的薪水的平均工資要比c,c++,java程序員的平均工資要低一些,特別是對于中小型企業(yè)來說可以節(jié)約一些成本。

  5.配置及部署相對簡單一些,對比JAVA開發(fā)來說,JAVA開發(fā)的配置就復雜多了,什么Structs、Spring、Hibernate、Tomcat等等很多地方都需要配置,甚至你在程序中每寫一個SQL語句都需要先在Hibernate中配置一下,有時重新部署一個class文件或jar文件還可能需要重啟Web服務器(Tomcat或Resin或其它的Web服務器)使新部署的庫文件生效。PHP開發(fā)中主要是PHP自身的配置文件及Web服務器的配置(如Apache或Nginx或Lighttpd等),相對于JAVA來說還是簡單一些,而且新修改了文件以后不需要重新啟動Web即可以立即生效。

  缺點

  1.對多線程支持不太好,大多數(shù)時候我們只能簡單的模擬去實現(xiàn)的,Via。

  2.對面向對象的支持也不太好,相對來說PHP5的面向對象有了不少的提升。

  3.編碼規(guī)范不太統(tǒng)一,如刪除用戶,有的人用_user,而有的人可能用User,如果不提前制定編碼規(guī)范,這種情況可能會經(jīng)常發(fā)生,因為每個人都有自己的編碼習慣。

  4.語法不太嚴謹,比如變量不需要定義就可以使用,在c,java,c++中變量是必須先定義以后才可以使用的。

  【相關閱讀】PHP語言簡介

  PHP(PHP:Hypertext Preprocessor)是一種在電腦上運行的腳本語言,主要用途是在于處理動態(tài)網(wǎng)頁,也包含了命令行運行接口(command line interface),或者產(chǎn)生圖形用戶界面(GUI)程序。

  PHP最早由Rasmus Lerdorf在1995年發(fā)明,而現(xiàn)在PHP的標準由PHP Group和開放源代碼社區(qū)維護。PHP以PHP License作為許可協(xié)議,不過因為這個協(xié)議限制了PHP名稱的使用,所以和開放源代碼許可協(xié)議GPL不兼容。

  PHP的應用范圍相當廣泛,尤其是在網(wǎng)頁程序的開發(fā)上。一般來說PHP大多運行在網(wǎng)頁服務器上,通過運行PHP代碼來產(chǎn)生用戶瀏覽的網(wǎng)頁。PHP可以在多數(shù)的服務器和操作系統(tǒng)上運行,而且使用PHP完全是免費的。根據(jù)2007年4月的統(tǒng)計數(shù)據(jù),PHP已經(jīng)被安裝在超過2000萬個網(wǎng)站和100萬臺服務器上。

  開發(fā)歷史

  PHP原本的簡稱為Personal Home Page,是Rasmus Lerdorf為了要維護個人網(wǎng)頁,而用c語言開發(fā)的一些CGI工具程序集,來取代原先使用的Perl程序。最初這些工具程序用來顯示Rasmus Lerdorf的個人履歷,以及統(tǒng)計網(wǎng)頁流量。他將這些程序和一些窗體解釋器集成起來,稱為PHP/FI。PHP/FI可以和數(shù)據(jù)庫連接,產(chǎn)生簡單的動態(tài)網(wǎng)頁程序。Rasmus Lerdorf在1995年6月8日將PHP/FI公開釋出,希望可以通過社區(qū)來加速程序開發(fā)與查找錯誤。這個釋出的版本命名為PHP 2,已經(jīng)有今日PHP的一些雛型,像是類似Perl的變量命名方式、窗體處理功能、以及嵌入到HTML中運行的能力。程序語法上也類似Perl,有較多的限制,不過更簡單、更有彈性。

  在1997年,任職于Technion IIT公司的兩個以色列程序員:Zeev Suraski和Andi Gutmans,重寫了PHP的剖析器,成為PHP 3的基礎,而PHP也在這個時候改稱為PHP: Hypertext Preprocessor.。經(jīng)過幾個月測試,開發(fā)團隊在1997年11月釋出了PHP/FI 2,隨后就開始PHP 3的開放測試,最后在1998年6月正式釋出PHP 3。Zeev Suraski和Andi Gutmans在PHP 3釋出后開始改寫PHP的核心,這個在1999年釋出的剖析器稱為Zend Engine,他們也在以色列的Ramat Gan成立了Zend Technologies來管理PHP的開發(fā)。

  在2000年5月22日,以Zend Engine 1.0為基礎的PHP 4正式釋出,2004年7月13日則釋出了PHP 5,PHP 5則使用了第二代的Zend Engine。PHP包含了許多新特色,像是強化的面向對象功能、引入PDO(PHP Data Objects,一個訪問數(shù)據(jù)庫的延伸庫)、以及許多效能上的增強。目前PHP 4已經(jīng)不會繼續(xù)更新,以鼓勵用戶轉移到PHP 5。

  2008年PHP 5成為了PHP唯一維護中的穩(wěn)定版本。將來的PHP 5.3將會加入Late static binding和一些其他的功能強化。

  PHP 6的開發(fā)也正在進行中,主要的改進有移除register_globals、magic quotes和Safe mode的功能。

  應用

  PHP是一個應用范圍很廣的語言,特別是在網(wǎng)絡程序開發(fā)方面。一般來說PHP大多在服務器端運行,通過運行PHP的代碼來產(chǎn)生網(wǎng)頁提供瀏覽器讀取,此外也可以用來開發(fā)命令行腳本程序和用戶端的GUI應用程序。PHP可以在許多的不同種的服務器、操作系統(tǒng)、平臺上運行,也可以和許多數(shù)據(jù)庫系統(tǒng)結合。使用PHP不需要任何費用,官方組織PHP Group提供了完整的程序源代碼,允許用戶修改、編譯、擴充來使用。

  安全

  據(jù)National Vulnerability Database數(shù)據(jù)顯示,與PHP有關的數(shù)據(jù)庫攻擊比例為:20% 2004, 28% 2005, 43% 2006, 36% 2007, 35% 2008 and 32% 2009。其中很多的漏洞都可以通過遠程操作完成,如:黑客可以通過網(wǎng)絡連接攻擊服務器,達到盜取或毀壞數(shù)據(jù),發(fā)送垃圾郵件或進行拒絕服務攻擊。但是隨著更多的關注,PHP也變得越來越安全了

  語法

  PHP的語法參考了Perl、C語言,而且可以集成在HTML之中,以下是一個簡單的Hello World程序:

  echo 'Hello World!';

  ?>

  PHP剖析引擎只剖析之間的代碼,而不包含在之間的內(nèi)容則會直接提交,所以可以用以下的方式來將PHP代碼嵌入在HTML之中:

  //-PHP程式碼

  ?>

  html內(nèi)容

  //-PHP程式碼

  ?>

  在HTML中嵌入PHP時,比如需要單獨輸出某個變量,除了正常采用echo語句外,可以直接采用

  但是在判斷語句中的HTML代碼并不會被直接提交:

  if (false) {

  ?>

  HTML Code

  }

  ?>

  PHP可以用三種注解的形式:C與C++所使用的“”與“//”,和Perl的“#”。

  類型

  PHP主要有以下四種標量類型:

  整型(integer)

  浮點型(float)

  布爾型(boolean)

  字符串(string)

  兩種復合類型:

  數(shù)組(array)

  對象(object)

  兩種特殊類型

  NULL

  資源(resource)

  變量

  PHP中,變量以“$”后接變量名稱來表示。變量名稱區(qū)分大小寫。

  有效的變量名稱以字母或下劃線開頭,后接任意數(shù)目的字母、數(shù)字或下劃線,PHP也支持使用多字節(jié)文字作為變量名。

  面向對象

  PHP從PHP 3開始有了基本的面向對象(Object oriented)的特性,但直到PHP 5將面向對象部份重新改寫之后,PHP的面向對象功能才比較完善,F(xiàn)在PHP可以說是一個有完整面向對象功能的語言。

  庫

  主條目:PHP庫列表

  自帶多樣化的函數(shù)是PHP主要的特點之一,這些開放代碼的函數(shù)提供了各種不同的功能,例如文件處理、FTP、字符串處理、等等。這些函數(shù)的使用方法和C語言相近(例如printf),這也是PHP廣為流行的原因之一。

  除了自帶的函數(shù)之外,PHP也提供了很多延伸庫(extension),像是各種數(shù)據(jù)庫連接函數(shù)、數(shù)據(jù)壓縮函數(shù)、圖形處理等等。有些延伸庫需要從PECL(PHP Extension Community Library)取得。

  源代碼編碼和加速

  PHP源代碼是可以直接讀取的,即使放到服務器上運行也是一樣。雖然讓PHP多了彈性,但相對的會造成安全危機和性能下降的問題。

  通過PHP編碼器,可以保護PHP的源代碼不被讀取(對商業(yè)軟件來說特別有需求),也可以提升運行的效能。有許多公司或團體開發(fā)PHP的編碼器,將PHP程序編譯成字節(jié)碼(byte code),再通過服務器上安裝對應的程序來運行PHP腳本。

  除了通過編碼器加速之外,PHP還可以通過動態(tài)的高速緩存機制來提升速度,加速工具有商業(yè)版的,例如Zend Platform,也有開放源代碼的加速軟件如eAccelerator、APC、XCache。

  樣板引擎

  樣板引擎讓PHP應用程序可以做邏輯和使用接口上的分離,讓程序開發(fā)更容易進行,目前比較受歡迎的樣板引擎是PHP官方開發(fā)的Smarty。不過樣板引擎有效能上的爭議,因為PHP本身就是一個樣板引擎,使用樣板引擎反而變成“重新發(fā)明了輪子”(reinventing the wheel)。樣板引擎最主要的好處就是讓不懂PHP代碼的人也可以參與使用接口的開發(fā),因為樣板引擎的語言遠比PHP簡單。

  PHP 編譯器

  面書在2010年推出HipHop編譯器,HipHop以自由軟件授權協(xié)議發(fā)放。HipHop把PHP源代碼編譯成C++,以提高速度;根據(jù)面書的內(nèi)部測試,HipHop的性能比本來的PHP版本高,而CPU負載減少50%。

  未來發(fā)展

  PHP 6

  支持Unicode

  移除ereg擴展, 'register_globals', 'magic_quotes'和'safe_mode'; Alternative PHP Cache;Removal of mime_magic and rewrite of fileinfo() for better MIME support[31]

  var成為public的別名,在類中的var聲明變成了public。

  去除了register_long_array, PHP5默認是關閉的, PHP6則干脆移除。

【PHP語言的優(yōu)點及缺點】相關文章:

php語言的優(yōu)點和缺點03-18

關于php的優(yōu)點與缺點07-06

談談關于php的優(yōu)點與缺點04-15

PHP語言的優(yōu)缺點08-09

C語言的優(yōu)點和缺點02-01

C語言的優(yōu)點缺點是什么05-02

PHP的優(yōu)點07-20

PHP的缺點03-11

PHP的歷史和優(yōu)缺點02-10