php語言是最好的語言
㈠ 為什麼說php是世界上最好的語言
㈡ php是世界上最好的語言
PHP是世界上最好的語言。這是網路上廣泛流傳的一個梗,並不是說PHP就真的是編程最好的語言,其實每款編程語言都有自身的優勢以及所專長的領域,並不能簡單地說PHP就是最好的編程語言,這多少有點調侃的成分。
PHP優點
(一)流行,容易上手
PHP是目前最流行的編程語言,這毋庸置疑。它驅動全球超過2億多個網站,有全球超過81.7%的公共網站在伺服器端採用PHP。PHP常用的數據結構都內置了,使用起來方便簡單,也一點都不復雜,表達能力相當靈活。
(二)開發職位很多
在伺服器端的網站編程中PHP會更容易幫助你找到工作。很多互聯網相關企業都在使用PHP開發框架,所以可以說市場對PHP的開發程序員的需求還是比較大的。
(三)仍然在不斷發展
PHP在不斷兼容著類似closures和命名空間等技術,同時兼顧性能和當下流行的框架。版本是7之後,一直在提供更高性能的應用。
(四)可植入性強
PHP 語言在補丁漏洞升級過程中,核心部分植入簡單易行,且速度快。
(五)拓展性強
PHP 語言在資料庫應用過程中,可以從資料庫調取各類數據,執行效率高。
PHP缺點
(一)PHP的解釋運行機制
在 PHP 中,所有的變數都是頁面級的,無論是全局變數, 還是類的靜態成員,都會在頁面執行完畢後被清空。
(二)設計缺陷,缺少關注PHP被稱作是不透明的語言,因為沒有堆棧追蹤,各種脆弱的輸入。沒有一個明確的設計哲學。早期的PHP受到Perl的影響,帶有out參數的標准庫又是有C語言引入,面向對象的部分又是從C++和java學來的。
(三)對遞歸的不良支持
PHP並不擅長遞歸。它能容忍的遞歸函數的數量限制和其他語言比起來明顯少。
這句話的產生,雖然帶有一定php碼農個人感情色彩的偏見,但是未嘗沒有道理。首先,PHP的使用率遠遠高於其他語言的使用率,在web開發中佔有很大份額。
同時PHP作為一種通用開源語言,因其語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛。具有簡單易懂的語法、沒有奇怪的黑魔法、既能面向過程,又能面向對象、安裝後各種擴展集一身、包括但不限於mysql、json、mbstr等,方便至極。
在這種情況下,PHP就被戲稱為「世上最好的語言」,當然它也不負眾望,成了大部分IT碼農的首選。它的門檻低,使得更多新手小白入門快,能快速了解IT這行,以及自己的工作性質。語法簡單,很快融入其中,被成為「弱類型語言」。
現在很多重量級的開源項目都會使用PHP語言,企業開發上也越來越支持使用PHP。它成熟的框架,大大縮短開發周期,在加上成本低,導致了市場需求大。
(2)php語言是最好的語言擴展閱讀
主要參考框架
(一)CodeIgniter的優點
1、配置簡單,全部的配置使用 PHP腳本來配置,執行效率高;具有基本的路由功能,能夠進行一定程度的路由;具有初步的Layout功能,能夠製作一定程度的界面外觀;資料庫層封裝的不錯,具有基本的MVC功能。
2、快速簡潔,代碼不多,執行性能高,PHP框架簡單, 容易上手,學習成本低,文檔詳細;自帶了很多簡單好用的library,框架適合小型應用。
(二)CodeIgniter 缺點
1、把Model層簡單的理解為資料庫操作。
2、PHP 框架略顯簡單,只能夠滿足小型應用,略微不太能夠滿足中型應用需要。
(三)CakePHP 的優點
1、CakePHP 是最類似於RoR的 PHP 框架,包括設計方式,資料庫操作的Active Record方式;設計層面很優雅,沒有自帶多餘的 library,所有的功能都是純粹的框架,執行效率還不錯;資料庫層的hasOne,hasMany 功能很強大,對於復雜業務處理比較合適;路由功能,配置功能還不錯;自動構建腳手架(scaffold)很強大;適合中型應用;基本實現過了MVC每一層; 具有自動操作命令行腳本功能。
2、文檔比較全,在國內推廣的比較成功,大部分人都知道CakePHP,學習成本中等。
(四)CakePHP 的缺點
1、CakePHP非常嚴重的問題是把Model理解為資料庫層操作,嚴重影響了除了資料庫之外的操作能力
2、CakePHP的cache功能略顯薄弱,配置功能稍嫌弱;CakePHP不適合大型應用,只適合中型應用,小型應用來說略微的學習成本高了點。
參考資料來源:網路-PHP
㈢ php鏄涓嶆槸鏈濂界殑緙栫▼璇璦
鏄鐨
PHP鏄鏈濂界殑緙栫▼璇璦錛屼笉瑕佸啀鎬鐤戜簡鈫抇鈫
㈣ PHP為什麼說是最好的編程語言
嘗試網路」PHP是最好的語言」,發現指向較多的是那個關於程序員的笑話。 但是如果這個梗來自於這個笑話的話,那麼為什麼在笑話里這個程序員不說C++/python/haskell或者別的什麼語言是最好的而要說PHP是最好的呢?所以感覺似乎最早的出處不在於此。 有人知道嗎?
來看看知乎網友們是怎麼看待這場語言之爭的吧!
網友回答
網友A
「為什麼在笑話里這個程序員不說 C++ / Python / Haskell 或者別的什麼語言是最好的而要說 PHP是最好的呢?」——因為說任何其他語言「最好」都並不好笑啊。
任何掌握超過兩種以上非 PHP 編程語言且具有一定常識的程序員都會本能地意識到 PHP 的問題所在,曾經有一篇匯總性的文章在此: PHP: a fractal of bad design / fuzzy notepad (譯文版可見:五大受損, 全面解析PHP的糟糕設計,但翻譯得很爛),歷陳 PHP 破敗之處,激盪深遠。如果你沒時間去讀那篇長文,那我告訴你一個簡單的例子來說明 PHP 有多匪夷所思:PHP 的核心函數命名很不一致,有 「strptime」這樣類 C 函數的名字,有「nl2br」這樣的簡寫,卻也有「htmlspecialchars」這樣的長名。後來人們發現這種不一致並非偶然,而是當 PHP 還是只有不到一百個函數的小語言的時候,其作者決定用函數名的字元數量——來作為函數的 hash(!)。由於這個愚不可及的決定,PHP 的函數名長度要盡可能地長短有秩、均勻分布,影響一直延續至今。甚至有好事者將上述文中:
You pull out the hammer, but to your dismay, it has the claw part on both sides.這一句嚴肅對待,做了一把 PHP 錘子:
試想你走進五金從業者公會的啤酒館,看到牆上掛著從釘子到電動螺絲刀的各式工具當作陳列品,而你在端詳一陣之後指著其中的這樣一把錘子,說「啊,這是最好的工具」,你覺得酒館里的人會是什麼反應呢?
網友B
因為php和最好的語言幾乎沒有關系。。一般用來諷刺一些沒見過世面,把自己歸屬於某一種編程語言的語言教徒。
事實上每一門語言都有其設計的靈魂,有它的取捨。很難說什麼是最好的。比起做個腦殘粉總是鼓吹自己擅長的語言,不如多學幾門語言,開闊視野。
我們都喜歡分享自己的價值觀。希望被認可,希望有更多同伴。其實這也是在給身邊的人洗腦,這很正常。但有時候自己在某一領域的付出會成為枷鎖。
網友C
Windows 是最好的操作系統!
以上為純吐槽。
我看樓上還有很多還在討論PHP不是最好的語言,還好我不是程序員,只是稍微懂一點代碼,我認為之所以說這個梗,是因為PHP最普及和最流行,大多數不管懂不懂程序都知道或聽說過,所以才能引起共鳴。這就是我上面那句吐槽的含義。
如果上面那句吐槽改為:Ubuntu 是最好的操作系統!(圍觀群眾:What?)
網友D
難道不是這么來的?某女:你能讓這個論壇的人都吵起來,我今晚就跟你走.
某軟體工程師:PHP是最好的語言!
某論壇炸鍋了,各種吵架…
某女:服了你了,我們走吧 你想幹啥都行.
某軟體工程師:今天不行,我一定要說服他們,PHP必須是最好的語言
某女:…….
網友E
編程語言之爭由來已久,
但是php和java確實是最受爭議的。
自從web2.0熱起來後,java逐漸淡出了。
究其原因並不在於語言本身,
而在於用語言的人。
因為php確實簡單,門檻最低,
所以很多並不適合編程的人涌了進來,僅僅為了糊口罷了。
這些人的各種無敵言論自然讓很多專業的人呲之以鼻。
天龍八部里有個星宿派,
雖然在施毒方面有些特長,但門下弟子總的來說武藝平平,
其實江湖武功低微的人多的是,低調便是了,誰又老是盯著你呢?
然而這個新宿派卻偏偏跑出去招搖過市,胡吹本門派武功蓋世,大有傲視天下之勢,
那麼其他門派的人會怎麼看他們呢?
php就是語言江湖的星宿派。
網友F
對我來說PHP 就是最好的語言。它不是炫耀技巧、扯蛋概念的東西。完成任務才是程序員要做的事。沒什麼語言可以高效開發同時高效運行。
相關利益:寫PHP17年。
網友G
作為一個十多年老phper,看到這句話,也會笑。雖然我也會c c++ java go ,並都做有相應產品。 世界上一半以上的網站是php, bat, fb,處處有它。但這些大公司在近些年,都在試圖改造它。淘寶去php改java,網路重寫擴展,fb搞xhp等等。但結局是搞了這么些,這幾大公司卻收效甚微。比之前的性能提升不了太多。在我理解看來,無非是想提高一下b格而已。
在php的初始階段,php是連框架也沒有的。直到今天,php創始人lerdorf仍然反對mvc,因為他覺得影響了性能。在那個年代,同樣的一個應用,做java的待遇比php高一倍。因為php簡單。如果跟你說一個人花了一個星期用php寫了個論壇,跑得也還蠻好,你一點也不要驚訝,後來這個論壇還賣給了阿里。面向過程的php,成就了無數小的站點。
後來是一個框架輩出的階段,phper們終於也有了跟java一樣的mvc,待遇也慢慢接近於java了。大家明白了一件事,大項目,得有點高深的學術內涵才能忽悠的住。opp也更加規范了,你能找到的設計模式,php全都有,於是phper放言:你還敢說php不高級, 不入流? 而實際上,設計模式,真正能用到的就那麼一兩個。對於解析性語言,我只能,呵呵。
歸結一下,php,我覺得更像屌絲逆襲。 然後,笑的人有兩種,一種是屌絲的自嘲,另一種是高富帥的妒忌。
網友H
先說一下php的優點:
跟py相比,它不需要django之類的庫,原生就支持web。小白們不需要配置什麼東西,門檻就低了。而且php的語法是類C的,函數命名大部分也是類C的,大部分碼農在學校或多或少都學過C/C++,接觸php肯定要比py順手。
跟java相比,支持php的主機顯然更多。雲主機興起之前,是個虛擬主機都是lamp,都支持php。而虛擬主機是最便宜的解決方案,也就是說隨便租個虛擬主機就能跑php的網站,成本就低了。
我個人認為沒有什麼最好的語言,只有最合適的語言。php之所以在web2.0的時代異軍突起,擊敗了py,原因跟php坑不坑沒有關系,跟契機有關系,跟他在那個環境下合不合適有關系。把php的流行歸功於什麼最好的語言簡直是胡扯,也是沒動腦子。
網友H
大部分敢於說自己是最好的語言的語言,至少有一部分人是真這么認為的。
比如說C語言最好的,最差最差也有一部分C語言核心開發者有信心這么說。
但是PHP語言是一個連開發者都不敢『聲稱是最好的語言』的語言。
這是不言自明的公設,不需要證明。
小圈子有個笑話。
會不會用PHP是有一個明確判斷標準的:
只有覺得PHP是個爛語言,才有資格說「我會PHP」。
如果你連PHP有多爛都感覺不出來,請別說「我會PHP」「我會編程」。
網友J
因為php算不上一種語言。就好像說「射釘器是世界上最好的武器」一樣。
㈤ php鏄涓栫晫涓婃渶濂界殑璇璦
php涓嶆槸涓栫晫涓婃渶濂界殑璇璦錛岃繖鍙ヨ瘽鏄涓涓姊椼傛槸鐢ㄦ潵鍢茶界▼搴忓憳鎶鏈杈冨樊錛屾瘮杈冨垵綰э紝鎴栬呭彧鍠勪簬鍋氶敭鐩樹緺錛岃屾病鏈夌湡鏈浜嬨
PHP璇嶈鏉ユ簮錛氬洜涓篜HP涓婃墜姣旇緝綆鍗曪紝鎷ヨ陡浼楀氾紝鍙堟槸鏃╂湡浜掕仈緗戠殑閲嶈佹湇鍔$璇璦銆傛墍浠ュ湪鍚勪釜紺句氦騫沖彴涓婃椂甯歌兘瑙佸埌璁ㄨ猴紝鐢氳嚦鍚規崸PHP鐨勬枃絝犮傚叾涓闅懼厤鏈夋妧鏈杈冨樊錛屾垨璁ょ煡涓嶅埌浣嶇殑鍒濈駭紼嬪簭鍛樸傚洜姝よ粹淧HP鏄鏈濂界殑璇璦鈥濅究鎴愪簡涓鍙ュ弽璁界殑絎戣皥銆
鎵╁睍璧勬枡
php浼樼偣錛
1銆佹祦琛岋紝瀹規槗涓婃墜
PHP椹卞姩鍏ㄧ悆瓚呰繃2浜垮氫釜緗戠珯錛屾湁鍏ㄧ悆瓚呰繃81.7%鐨勫叕鍏辯綉絝欏湪鏈嶅姟鍣ㄧ閲囩敤PHP銆侾HP甯哥敤鐨勬暟鎹緇撴瀯閮藉唴緗浜嗭紝浣跨敤璧鋒潵鏂逛究綆鍗曪紝涔熶竴鐐歸兘涓嶅嶆潅錛岃〃杈捐兘鍔涚浉褰撶伒媧匯
2銆佷粛鐒跺湪涓嶆柇鍙戝睍
PHP鍦ㄤ笉鏂鍏煎圭潃綾諱技closures鍜屽懡鍚嶇┖闂寸瓑鎶鏈錛屽悓鏃跺吋欏炬ц兘鍜屽綋涓嬫祦琛岀殑妗嗘灦銆傜増鏈鏄7涔嬪悗錛屼竴鐩村湪鎻愪緵鏇撮珮鎬ц兘鐨勫簲鐢ㄣ
鍙傝冭祫鏂欐潵婧愶細鐧懼害鐧劇-PHP
鍙傝冭祫鏂欐潵婧愶細鐧懼害鐧劇-PHP鏄鏈濂界殑璇璦
㈥ 為什麼說PHP是世界上最好的語言
部署簡單
很多其他行業的公司,希望有一個網站,他們並沒有多少預算在網站上,可能只是隨便買了一個虛擬主機,這時恐怕最好的選擇就是 PHP 了。支持 Ruby, Python 之類的語言的虛擬主機很少,ASP 需要 Windows 的伺服器,只有 PHP 可以運行在任何一家虛擬主機上。
學習門檻低
一開始 PHP 是專為 Web 設計的語言(雖然現在已經在向通用編程語言靠攏了), 學習和使用門檻很低,建一個 .php 文件就是網頁,用 $_GET['XXOO'] 就可以獲取到 GET 參數。而其他通用編程語言,原生並不支持這些與 HTTP 協議相關的功能,這時就需要選擇並學習一款 HTTP 框架才能編寫 Web 應用,例如 Tornado(Python), Ruby on Rails 等。
語法簡單
PHP 一開始是弱類型的(現在只是不那麼弱了而已,還算不上強類型),幾乎不需要考慮類型轉換的事情,甚至在一開始很長的一段時間里,都沒有支持面向對象。PHP 可以非常簡單地從資料庫中存取數據,而一半的網站也無非是從資料庫中讀寫數據。
因為 PHP 是以 CGI 或 FastCGI 的形式運行的,因此也不必考慮內存管理的問題,反正每次請求後,內存都會被釋放。
PHP 的錯誤處理機制也很簡單——如果出錯就在頁面上列印錯誤信息。想要關閉錯誤提示也同樣簡單。
很多重量級的開源項目
如 WordPress(博客), Typecho(博客), Drupal(CMS), MediaWiki(WIKI), DiscuzX(論壇) 等等,可以說想要不折騰地部署一個網站 PHP 就是最佳選擇。
經過了歷史考驗
PHP 畢竟也算是老牌 Web 編程語言了,能踩的坑已經被前輩踩過了,大量的庫可以重用,要招會 PHP 的開發人員也很容易,而 Node.js, Golang 等等新語言則會遇到技術儲備,人才儲備方面的問題。而 Python, Ruby 也不要高興得太早——雖然你們很早就被發明出來了,但那時候還沒多少人搞 Web 開發。