「Phalanger」の版間の差分
imported>Administrator |
imported>Administrator (→歴史) |
||
12行目: | 12行目: | ||
2009年には開発チームを中心にDevsense社が設立され商用サポート業務も行われている。 | 2009年には開発チームを中心にDevsense社が設立され商用サポート業務も行われている。 | ||
+ | |||
+ | * 2012年03月24日 - Phalanger 3.0 R3 公開 | ||
+ | <source lang="bash"> | ||
+ | # http://phalanger.codeplex.com/releases/view/84572#DownloadId=356231 | ||
+ | $ wget --content-disposition "http://download.codeplex.com/Download?ProjectName=phalanger&DownloadId=356231&FileTime=129770933289430000&Build=18657" | ||
+ | </source> | ||
== 互換性 == | == 互換性 == |
2012年3月27日 (火) 02:21時点における版
Phalangerとは、PHPのソースコードをMonoおよび.NET Framework向けのコンパイラである。 また、PhalangerにはVisual Studio Shellをベースとした無償のPHP統合開発環境(IDE)も含まれる。
PHPアプリケーションのセキュリティ向上とパフォーマンス向上、および完全な64bit対応を主目的として開発が進められており、PHPソースコード品質検証ツールとしての意味合いも強い。
CLR版を用いてPHPソースコードをCILバイトコードに変換しておけば、プロプライエタリなアプリケーション向けの簡易的なソースコード難読化ソフトとしても使える。
歴史
Phalangerはチェコ共和国のプラハ・カレル大学で始まったオープンソース・プロジェクトである。
2008年に開催されたGoogle Summer of Codeにおいて、Mono開発チームがSilverlight互換を目指すMoonlightプロジェクトのデモンストレーションのひとつとして「Silverlightの中で動くPHP」を発表し、Phalangerは一躍注目されることとなった。
2009年には開発チームを中心にDevsense社が設立され商用サポート業務も行われている。
- 2012年03月24日 - Phalanger 3.0 R3 公開
# http://phalanger.codeplex.com/releases/view/84572#DownloadId=356231
$ wget --content-disposition "http://download.codeplex.com/Download?ProjectName=phalanger&DownloadId=356231&FileTime=129770933289430000&Build=18657"
互換性
Phalangerは多くのPHPアプリケーションを無改造で動かすことができる。
公式サイトでは動作例として、WordPressやMediaWiki、phpMyAdmin、phpBBなどが紹介されている。
CLR版とDLR版
Phalangerプロジェクトでは、事前にコンパイルを行う共通言語ランタイム(CLR)向けコンパイラと、実行時にコンパイルを行う動的言語ランタイム (DLR)向けコンパイラの両方を提供している。
CLR版はC#などと同様に事前にコンパイルし実行ファイルなどを生成する方式となっている。
DLR版は純正PHPと同様の使い勝手を実現したもの。インタプリタに近い。
なお、PhalangerプロジェクトではPHPアプリケーションのセキュリティ向上のためにも、Webアプリケーションの開発中はDLR版で手軽に、本番運用前にはCLR版で事前に完全にコンパイルが通り、警告なども完全に出ない状態にするのが望ましいとしている。
パフォーマンス
Phalangerは純正のPHPよりも多くの場面で高速に動作する。
Phalangerはパフォーマンスに重点をおいて開発されており、.NET Framework(.NET仮想マシン)を用いる最大の理由も、コンパイル時にプラットフォーム非依存の最適化、実行時にプラットフォーム依存の最適化を行うなど、あらゆる時点でPHPプログラムを極限まで最適化するためである。
インストール
関連項目
- F# - F#の中の人が興味を示しPhalangerプロジェクトに参加している。
- IronPython
- IronRuby