PHP結合Python的WEB開發技術:ppython

jopen 11年前發布 | 45K 次閱讀 ppython Web框架

許多人在糾結WEB快速開發究竟是采用PHP,還是采用Python,二者同樣是腳本語言,但特點鮮明:

  • PHP: Web專用開發利器,有10多年的經驗積累,但其他領域基本不涉及,擴展性不強,企業應用少。
  • Python: 近期的明星語言,面向對象、簡單高效、可擴展性強,但Web開發積累少,成熟度低。

ppython開源項目既是結合使用PHP和Python兩種語言,取其所長、補其所短,面向企業WEB領域的開發技術。此技術可以理解為PHP和 Python相結合的技術,也可稱為PHP和Python混合編程技術,或者PHP調用Python服務的技術,也有人習慣稱之為前臺PHP后臺 Python的技術框架。

本項目是LAJP項目的語言環境的拓展,變化是將LAJP中的Java語言變更為Python語言,因此LAJP的技術、文檔對本項目有參考作用。

特點

  • 優勢互補: PHP和Python都是流行的腳本語言,PHP非常適合網頁編程;而Python可以當作輕量級JAVA,二者結合可發揮各自優勢。
  • 高效穩定:Apache+PHP組合可帶來優異的WEB服務穩定性,而Python的語言能力可補充如連接池、事物管理、分布式、對象模型等高端特性。
  • 通信機制 PHP和Python間的通訊方式采用TCP Socket和Unix Socket兩種機制,兼顧通訊效率和分布式。
  • 數據類型自動轉換機制 PHP數據和Python數據可準確地自動匹配和轉換,無須程序員編寫解析代碼。
  • 易用:安裝配置簡單,PHP端和Python端編程符合各自的編程習慣。
  • 輕量級:架構非常輕量級,除了最基本的PHP和Python環境,不需要任何擴充的、第三方的組件、容器。

PHP和Python的互通

PHP結合Python的WEB開發技術:ppython

PHP和Python是兩種不同的語言,通訊中采用兩種socket機制。

  • 一、TCP Socket

傳統的TCP/IP通訊。

  • 二、UNIX Domain Socket

Unix/Linux本地socket,相對于TCP Socket,有以下特點:

  1. 只能在同一臺主機中通訊(IPC),不能跨網絡
  2. 傳輸速度,大于TCP Socket
  3. 服務端只向本機提供服務(沒有對外偵聽端口),相對安全,易于管理。

數據類型轉換

PHP和Python各有其語言內部定義的數據類型,當PHP數據傳送到Python,或Python數據傳送到PHP時,傳統上需要轉碼處理,而使用本技術程序員無需進行任何的此類工作。

PHP結合Python的WEB開發技術:ppython

詳細內容請瀏覽wiki文檔:http://code.google.com/p/ppython/w/list

提高Python的多線程效率

Python因其語言GIL特性,多線程效率不高。在PHP+Python的混搭機制中,Python端可以多進程方式部署,從而提高Python的整體工作效率。

項目主頁:http://www.baiduhome.net/lib/view/home/1379570238021

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!