當前位置:才華齋>計算機>php語言>

PHP的缺點

php語言 閱讀(2.25W)

PHP的含義是“個人主頁”。PHP在1995年由Rasms Lerdorf釋出初始版本,著眼於支援小型,簡單的動態網路應用,例如在網路早期受歡迎的留言板和計數器。下面小編為大家介紹PHP的缺點吧!

PHP的缺點

1. 未知型別轉換。

程式設計師每天都在比較程式語言,例如整數和浮點數與> =運算子; heck,甚至C都是允許。其意圖是完全清楚的。不太清楚的是使用==比較字串和整數意味著什麼,不同的語言做出了不同的選擇。 PHP在這個部分的選擇是特別不恰當的,這導致了異常和未檢測到的錯誤。例如,123 ==“123foo”求值為true,但0123 ==“0123foo”是false(hmm)。

2.值語義,引用的不一致。

PHP 有一個明確的語義--賦值,引數傳遞和返回都是通過值來傳遞。程式設計師可以選擇參考語義與註釋。這將與PHP 4和5中引入了面向物件的程式設計程式衝突。 PHP的面向物件符號大部分是從Java借鑑的,Java具有通過引用處理物件的.語義,而基本型別由值來處理。所以PHP的語義的當前狀態是物件通過引用傳遞,基本型別通過值傳遞,但是舊的引用語義和&表示法依然保留,有時候與新的方式對接會出現未知的現象。

3.哲學。

PHP進行了非常多的嘗試來滿足執行需求,它甚至做了一些很奇特的事情。例如,除以0不會丟擲異常,或返回INF值,或終止請求。預設情況下。它警告並賦值為false。由於false在數值上預設值0,所以許多應用程式在部署和執行中沒有檢測到除以0的錯誤。這個特殊的問題在PHP 7中改變了,但是設計的動力是不斷的發展,在過去它可能有意義的,也遍及很多的庫中。

4.標準庫中不一致。

在PHP發展初期,其受眾者大都熟悉C語言,許多API使用C標準庫的設計語言:六個字元的小寫名稱,成功和失敗返回一個整數返回值,返回值為“實數“,返回值由呼叫者out引數返回等等。隨著PHP成熟,通過字首_名稱空間的C風格變得更加普遍:mysql_ ...,json_ ...等等。最近,Java風格的CamelCase類的camelCase方法的已經成為最多的常見的引入新函式的方式。因此,有時我們看到的程式碼片斷交錯表示式像新DirectoryIterator($路徑)與if(!($f = fopen($ p,'w +'))...一個全新的方式。

使用了PHP的這些專案的成功,主要歸功於 PHP環境的特性,以及其帶來的高節奏的工作流。而環境的優勢所帶來的價值要比由語言缺陷所造成的問題更加重要。還有一點在 MPDPL 當中比較獨特的就是, 以 Hack 和 HHVM 的形式向更高的效能,更安全和更高的可維護性這些方面的遷移,途徑是明確的。Slack 目前正處在向 HHVM 過渡的後期階段,以及向 Hack 過渡的早期階段,而我們也樂觀地認為它們將會讓我們的更加快速的產出更好的軟體