為什么說PHP是個(gè)貧民區(qū)
有一天我跟在DUMBO的一個(gè)非常棒的創(chuàng)業(yè)公司的老板聊天,談到為什么非PHP界的開發(fā)人員普遍輕視PHP和PHP相關(guān)社區(qū)。他提出了一個(gè)觀點(diǎn)讓我印象很深,很大程度上是因?yàn)橐郧皬膩頉]有聽到過這樣的說法。
如果你不知道大多數(shù)的程序員都會(huì)對(duì)PHP發(fā)什么樣的牢騷,那么,這些牢騷差不多會(huì)像這樣:
語法丑陋
缺乏其它語言都有的一些必要的特征(在5.3版本之前,沒有命名空間、閉包)
不一致的函數(shù)命名、使用慣例,以及其它一些怪異的東西
過程和面向?qū)ο蟮碾s混
基本上80-90%的PHP項(xiàng)目都爛如一堆狗屎
但他所說的PHP的問題卻是另外一個(gè)問題。他并沒有說這種語言有問題——他認(rèn)為這種語言被一種常見的文化現(xiàn)象包圍著,是一種通常由語言的創(chuàng)造者造就的文化傳統(tǒng),現(xiàn)在看來這對(duì)一些糟糕的編程實(shí)踐方法起到了鼓勵(lì)作用。也就是它使PHP代碼變的劣質(zhì)和不可維護(hù)。
這種一個(gè)語言或框架上體現(xiàn)出創(chuàng)始人的哲學(xué)思想并被相關(guān)社區(qū)推崇的現(xiàn)象是的確存在的。他拿出來Ruby和其創(chuàng)始人Matz作為例子。Matz想要的是一種易讀易寫、能提高程序員工作效率的語言。沒看見Ruby開發(fā)人員們言之必稱快速開發(fā)以及這種語言的優(yōu)雅?
接著就是DHH 和他的Rails框架。還有Guido和他的Python語言。于是我在想:Rasmus對(duì)于PHP呢?
Rasmus Lerdorf給人的印象非常的有趣。他創(chuàng)建了**初版的PHP語言,而且一直在改進(jìn)這種語言,他在PHP社區(qū)里被當(dāng)作神一樣崇拜,他在PHP的任何方面都享有** 大的權(quán) 威。他被眾多的會(huì)議邀請(qǐng)去做演講,同時(shí)被大網(wǎng)絡(luò)公司所雇用,他獲得了所有人的尊敬——盡管有這樣一種事實(shí):他成了大多數(shù)的非PHP程序員所鄙視的PHP上的眾多問題的形象代表。
Rasmus倡導(dǎo)避免使用框架,而把PHP更多的當(dāng)作一種模板語言。對(duì)他來說,這種做法能產(chǎn)生直接的運(yùn)行效率和可擴(kuò)展性(程序負(fù)載可知)。而對(duì) 于其他的所有人來說,這種做法導(dǎo)致了大量的亂燉似的過程式代碼,大量的無法維護(hù)的項(xiàng)目。自從1995年P(guān)HP誕生至今大概10年左右的時(shí)間里,所有的 PHP項(xiàng)目都是按照這種指導(dǎo)寫成的。
與此同時(shí)另外一個(gè)問題突然的出現(xiàn)了:在PHP5.0之前,PHP的初期,PHP獲得了大量的新手的追隨。這種語言的入門門檻出奇的低,任何人都 可以下 載自解壓的×AMP Windows程序安裝包、在2兩分鐘內(nèi)用上這種語言。除此之外,那時(shí)在Web開發(fā)方式上對(duì)MVC模式的共識(shí)并沒有真正的出現(xiàn)。這樣一來你可以想象,一群 新手和一個(gè)缺乏好的開發(fā)實(shí)踐方法的語言組合到一起能創(chuàng)造出什么?一堆無法維護(hù)的垃圾。而且整個(gè)大環(huán)境都是這樣。
不要誤解我的話——優(yōu)秀的PHP開發(fā)者還是不少的,即使是當(dāng)時(shí)。但是,就像我說的,粗制濫造的菜鳥作品到處都是。當(dāng)牛仔式無羈的PHP程序員在 沒有指導(dǎo)原則的情況下聚集到一起開發(fā)程序,于是像PHPbb、 PHPNuke以及很多的粗糙的.php3程序包就出現(xiàn)了。但是你能單純的責(zé)怪PHP開發(fā)人員嗎?不能!其它的Web語言巨人,ASP和Perl,同樣惡 名遠(yuǎn)揚(yáng),同樣宣傳著一種亂燉式的開發(fā)方式。
所以這就是為什么PHP會(huì)得到這樣的罵名。是因?yàn)樗臍v史流傳。大多數(shù)已經(jīng)轉(zhuǎn)向Python,Ruby和Java的PHP開發(fā)人員并沒有在 MVC概念興起時(shí)回頭去重新思考這種語言。此外,更有一些像”Ruby公子“Zed Shaw抱怨一些程序員的思想”受PHP毒害“這樣的露骨的諷刺,像這樣的言論在RubyInside上很盛行。
PHP是個(gè)貧民區(qū)(ghetto)
但像Zend和CodeIgniter這樣的框架的出現(xiàn)把這種語言推向了正確的開發(fā)方向上。事實(shí)上,它把PHP推向了與Rasmus所希望看到 的相反的方向上了。查看一下Zend和CodeIgniter框架,你會(huì)發(fā)現(xiàn)它們是為數(shù)不多的文檔寫的很好,代碼寫的很好的程序。
大多數(shù)學(xué)習(xí)了Ruby的開發(fā)人員同時(shí)都要學(xué)習(xí)Rails和MVC知識(shí);PHP在此之前已經(jīng)被使用了整整10年。對(duì)于那些新手來說,可惡的 Ruby沒有給他們這段時(shí)間讓他們自由發(fā)揮。Rails有現(xiàn)成的標(biāo)準(zhǔn)指導(dǎo),它的入門門檻相對(duì)高很多,通常會(huì)把一些缺少經(jīng)驗(yàn)的開發(fā)人員擋在門外。
事實(shí)上,PHP應(yīng)用程序是可以向其它種語言那樣寫的很好,而且還會(huì)具有一定的運(yùn)行速度上的優(yōu)勢(shì)。PHP世界里的MVC風(fēng)格的開發(fā)方法興起只是在近幾年才出現(xiàn)的現(xiàn)象。不得不承認(rèn),我們應(yīng)該感謝Rails帶來的這種變化。
那么,PHP如今是個(gè)什么樣呢?
各種標(biāo)準(zhǔn)(非統(tǒng)一,但大多數(shù)項(xiàng)目使用MVC,很少有垃圾般的過程式程序)
很低的入門門檻
速度和可擴(kuò)展性(在各種腳本語言里PHP應(yīng)該是** 好的)
有一個(gè)好的單元測(cè)試框架
有** 好的各國語言翻譯的文檔
除此之外,互聯(lián)網(wǎng)上大多數(shù)有影響的網(wǎng)站都使用PHP作為它們后臺(tái)的語言或工具,諸如Facebook、Digg、維基百科、Wordpress、Drupal等等。我相信,對(duì)PHP有一個(gè)深入的掌握會(huì)使一個(gè)程序員打開更多的未知領(lǐng)域的大門。
如果你不贊同上面所說的,請(qǐng)留下評(píng)論,或email給我——我想聽聽你為什么不這么認(rèn)為。
事實(shí)上,我并不是一個(gè)PHP迷,我對(duì)語言沒有感覺。我使用PHP大多是因?yàn)椤悴碌搅恕腥嗽敢飧跺X給我。所以一切歸咎于此:
如果你希望在軟件設(shè)計(jì)上做出明智的決定,PHP是你開發(fā)Web應(yīng)用程序的** 佳選擇。
順便說一下,如果你確信要使用PHP來開發(fā)下一個(gè)Web應(yīng)用,請(qǐng)?jiān)囈辉嘋odeIgniter。它是一個(gè)輕量級(jí)的、普通的、超級(jí)快的PHP框架。對(duì)于CodeIgniter,我是個(gè)粉絲。
專注PHP課程研發(fā)與教學(xué)11年
每年P(guān)HP視頻教程受益學(xué)員高達(dá)十幾萬
-
100000 學(xué)員成功蛻變
-
450個(gè)超含金量課時(shí)
-
每180天課程升級(jí)
-
50000書記教材銷量
-
兄弟連十年級(jí)PHP大牛講師領(lǐng)路 、可迅速提升學(xué)員獨(dú)立開發(fā)能力
-
帶領(lǐng)學(xué)員利用PHP過程化編寫方式、快速進(jìn)入Web開發(fā)領(lǐng)域
-
兄弟連高端PHP課程技術(shù)點(diǎn)完全 、采用編碼規(guī)范,使學(xué)員熟練應(yīng)用
-
深入剖析網(wǎng)站需求分析 、講解數(shù)據(jù)庫模式、使用和設(shè)計(jì)流程
-
11年研磨,零基礎(chǔ)**學(xué) 、入門易上手快,學(xué)習(xí)周期短
-
適合開發(fā)論壇、SNS 、企業(yè)門戶網(wǎng)站項(xiàng)目的開發(fā)
趙帥 兄弟連教育總監(jiān)級(jí)講師
他是php行業(yè)中技術(shù)能力強(qiáng)還會(huì)說相聲會(huì)唱歌的偶像男神。認(rèn)真做教育授之以漁是教學(xué)理念,真誠熱情是教學(xué)態(tài)度,幽默猥瑣有激情是教學(xué)方式!曾在多家公司做過IT產(chǎn)品技術(shù)顧問 積累了強(qiáng)大的互聯(lián)網(wǎng)實(shí)戰(zhàn)經(jīng)驗(yàn),結(jié)合著風(fēng)騷的幽默,抓緊方向盤,讓老司機(jī)帶你體驗(yàn)知識(shí)段子齊收獲的無敵體驗(yàn)!
學(xué)習(xí)氛圍濃厚 求學(xué)圣地帶你一站成才
集衣食住學(xué)為一體,舒適生活區(qū)域,先進(jìn)教學(xué)設(shè)備,為學(xué)員打造良好的學(xué)習(xí)環(huán)境
億元級(jí)IT教育企業(yè),跟對(duì)大哥放肆贏!
兄弟連11年專注培訓(xùn)行業(yè),累計(jì)培養(yǎng)優(yōu)秀人才逾20萬名,拼教學(xué)、論嚴(yán)管、談素養(yǎng)、比就業(yè),怕死就別來兄弟連!
1、課程體系每年升級(jí),定期微調(diào),講師、項(xiàng)目經(jīng)理均為專職,培養(yǎng)體系嚴(yán)謹(jǐn)、實(shí)用;大牛講師,學(xué)員打分體系,講師好不好你說了算!
2、課上采用案例式教學(xué),通俗易懂,課下項(xiàng)目經(jīng)理一對(duì)一輔導(dǎo)強(qiáng)化訓(xùn)練,學(xué)與練交叉進(jìn)行強(qiáng)化記憶,你所要做的就是認(rèn)真聽,勤于問,樂于練。
3、兄弟連一直堅(jiān)持人手一機(jī),學(xué)員可以隨時(shí)在教室學(xué)習(xí),無論晚上11點(diǎn)還是凌晨4點(diǎn),你都將看到為自己的理想而埋頭苦學(xué)的兄弟姐妹。
4、變態(tài)嚴(yán)管,讓你破繭成蝶
“變態(tài)”的學(xué)習(xí)訓(xùn)練,因?yàn)閻勰?,所以?yán)厲,我們要培養(yǎng)的是IT特種兵。
5、授之以魚更授之以漁
兄弟連創(chuàng)始人李超老師,也會(huì)親自授課,分享自己三十幾年的人生經(jīng)歷和經(jīng)驗(yàn)。
6、學(xué)不會(huì),無限期免費(fèi)重修;找工作,無限期免費(fèi)推薦。畢業(yè)后,你會(huì)發(fā)現(xiàn)JavaEE高手的圈子里到處都是你的人脈,讓你在職場(chǎng)更加如虎添翼。
想了解更多關(guān)于南京PHP培訓(xùn)資料,請(qǐng)咨詢:教育聯(lián)展網(wǎng)
更多關(guān)于南京PHP培訓(xùn)的信息: