首頁  >  文章  >  後端開發  >  為什麼php不能做大型系統?

為什麼php不能做大型系統?

青灯夜游
青灯夜游原創
2019-11-20 18:09:162673瀏覽

為什麼php不適合應用在大型系統的打造呢?大家一定認為是安全性的問題。但事實上不僅僅是這樣。下面為大家介紹一下。

為什麼php不能做大型系統?

為什麼php不能做大型系統?原因是什麼?

混亂的授權

你也許認為PHP是免費的,所有的在手冊中提到的PHP模組也是免費的。錯了!例如,如果你想在PHP中產生PDF文件,你會在手冊中發現兩個模組:PDF 和 ClibPDF。但是這兩個都是有商業許可證的。所以,你所使用的每個模組,你都要確保你同意他的許可證。

不一致的函數命名規則

有些函數名稱是有多個單字組成的。一般有三種單字組合的習慣:

直接拼接:getnumberoffiles

用底線分開:get_number_of_files

駱駝法則:getNumberOfFiles

大部分語言選擇其中一中。但是PHP都用到了。

魔法引用的地獄

魔法引用(Magic quote)可以保護PHP腳本免受SQL注入攻擊。這很好。但是出於某些原因,你可以在php.ini中關閉這個配置。所以你如果要寫出一個有彈性的腳本,你總是要檢查魔法引用是開啟還是關閉。這樣一個「特性」應該會讓程式設計更簡單,而事實上變得更複雜了。

許多PHP模組都不是線程安全的

在幾年前,Apache發布了Web伺服器的2.0版。這個版本支援多執行緒模式,在這個模式下,軟體一個一部分可以同時運行多個。 PHP的發明者說PHP的核心是線程安全的,但是非核心模組不一定是。但十次有九次,你想要在PHP腳本中使用這個模組,但這又讓你的腳本無法適合Apache的多執行緒模式。這也是為什麼PHP小組不建議在Apache 2 的多執行緒模式下執行PHP。不良的多執行緒模式支援使PHP常被認為是Apache 2仍然不流行的原因之一。

不標準的日期格式字元

很多程式設計師對 日期格式字元 都很熟悉,它是從UNIX和C語言中來的。其他一些程式語言採用了這個標準,但是很奇怪的,PHP有它自己的一套完全不相容的日期格式字元。在C中,「%j」表示一年中的當天,在PHP中他表示一個月中的當天。然而讓事情更混亂的是:Smarty (一個很流行的PHP模版引擎)的 strftime 函數和 date_format 函數,卻使用了C/UNIX的格式化字元。

推薦學習:PHP教學

以上是為什麼php不能做大型系統?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn