php協程
1.語法:PHP 的語法看起來就像沒有經過精心設計一樣,很隨意。有的語法看似很方便(用點來連接字元串), 但是卻為之後擴展造成了很多麻煩(點沒法用於訪問對象的成員), 再比如比較蛋疼的命名空間的語法。Python 相比之下要好一點,但是 Python2 和 Python3 直接存在著一些不兼容的語法變動。
2.編寫 HTML 模版:PHP 可以非常方便地直接用來編寫 HTML 模版,Python 需要藉助其他的語言或庫來實現。
3.包管理器:PHP 的包管理器(PEAR)和擴展管理器(PECL)恐怕根本沒人用,這導致引入一個新依賴的成本很高,於是很多人傾向於自己造輪子而不是引入現成的庫。Python 有統一的包管理器,雖然也有問題,但要比 PHP 好得多,引入庫之後的命名空間管理也要比 PHP 好。
4.擴展和庫:PHP 和 Python 都可以用 C 來編寫擴展。相比之下 Python 可用的庫要更多一點。
5.運行方式:PHP 運行方式比較單一(php-fpm, mod_php), Python 則可以以 fastCGI 運行,也可以自行監聽埠來處理請求。
6.性能:因為 PHP 運行方式單一,opcode 緩存方案也比較成熟(APC, opcache),緩存 opcode 之後運行速度很快。Python 則可能需要更多地自行優化性能。
7.類型系統:PHP 和 Python 都是動態類型。PHP 對類型判別比較模糊,有很多陷阱,Python 則嚴格一些。
8.學習成本:PHP 和學習成本都不是很高。PHP 優勢在於有比較完整的官方中文文檔,而且 PHP 應用領域只有 Web, 所以需要學習的內容較少。Python 因為學習路線較多,不太容易找到適合自己的教程和資料。
9.社區:PHP 的資料遍地,但是高質量的中文社區較少,普遍對官方的新功能不是很關注。Python 則要好一點。
10.應用領域:PHP 僅在 Web 後端方面被使用,Python 應用領域更廣泛一點,如果需要將邏輯移植到其他平台(如桌面), Python 要方便一點。
㈡ swoole和workerman哪個更易開發
性能上Swoole畢竟是C語言開發的,在某些地方如內存管理、數據結構、通信協議解析上肯定要比PHP開發的workerman高。
功能上swoole提供的高級特性很多,列舉幾個workerman沒有的吧,比如SSL/TLS隧道加密、http2.0、非同步mysql驅動、非同步redis驅動、非同步的http/websocket客戶端、process、lock、atomic、table。另外Swoole 2.0內置了PHP原生協程的支持,PHP代碼也可以使用類似於Go語言的協程來實現高並發的網路伺服器。
外部依賴上workerman需要依賴很多額外的第三方PHP擴展來實現,局限性比較大,這些擴展並非是PHP官方維護的,維護性方面良莠不齊,有些擴展連PHP7都不支持,數年沒人維護。而Swoole基本上無依賴,底層的代碼全部可控。