Phalanger【Phpon.net】

狗尾巴呢發表於2010-07-30

最近專案涉及一個PHP的已有專案的移植的功能擴充套件,由於現有的人員.net很熟悉,因此檢索到了Phalanger方案

步驟: 1、將已有的專案執行在Phalanger上(改動不多,如果有的專案涉及不相容的地方很多那就需要一些功夫搞定了)

2、在專案基礎上可以引入和.net的互操作實現新的功能

 

安裝

Phalanger (June 2010).msi PHP環境,安裝完成後有web和一般的例子,比較簡單

Phalanger (June 2010) VS2008 SP1.msi PHP在VS2008下的整合

 

具體的一些背景資料介紹:

  聽說過Phalanger的人可能不多,但您一定聽過PHP,而Phalanger則是PHP的.NET編譯器;也就是能將PHP程式程式碼 編譯成.NET平臺的MSIL。Phalanger早在2005年就開始由一群捷克的計算機系學生動手開發,原本是以 http://www.php-compiler.net/為根據地,但日前也進駐了CodePlex。 Phalanger與PHP 5.0相容,並且能結合PHP和.NET兩者的物件,例如可以從.NET程式使用PHP開發的類庫,或者以 PHP程式使用C#或VB.NET開發的類庫(當然,這種PHP程式必須以Phalanger編譯);Phalanger最廣泛的應用就是 將PHP網頁編譯成ASP.NET網頁,此外也能夠用PHP編寫WinForms程式。最近才釋出的2.0測試版beta3的Phalanger ,最大的改進是完整支援.NET Framework 2.0。

在CodeProject上有一篇文章介紹Phalanger, PHP for .NET: Introduction for .NET developers 。文章比較長,注 意一點就是(http://www.php-compiler.net/) 網站所使用的Wiki程式 DokuWiki 就是PHP程式通過Phalanger執行 在.NET上,你應該很有興趣去看看,感受一下.NET下的動態語言。

http://phalanger.codeplex.com/

http://www.codeproject.com/KB/cross-platform/phalanger-intro.aspx

 

DLR

目前由於.net4中對於動態語言有DLR的支援,可以大幅的提高動態語言在.net框架的效率,Phalanger也有一個專案Phpp (IronPHP),不過目前沒有釋出。