Phalanger

Phalanger(ファレンジャー)は、PHPのソースコードをMonoおよび.NET Framework向けのCILバイトコードに変換する中間コードコンパイラでした。このコンパイラにより、PHPで書かれたアプリケーションを.NET環境で実行することが可能になり、当時としては画期的な技術でした。現在、Phalangerの開発は終了しており、後継プロジェクトであるPiechPieに移行しています。

Phalangerは、IISやApacheなどの主要なWebサーバ向けのモジュールを提供しており、これにより、PHP開発者はASP.NETやXSPのような環境と変わらない使い勝手でPHPアプリケーションを開発・運用することができました。Phalangerは、PHPコンパイラであることを意識させないほど、Webサーバ環境に自然に統合されていたのです。さらに、Visual Studio Shellをベースとした無償のPHP統合開発環境(IDE)も含まれており、開発者は快適な環境でPHP開発に取り組むことができました。

このプロジェクトは、チェコ共和国のプラハ・カレル大学で始まり、オープンソースプロジェクトとして進められました。その後、2009年には開発チームを中心にDevsense社が設立され、商用サポートも提供されるようになりました。Phalangerは、2008年に開催されたGoogle Summer of Codeにおいて、Mono開発チームがSilverlight互換のMoonlightのデモンストレーションで「Silverlightの中で動くPHP」を披露したことで、一躍注目を集めることとなりました。このデモンストレーションは、Phalangerのポテンシャルを広く示す機会となりました。

互換性


Phalangerは、多くのPHPアプリケーションをほぼ無改造で動作させることができました。公式サイトでは、動作例としてWordPressMediaWiki、phpMyAdmin、phpBBといった有名なアプリケーションが挙げられており、その互換性の高さを示しています。これらのアプリケーションがPhalanger上で動作することで、既存のPHP資産を.NET環境で活用することが容易になりました。

パフォーマンス


Phalangerは、オリジナルのPHPよりも多くの場面で高速に動作しました。その理由は、Phalangerがパフォーマンスを重視して開発され、.NET Framework(.NET仮想マシン)を活用することで、コンパイル時にプラットフォーム非依存の最適化を行い、実行時にはプラットフォーム依存の最適化を行うなど、あらゆる段階でPHPプログラムを最大限に最適化するよう設計されていたからです。この点は、IronPythonやIronRuby、F#などといった.NET Framework対応言語が、.NET Framework対応言語間の相互運用を重視している点とは異なります。Phalangerは、純粋にPHPのパフォーマンスを.NET環境で最大限に引き出すことに注力していました。

関連情報



PHP (プログラミング言語): Phalangerがコンパイル対象としていたプログラミング言語
Zend Engine: PHPの公式実装
PiechPie: Phalangerの後継プロジェクトで、PHPのコンパイラ
Mono (ソフトウェア): .NET Frameworkのクロスプラットフォーム実装
.NET Framework: Microsoftが開発したソフトウェア開発・実行環境。

外部リンク


Phalanger - The PHP Language Compiler for the .NET Framework : Phalangerの公式サイト(アーカイブ)。
PeachPie.io - PeachPie | PHP compiler to .NET: PeachPieの公式サイト。Phalangerの後継プロジェクト。
Facebookグループ: PeachPieに関するFacebookグループ。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。