KPHP は PHP コンパイラーです。 PHP の限定されたサブセットを、PHP よりも高速に実行されるネイティブ バイナリにコンパイルします。
KPHP は VK.com で開発され、2020 年後半にオープンソース化されるまで、長年プロプライエタリとして維持されてきました。
ドキュメントやデモなどを備えた KPHP Web サイトにアクセスしてください。
KPHP は、ランダムな PHP コードをコンパイルすることはできません。
名前やモックによる呼び出しなど、コンパイルできない機能はサポートされていません。
たとえば、配列内で数値とオブジェクトを混在させるなど、型システムを破壊するようなコードはコンパイルされません。
SPL クラスや XML 解析など、VK.com には必要のなかった PHP 機能はありません。
ジェネレーターや匿名クラスなど、一部の PHP 構文の詳細は実装されていません。
詳細については、KPHP と PHP の違いを参照してください。
KPHP はコードを全体的に分析し、パフォーマンスと安全性に焦点を当てたさまざまな最適化を実行します。
すべての変数の型を推論し、C++ で宣言する方法。
ゲッターのインライン化や参照カウンターの羽ばたきの削減など、コンパイル時の最適化。
不変性や型システム要件などのコンパイル時のチェック。
初期化前の定数配列や型付きベクトルなどの実行時の最適化。
上記とは別に、KPHP にはコルーチンがあります。ただし、現時点では、VK コード以外にはほとんど適用できません。
一般に、コードがベスト プラクティスに適合している場合、コードはPHP より 3 ~ 10 倍高速に実行されます。
KPHP と PHP のパフォーマンスを比較するベンチマーク ページをご覧ください。
「PHP vs KPHP vs C++」も参照してください。
KPHP は常にPHP より高速であるとは限りませんが、厳密な型指定と KPHP 組み込み関数に重点を置くことでコードを高速化するために使用できます。
この状況は非常に一般的です。 KPHP が既存のコードをエラーなしでコンパイルすることはほとんどありません。通常、PHP コードを KPHP でコンパイルできるように書き直すには時間がかかります。
詳細については、既存のプロジェクトをコンパイルする際にお読みください。
KPHP は、VK.com (V Kontakte LLC) に代わって GPLv3 ライセンスに基づいて配布されます。
KPHP コミュニティと通信するには、GitHub の問題または Telegram チャットを使用します。
FAQページとロードマップページもご覧ください。
投稿ページを参照してください。
インストールページに進み、左側のメニューに従ってください。