PHP 的極限在哪裡?


這兩天遇到一個問題, 就是php的非同步處理, php本身是沒有非同步處理機制的, 想用的話只能自己模擬, 而且調試巨麻煩
解決方法大概有幾個, 第一個就是調用腳本處理, 第二個模擬瀏覽器單開一個頁面進程.

其實@harry 說的並不完全對, 現在的web面臨的狀況越來越多, 既然選擇了一門語言, 就必須面對這門語言的弱點, 很希望php的下個版本能夠解決非同步問題, 雖然可能性不大


關於語言的攻擊是最無聊的,通常入門不久的人討論的最多。語言只是一門工具,我們再使用一門工具的時候要看看它使用起來效率如何,需要多久的開發時間,維護成本,相關人員招聘成本等等綜合考慮。 選擇一個合適自己的即可. 從從業人員數量,技術以及文檔成熟度,開發效率這幾個方面來看,PHP 目前均佔主流水平。

兵器有千萬種,用什麼兵器不代表就是高手,而是取決於你自己的基本功,長期鍛煉積累的內力等等。


當你需要考慮一門語言極限的時候,通常是你把它用在了不適合的地方。管理學上有句諺語,世上沒有傻瓜,只有被用錯了位置的聰明人~


PHP能夠實現最簡潔的web程序,用Fat-Free Framework

$f3=require("path/to/base.php");
$f3-&>route("GET /",
function() {
echo "Hello, world!";
}
);
$f3-&>run();

看看Ruby的,用的Sinatra

require "sinatra"

get "/" do
"Hello, world!"
end

Code is all.


php不適合做io密集型應用


當你需要處理長時間的業務,並發業務(多進程、多線程)時,就要考慮用其他語言實現了。


1. 大規模運算
2. 非同步處理/多線程
3. 計劃任務
不過這些都能克服~~~ 真需要解決上面這些問題,PHP估計也不會當真後端了吧


對1L表示贊同,好的編程和做事習慣是一樣的,要取長補短,沒有最好的語言,雖然我們可以想法設法的、絞盡腦汁的用php做出各種牛叉的功能,但是,其實可能換一種語言做這個部分,可能更加的高效和簡單,所以,更加高效的解決問題最重要,php有他自身的優點和不足,個人覺得,他執行絕對是很快的,但是這個快的代價是程序員來做優化,因為他只是「一字不差」的翻譯,所以同個功能,很多人寫出的效果卻不同,但,因為他實在太快了,這些微小的差異如果不是很大的訪問或數據量下是很難看出來的,所以他的瓶頸應該是在資料庫,更加高效的設置資料庫更加的重要,但是這個缺點卻和php本身無關。因為php在開發出來的時候其實並不是作為一門語言,而是一種解決問題的手段。更像是一個插件一樣!


我個人認為,php處理速度和他本身機制,動態編譯有關。極限方面的話,處理複雜的大數據量應該算是一個方面吧!也因此php很適合web編程!


php宣稱效率最好,但實際生產過程中卻存在效率隨php代碼複雜度增加,其速度以幾何級數降低,到底高到哪裡呢?


對1L表示贊同,好的編程和做事習慣是一樣的,要取長補短,沒有最好的語言....
贊同 上面說的


語言特點決定 PHP 是適合做一些偏展示的工作。


在與C


哪門語言沒有極限,極限的定義有事什麼。無論哪個語言,直接查詢1 T 的數據都吊樣,極限針對的系統而言,和語言沒多大關係。選擇語言基本都在性能,業務迭代,後期維護上有個抉擇。多語言開發基本在大企業很常見。沒有一種語言可以包打天下。基本來說各有各的優勢。不可能有了洲際導彈,就不要戰鬥機了。


推薦閱讀:

kindeditor編輯器保存的文章帶html標籤,進行文章關鍵詞搜索如何排除標籤內容干擾?
PHP為什麼這麼難學?
你用PHP寫過哪些好玩的東西呢?
PHP 文件上傳安全需要注意哪些方面?
該學習哪些PHP函數? PHP常用函數?

TAG:PHP | PHP框架 | PHP程序員 | PHP開發 |