php缺陷
A. php為什麼缺陷這么多卻應用這么廣泛
缺....陷?
能否舉個例子? 別說性能問題,這是解釋型語言。
B. 誰能詳細描述一下java 和php 的優缺點
php學起來簡單, 運營成本低, 但功能較弱, 性能不高, 一般很少做企業級應用 (當然php5出來之後有很大的改觀), 很多個人網站都用php, 也有一些大型網站用php, 據說網路的前台就是用php寫的
jsp學起來費力, 成本較高, 門檻也較高, 性能很好, 一般那些企業級應用使用, 比如網路銀行之類的, 但個人網站就很少有用jsp的了
至於那個更吃香, 你自己想想吧, 這兩個各有優劣, 不過我更傾向於jsp, 因為因為我覺得jsp更有挑戰性...我喜歡比較難的。
C. JAVA與PHP的優缺點
JAVA的優劣勢及前景
JAVA可以說是最熱門的的編程語言,對於很多高級語言來說,JAVA都是基礎;另外一個,JAVA是跨平台的,有多個方面的應用,如Android、Swing、J2EE、J2ME等。就業面比較廣,市場用人需求也大。java多開發大型系統,所以大型企業往往需要很多Java人才,這是其優勢。
不過,JAVA學習門檻比php高,需要學習的內容也多,掌握java技術,真正可能需要5個月以上。待遇相對來說比php也高些,有1年工作經驗月薪6000-8000元,3年工作經驗的可達到萬元月薪。
就前景來說,Java前景應該是比較光明的,一是Java穩定,應用廣泛,一定時期內很難被其他編程語言取代;而許多大型系統都是用java開發,也不可能輕易使用其他語言待遇,所以java的前景應該是穩定而光明的。
PHP的優勢和不足
PHP主要用來做網站開發,許多小型網站都用PHP開發,PHP是開源的,這是使得PHP經久不衰的原因。在電商、社區等方面,PHP具備非常成熟的開源代碼和模板,因此使得PHP應用極為廣泛。劣勢是受眾較小,有可替代性。
PHP堅持腳本語言為主,所以PHP入門比較簡單,經過3-4個月培訓即可學成,找工作起薪比Java要低,平均工資比java也要低些,不過有經驗的php程序員待遇較高,4、5年開發經驗的php工程師,工資可達1萬5,不過再提升就比較難,php的提升空間不如java。相對於其他編程語言來說,發展前景比較樂觀,但不如Java穩定。
D. PHP語言的優缺點有哪些
最大的優點有兩個,一是效率高,PHP寫的程序比多數語言都快;二是跨平台,可以支持LINUX和WINDOWS。
E. php的優勢和缺點
PHP主要用來做復網站開制發,許多小型網站都用PHP開發,PHP是開源的,這是使得PHP經久不衰的原因。在電商、社區等方面,PHP具備非常成熟的開源代碼和模板,因此使得PHP應用極為廣泛。劣勢是受眾較小,有可替代性。
PHP堅持腳本語言為主,所以PHP入門比較簡單,經過3-4個月培訓即可學成,找工作起薪比Java要低,平均工資比java也要低些,不過有經驗的php程序員待遇較高,4、5年開發經驗的php工程師,工資可達1萬5,不過再提升就比較難,php的提升空間不如java。相對於其他編程語言來說,發展前景比較樂觀,但不如Java穩定。
F. php和html網站的優點和缺點分別是什麼
HTML的網站是第一代的網站,只是靜態網站,現在已經沒有人會拿來用了,只有在做前台的時候會用到HTML代碼,其代碼也簡單,直接用記事本編寫就可以,沒什麼好說的。PHP呢 PHP
的優點 應用PHP有許多好處。當然已知的不利之處在於PHP由於是開放源碼項目,沒有什麼商業支持,並且由此而帶來的執行速
度緩慢(直到PHP4之前)。但是PHP的郵件列表很是有用而且除非你正在運行像Yahoo!或者Amazon.com這樣的極受歡迎的站點,你
不會感覺出PHP的速度與其他的有什麼不同。最起碼我就沒有感覺出來!好了,讓我們來看看PHP有那些優點: - 學習過程 與
Java和Perl不同,你不必把頭埋進100多頁的文檔中努力學習才可以寫出一個象樣的程序。只要了解一些基本的語法和語言特色,
你就可以開始你的PHP編碼之旅了。之後你在編碼過程中如果遇到了什麼麻煩,還可以再去翻閱相關文檔。 PHP的語法與C,
Perl,ASP或者JSP。對於那些對上述之一的語言較熟悉的人來說,PHP太簡單了。相反的,如果你對PHP了解較多,那麼你對於其
他幾種語言的學習都很簡單了。 你只需要30分鍾就可以將PHP的核心語言特點全部掌握,你可能已經非常了解HTML,甚至你已經
知道怎樣用編輯設計軟體或者手工來製作好看的WEB站點。由於PHP代碼能夠無障礙的添加進你的站點,在你設計和維護站點的同
時,你可以很輕松的加入PHP使得你的站點更加具有動態特性。 - 資料庫連接 PHP可以編譯成具有與許多資料庫相連接的函
數。PHP與MySQL是現在絕佳的組合。你還可以自己編寫外圍的函數取間接存取資料庫。通過這樣的途徑當你更換使用的資料庫
G. PHP5.0有什麼缺點
也許有經驗的PHP程序員最感到痛苦的地方是PHP的解釋運行機制。這種運行機制使得每個PHP頁面被解釋執行後,所有的相關資源都會被回收。也就是說,PHP在語言級別上沒有辦法讓某個對象常駐內存。在PHP中,所有的變數都是頁面級的,無論是全局變數,還是類的靜態成員,都會在頁面執行完畢後被清空。以JSP為例,在JSP中,Java Bean的scope有四種有效值:Page、Application、Session、Request,分別對應頁面、程序、會話、請求四種生存期。但在PHP中,只有Page一種生存期。
在PHP中,如果需要在頁面之間共享數據,需要手動將變數保存到預定義的全局變數$GLOBALS或$_SESSION中。PHP會將這些變數保存在某個文件中,以便下次執行頁面時讀取。但是,這種方式存在著極大的限制,除了效率的低下外,它還無法保存引用外部資源的變數,例如文件、Socket、資料庫連接等,而正是這些資源最需要被緩存。
這導致了許多高級的模式和技術無法使用。例如,即使是最簡單的Singleton模式也無法在PHP中被應用。雖然可以使用PHP寫出Singleton的代碼,但是由於PHP中沒有真正全局的static變數,所以每次頁面被執行時,都會重新建立新的對象,這樣也就完全失去了Singleton的意義。這也導致復雜的OR Mapping技術難以應用,因為沒有對象的緩存機制,OR Mapping的開銷已經使這種技術失去了意義。這又導致傳統的MVC架構在PHP中無法實現。
關於PHP的這一弊病和相關的解決技巧,在下文還會提到。
PHP其他一些為人垢病的地方包括:
缺乏對名字空間的支持。名字空間(namespace)是開發大型應用程序時非常有用的特性,它能夠代碼中的名字分配到不同的空間中,從而避免它們互相沖突。如果沒有名字空間,在使用第三方庫的時候,很容易遇到名字沖突的問題,即不同的類、介面、函數或全局變數使用了同樣的名字。C++/Java/C#等語言都支持名字空間。名字空間本來是PHP5開發計劃的一部分,但是由於這一特徵對性能造成了明顯的影響,最終在發布版中被取消了。因此,直到現在,PHP程序員們仍然不得不使用非常長的名字(諸如Canata_Util_ConvertHtml())來避免名字沖突。
缺乏對Unicode的支持。PHP5 仍然沒有添加對Unicode的內置支持,僅僅是增加了一些多位元組字元串(Multibyte String)處理函數,而這些函數需要在編譯時手工指定才能夠打開。據說Unicode將在PHP 6中得到完整的支持。
缺乏統一的命名規范。和Java不同,PHP沒有統一的命名規范。因此,PHP程序員隨心所欲地使用他願意使用的任何命名規范。象converttohtml()、ConvertToHtml()和convert_to_html()這樣的命名規范往往同時被使用。對於程序員自己來說,只要堅持使用一種命名規范,倒不是什麼太大的問題;但是如果需要用到第三方庫的時候,這種經驗就不那麼令人愉快了。
缺乏標准框架。到目前為止,PHP社區沒有出現一套統一的、完整的Web開發框架,象Struts或Ruby on Rails那樣。PHP程序員只有可復用的函數和類。這也許要部分地歸因於PHP本身的特性,由於它無法實現有效的緩存機制,因此也無法構建傳統的MVC框架。
H. php有什麼缺陷 為什麼要用swoole
因為Swoole開源項目復就是為制了彌補PHP在這些方面的缺陷誕生的。與WordPress這些產品不同,swoole實際上是一個網路通信和非同步io的引擎,一個基礎庫。
swoole框架相比apache/fpm,主要節省PHP框架和全局對象每次請求創建銷毀帶來的性能損耗。
swoole框架給程序員提供了最大的空間,與http請求無關的全局對象只需要構造一次。程序中還可以對某些對象和數據進行緩存控制,希望能幫到你,我還要抓緊時間自己在後盾人平台自己學習呢,一起加油吧٩(๑òωó๑)۶
I. asp與php的優缺點
PHP比ASP更優秀:
1、速度、速度、速度
當我第一次運行PHP腳本程序時,我不禁對自己說:「太快了」,當時我是在儀態166MHZ的機器上運行我的程序的,但運行的速度仍然很快。
ASP是永遠也不會象PHP這樣快的,因為ASP是建立在COM體系結構之上的。當用VBScript寫ASP腳本時,實際上實在使用COM的對象,當向用戶瀏覽器發送信息時,它用的是Response對象的write方法,當它訪問資料庫和文件系統的時候,它用的是其他的COM對象。這些COM對象的使用使運行速度下降。
在PHP代碼中,所有的工作都運行在PHP的內存空間中,也就是說PHP不是基於COM對象的,所以的他的運行速度會快一些。
下面是我們在MSSQL740次運行一個查詢語句的執行時間統計:
PHP Querying MSSQL7 時間(秒)
用 MSSQL extension 01.88
用 ODBC extension 09.54
用 ODBC via COM (ADO) 17.28
用OLEDB via COM 06.19
當我們使用PHP.ODBC,訪問資料庫用了9.54秒,而用COM介面去連接資料庫需要比PHP所用的時間高80%。
OLEDB是微軟的一種高速訪問資料庫的技術,他比ODBC要快。但當我們所PHP和OLEDB的效率實驗時,結果是PHP的整體性能比OLEDB高200%,如此的出一個結論,如果不採用COM可以獲得較快的執行速度。
當然PHP的執行速度還不是最快的,但我們才剛剛開始起步,我們會逐步的完善他,而且PHP是一種開放源代碼編程語言,世界上許多程序員在不斷的完善他的技術,相信他一定會比非開放源代碼系統獲得更高的執行速度的。
2、高級內存管理
在IIS4下,一個ASP腳本header.asp,如果被20個頁面所包含,那麼運行的時候,在內存當中會保留這20個header.asp的編譯副本,IIS5解決了這個問題,但只有windows2000才支持IIS5,由於這種IIS5的不能向下兼容的原因,許多伺服器仍然要使用IIS4下的低級的內存管理。
而在PHP中,不會存在這種問題,只有當require時,才會調用某個include文件。
3、沒有後顧之憂
我非常憎恨的一件事情就是會買到一件不放心的產品,比如當你買了一輛汽車,但由於發動機是壞的,你需要更換他;當你買了一棟房子的時候,你要去修補漏雨的屋頂。
那麼ASP舊鄉這些產品一樣,當你買了ASP之後,如果你需要加密技術,你就要買ASPEncrypt;當你需要Email管理時,你就要買ServerObjets Qmail;當你需要文件上傳時,你還要買Artisans SA-FileUp.
4、MySQL使PHP更精彩
PHP與MySQL的組合既簡單又精彩。PHP有許多管理和維護MySQL的工具,對MySQk的支持是最全面的。許多有用的函數如mysql_insert_id和mysql_affected_rows等,其他的資料庫則沒有。
ASP和PHP都是中型網站的較理想的解決方案,但PHP與MySQL的緊密結合使PHP更加優越。
MySQL的虛度比Microsoft Access速度快,Mssql和Oracle速度比MySQL要快,可是費用較高。
5、Java和C++的變成風格
這個優點只是一個看法。
我知道你不會相信一個Visual Basic程序員會因為PHP有Java和C++的編程風格而轉向使用PHP,但你會相信有許多人還是喜歡Java和C++的,PHP是一種具有這兩種語言的編程風格的較容易學習的語言。
PHP支持結構化編程,在VB因為他的繼承性使用類還是較少的。而PHP的象Java和C++一樣的繼承性使一個大型的程序中到處都充滿了類的影子。
6、Bug的處理。
你是否曾經要求Microsoft修改ASP的一些Bug呢?如果你不是一個象Boeing一樣的組織,你無法獲得迅速而恰當的修改,把么當你遇到Bug而停止工作時,如果這個Bug不修改,你將無法繼續你的工作的。
PHP,當你發現Bug時,你可以修改他,如果你沒有專家的水平,你可以請專家修改,並且你的修改會得到開放代碼組織的接受和認可。
7、移植性
Microsoft經常修改ASP,下一版本叫ASP+,現在已經開始測試。我相信他們會修改許多我曾經提到過的問題。但也無庸質疑的,Microsoft會將你限制在他們的產品范圍之內的。
我曾經是一個蘋果機的程序員,當windows95問世後,我開始轉變,但許多原來的代碼都無法在windows95下運行,這些代碼現在被放在一邊,我非常的遺憾。所以我不希望在windows下再出現這樣的悲劇。
不要忘記Novell曾經也象Microsoft的網路操作系統一樣熱及一時,但現在已經沒有許多人用了,那麼Microsoft也會這樣的。
我找到了PHP,我仍舊在windows下工作,但我知道PHP代碼可以運行在Solaris、Linux和許多其他的操作系統中,我的心裡感到安慰。