欧美日韩不卡一区二区三区,www.蜜臀.com,高清国产一区二区三区四区五区,欧美日韩三级视频,欧美性综合,精品国产91久久久久久,99a精品视频在线观看

php語(yǔ)言

PHP語(yǔ)言的優(yōu)點(diǎn)及缺點(diǎn)

時(shí)間:2025-01-29 08:53:40 php語(yǔ)言 我要投稿

PHP語(yǔ)言的優(yōu)點(diǎn)及缺點(diǎn)

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

  優(yōu)點(diǎn)

  1.入門快,有其它語(yǔ)言基礎(chǔ)的程序員二周左右的時(shí)間就可以入門,一個(gè)月左右的時(shí)間基本上就可以開發(fā)簡(jiǎn)單的項(xiàng)目了。

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

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

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

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

  缺點(diǎn)

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

  2.對(duì)面向?qū)ο蟮闹С忠膊惶,相?duì)來(lái)說(shuō)PHP5的面向?qū)ο笥辛瞬簧俚奶嵘?/p>

  3.編碼規(guī)范不太統(tǒng)一,如刪除用戶,有的人用_user,而有的人可能用User,如果不提前制定編碼規(guī)范,這種情況可能會(huì)經(jīng)常發(fā)生,因?yàn)槊總(gè)人都有自己的編碼習(xí)慣。

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

  【相關(guān)閱讀】PHP語(yǔ)言簡(jiǎn)介

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

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

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

  開發(fā)歷史

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

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

  在2000年5月22日,以Zend Engine 1.0為基礎(chǔ)的PHP 4正式釋出,2004年7月13日則釋出了PHP 5,PHP 5則使用了第二代的Zend Engine。PHP包含了許多新特色,像是強(qiáng)化的面向?qū)ο蠊δ、引入PDO(PHP Data Objects,一個(gè)訪問(wèn)數(shù)據(jù)庫(kù)的延伸庫(kù))、以及許多效能上的增強(qiáng)。目前PHP 4已經(jīng)不會(huì)繼續(xù)更新,以鼓勵(lì)用戶轉(zhuǎn)移到PHP 5。

  2008年P(guān)HP 5成為了PHP唯一維護(hù)中的穩(wěn)定版本。將來(lái)的PHP 5.3將會(huì)加入Late static binding和一些其他的功能強(qiáng)化。

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

  應(yīng)用

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

  安全

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

  語(yǔ)法

  PHP的語(yǔ)法參考了Perl、C語(yǔ)言,而且可以集成在HTML之中,以下是一個(gè)簡(jiǎn)單的Hello World程序:

  echo 'Hello World!';

  ?>

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

  //-PHP程式碼

  ?>

  html內(nèi)容

  //-PHP程式碼

  ?>

  在HTML中嵌入PHP時(shí),比如需要單獨(dú)輸出某個(gè)變量,除了正常采用echo語(yǔ)句外,可以直接采用

  但是在判斷語(yǔ)句中的HTML代碼并不會(huì)被直接提交:

  if (false) {

  ?>

  HTML Code

  }

  ?>

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

  類型

  PHP主要有以下四種標(biāo)量類型:

  整型(integer)

  浮點(diǎn)型(float)

  布爾型(boolean)

  字符串(string)

  兩種復(fù)合類型:

  數(shù)組(array)

  對(duì)象(object)

  兩種特殊類型

  NULL

  資源(resource)

  變量

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

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

  面向?qū)ο?/strong>

  PHP從PHP 3開始有了基本的面向?qū)ο?Object oriented)的特性,但直到PHP 5將面向?qū)ο蟛糠葜匦赂膶懼,PHP的面向?qū)ο蠊δ懿疟容^完善。現(xiàn)在PHP可以說(shuō)是一個(gè)有完整面向?qū)ο蠊δ艿恼Z(yǔ)言。

  庫(kù)

  主條目:PHP庫(kù)列表

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

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

  源代碼編碼和加速

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

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

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

  樣板引擎

  樣板引擎讓PHP應(yīng)用程序可以做邏輯和使用接口上的分離,讓程序開發(fā)更容易進(jìn)行,目前比較受歡迎的樣板引擎是PHP官方開發(fā)的Smarty。不過(guò)樣板引擎有效能上的爭(zhēng)議,因?yàn)镻HP本身就是一個(gè)樣板引擎,使用樣板引擎反而變成“重新發(fā)明了輪子”(reinventing the wheel)。樣板引擎最主要的好處就是讓不懂PHP代碼的人也可以參與使用接口的開發(fā),因?yàn)闃影逡娴恼Z(yǔ)言遠(yuǎn)比PHP簡(jiǎn)單。

  PHP 編譯器

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

  未來(lái)發(fā)展

  PHP 6

  支持Unicode

  移除ereg擴(kuò)展, '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默認(rèn)是關(guān)閉的, PHP6則干脆移除。

【PHP語(yǔ)言的優(yōu)點(diǎn)及缺點(diǎn)】相關(guān)文章:

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

關(guān)于php的優(yōu)點(diǎn)與缺點(diǎn)07-06

談?wù)勱P(guān)于php的優(yōu)點(diǎn)與缺點(diǎn)04-15

PHP語(yǔ)言的優(yōu)缺點(diǎn)08-09

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

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

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

PHP的缺點(diǎn)03-11

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