首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

使用 Phalanger 整合 PHP 與 .NET

     編輯:PHP 綜合知識

Phalanger 簡介

Phalanger 是 PHP 語言編譯器,也是針對 .NET 的 PHP 執行環境。可將 PHP 專案編譯為 .NET 位元碼,在 Windows 用 IIS 或 Linux 用 Mono+Apache 作為 ASP.NET 應用執行。不僅是編譯既有 PHP 應用到 .NET,更可建構結合 .NET 與 PHP 的解決方案:PHP 程式可直接使用 .NET 類別,.NET 程式 (如 C#) 也可動態呼叫 PHP 腳本或使用 PHP 實作的函數與類別。

發展歷程

  • 2003 年布拉格查爾斯大學專案創建
  • 2006 年 CodePlex 開源發布 2.0 版
  • 微軟曾支援,後開發者加入微軟從事 DLR 工作
  • 2008 年與 Jadu 合作恢復活動,為 PHP CMS 建構 .NET 版
  • 2010 年起 DEVSENSE 提供資金與商業支援
  • 最新 Phalanger 2.1 提升相容性、利用 DLR 優化、提供 PHP 與 C#/F#/VB 互操作性

Phalanger 組件

  • 編譯器:PHP 原始碼編譯為 .NET 組件,使用 .NET JIT 執行
  • 執行環境與類庫:實作陣列等 PHP 特性,包含 I/O、正則、標準庫的 .NET 實作
  • 原生擴充:32 位 Windows 可透過橋接使用現有 PHP 4 擴充
  • 受控擴充:透過包裝 .NET 功能重新實作 PHP 擴充,效能佳。內建 SPL、JSON、SimpleXML、MySQL、MS SQL 提供者,DEVSENSE 提供 Memcached、圖像、cURL 等附加擴充
  • Visual Studio 整合:支援語法高亮、智能提示、除錯

三大使用案例

  1. 高效運行 PHP 應用:編譯而非解譯,ASP.NET 架構在 Windows 提供額外效能優勢
  2. 整合 WordPress 與 ASP.NET:編譯後 PHP 代碼可呼叫所有 .NET 程式庫,共用使用者資料庫等資料
  3. 從 ASP.NET 呼叫 PHP:PHP 彈性適合腳本或表現層,可在 .NET 開發應用並用 PHP 作為腳本語言或視圖引擎

案例一:高效運行 PHP 應用

Phalanger 編譯流程:PHP 原始碼 → .NET IL (中間語言) → PHP 核心庫 + DLR 執行 → .NET JIT 編譯為本地碼。基準測試顯示 Phalanger 編譯 WordPress 在 Windows 效能優於 FastCGI+標準 PHP,略優於 WinCache+PHP。最新版使用 DLR 進一步優化。

Phalanger 編譯流程圖

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved