關於PHP的十大誤解 你中了幾個?
作為開發人員,你常常會在網上看到不使用XX的理由之類的新聞。而作為最受歡迎的開源伺服器端指令碼語言,PHP也難逃這樣的命運。殊不知,金無足赤、人無完人,再流行的語言都會存在缺點,或者是誤解,因此,有些開發者可能就因為這些,就對它敬而遠之,這不實在可惜了嗎?
本文作者總結了人們對PHP的十大誤解,並且進行澄清,有些誤解值得深思,而有些又實在是捕風捉影。無論怎樣,讓我們一起來看下這些誤解。
1. PHP是一門物件導向語言,但不是基於OOPS
這是完全不正確的理解,尤其是Java程式設計師,他們認為PHP不是基於OOPS;但他們會發現許多物件導向的特徵,比如,介面、方法、抽象物件等。說實話,初始版的PHP沒有太多的物件導向功能,但PHP 5新增很多物件導向技術。更重要的是,你也許會好奇,為什麼Bootstrap程式碼在PHP裡會變得那麼簡單,這個得歸功於PHP與OO的結合。
2. PHP無法實現特定的功能
這個誤解聽起來比較模糊,但有許多開發者認為PHP不能實現記憶體訪問等其他功能。但事實是,PHP是一門可擴充套件的語言,你只需用C或C++編寫一個擴充套件,進行整合就OK了。或者,你無需建立,網上已經有成千上百個擴充套件可供使用,你可以根據需要,直接拿來使用。
3. PHP不安全
既然你認為它是不安全的,那為何不為它編寫安全的程式碼呢。我承認,PHP裡是有大量不安全的程式碼,但作為程式設計師,我們應該儘量編寫可靠安全的程式碼。
如果拿PHP與.NET進行比較,PHP肯定是失敗的。但如果你是一個技術嫻熟的程式設計師,你無需安全“幫助”。包括日常的安全問題,但如果他們的路徑是動態生成的,那你就得當心了。當然,如果你精通所有的指令,它或許會變的更安全。
4.不適合做大型應用程式
一門語言之所以能用來構建大而複雜的應用,其自身要具有一定的可靠性和高效能,而可擴充套件的PHP並不符合。但是,如果你設計和開發的應用程式架構很穩定,那應用程式的效能和擴充套件又會有什麼問題呢?
事實是,一些知名的網站都是採用PHP設計的,比如Facebook、Wikipedia、和Yahoo!等,它們都能工作的很好。
5.PHP只能用於網站開發
的確,使用PHP進行網站開發是很普遍的。但命令列介面(CLI:Command Line Interface)可以讓應用程式執行在非Web伺服器上。
雖然有些應用程式對CPU的要求很高,但通過執行PHP CLI,仍然可以採用PHP進行開發和執行。更重要的是,如果你想使用PHP開發桌面應用程式,只需使用Windows特定擴充套件即可搞定。
6.開發過程緩慢
對於這樣的誤解,我實在不知道是從哪裡傳出來的。有可能你編寫的PHP程式碼很凌亂、並且裡面充斥著大量的MySQL語句(它們雖然很有意義,但真不應該放在那裡)。而事實上,PHP有大量的框架可供開發者使用,合理使用它們會達到事半功倍的效果,大大縮減開發時間。所以,不要抱怨慢。
7.專業開發者不使用PHP
關於這個誤解,坊間有各種各樣的說法,比如PHP對初學者是小菜一碟,它是為那些不想認真對待開發的人準備的等等。當然,不得不承認,PHP在某些方面的確沒有什麼意義,但是對於這樣的誤解,真的是可笑之至。如果這裡有許多Web應用程式都是使用PHP開發,那麼想象下,一向嚴謹的開發商卻對PHP敬而遠之,乃是完全錯誤的。
8.效能問題
這個是技巧問題,而不是誤解。任何事情都有好有壞。效能優化也一直是開發者們爭先討論的話題。事實上,對於效能低下的應用,裡面可能充斥著大量的垃圾程式碼,比如隱式轉換、無用的模組、操作法缺乏過載等,這些都會影響到PHP應用程式的效能。但這最終要取決於你如何使用這門語言去建立一個穩定快速的應用程式。
9.便宜的應用程式意味著質量不高
在開源逐漸成為主流的市場環境下,免費、開源是PHP最大的優勢。這意味著大多數擁有專業知識的開發人員都可以提供開發服務,並且還可以為客戶節省成本。但這並不意味著質量就有問題,同樣也可以開發出高效能的應用程式。
10.PHP被高估了
好吧,這或許只是你的個人想法,大部分的PHP程式設計師是不會這麼想的。
寫在最後
隨著語言的不斷髮展和壯大,各種誤解也會接踵而來,但無論如何,一些不實的謠言都會不攻而破。常言道,實踐是檢驗真理的唯一標準,所以,在選擇相信或不相信之前,最好親自試驗確認下。
英文來源:Bestdesigntuts
相關文章
- 七大關於DevOps的誤解,你中了幾招?dev
- 十個JavaScript中易犯的小錯誤,你中了幾槍?JavaScript
- 關於Linux的幾個小誤解(轉)Linux
- Linux新手常見的7個認知誤區,你中了幾個?Linux
- 關於master..xp_cmdshell’的幾個錯誤解決辦法AST
- Python操作的5個壞習慣,你中了幾個呢?Python
- 7個關於"this"面試題,你知道幾個?面試題
- 關於常用到的幾個排序,php的實現排序PHP
- 內容堆砌、認知失調...... 遊戲策劃最容易犯的錯誤你中了幾個?遊戲
- 關於HTTPS的七個誤解HTTP
- 關於解決問題的幾個段位
- Python時操作幾個壞習慣,你中了嗎?Python
- 十二星座程式猿怪咖個性_你中了幾條?
- Python學習中的誤區,快來看看你中了幾個!Python
- 老外最不喜歡的開發信型別,你中了幾個?型別
- Java的十大演算法,你知道幾個?Java演算法
- 對於模式的“十大誤解”(轉載)模式
- 關於shutdown的幾個模式模式
- JavaScript中常見的錯誤,你犯了幾個?JavaScript
- 最近積累的幾個關於 PHP 類與 MySQL 的小問題PHPMySql
- 關於PHP 時區錯誤的問題PHP
- 中科三方:關於SSL證書的幾個常見誤區
- 關於Tomcat的13道面試題,你能答對幾個?Tomcat面試題
- 關於Mysql事務,你必須知道的幾個知識點!MySql
- 關於redis,你需要了解的幾點!Redis
- 關於MongoDB你需要知道的幾件事MongoDB
- 關於面試你不知道的幾點面試
- 軟體研發的這些誤區,你中了嗎?
- 遊戲公司自查:對於客服工作的12種誤解,你佔了幾種?遊戲
- 【虹科乾貨】5個關於微服務的誤解微服務
- 關於php解構函式的一個有趣問題PHP函式
- 關於機器學習你必須瞭解的十個真相機器學習
- 關於singleton的幾個實現
- 關於INLIST ITERATOR的幾個測試
- 這幾個關於Spring 依賴注入的問題你清楚嗎?Spring依賴注入
- 關於在頁面中解決列印的幾個問題 (轉)
- 關於軟體開發你真正需要知道的幾個事情
- 全球十大最受歡迎的度假目的地你去了幾個?