Google App Engine(GAE)上で動作する、PHPの実行環境の事を指します。
PHP4Gは、ただ単純に実行環境を提供するだけではなく、リトルソフト独自のGAE上で使えるSQLデータベース(SQL4G)との シームレスな連携やPHPテンプレートエンジンにおける実質的なデファクトスタンダードである Smarty との連携により、 GAE上にて PHP + DB + テンプレートエンジン というモダンなPHP環境を実現しました。
一般的に言われている PHP の長所として、スクリプト言語ならではの開発容易性、柔軟性、弱い型付け、 および開発者人口の多さが挙げられます。そのPHPがGAE上で動作するだけではなく、 さらにテンプレートエンジン、RDBもGAE上にて使用可能になったこのPHP4GはPHPプログラマ、 デザイナをはじめとする様々な方に恩恵があると考えています。
アプリケーション開発者は、PHP4G や GAE のバックエンドを気にすることなく、 いつもと同じ開発手順でGAE上で動作するパブリッククラウドPHPアプリケーションを構築できます。
PHP4Gは以下のアプリケーション組み合わせることによって新たなエクスペリエンスを実現しました。
Quercusは、Caucho Technologyが提供する、PHPの実行環境(PHPプロセッサ)です。 一般的なPHPプロセッサはCで実装されているのですが、QuercusはJavaで実装されているため、GAEとの親和性に秀でています。 PHP4Gは、このプロセッサを介して、PHPアプリケーションをGAE上で動作させています。
PHPで利用できるライブラリを提供しているサービスにPearがあります。 PHP4Gでは、DBと呼ばれるPearライブラリ(表記はPear::DB)を使用しています。 Pear::DBは、PEARの基本パッケージに含まれているデータベースアクセス用のモジュールであり、 MySQLやPostgresqlをはじめとする主要なリレーショナルデータベースに対応し、 データベースごとの差異を意識せずに、コネクションの確立からデータの取得、更新などを統一的な手段で実現します。 Pear::DB のラッパーモジュールを提供することにより、PHP4GではSQL4Gとのアクセスを、Pear::DBが用意するインターフェイスを使用して行います。 これにより開発者は今までの手法を用いて GAE のデータ層へアクセスすることが出来ます。
本来、Smarty などの動的なコンパイルが必要となるテンプレートエンジンは、 サーバ資源にアクセスが出来ないという GAE の制約により、そのまま適用することはできないのですが、 コンパイル済みのテンプレートファイルを、GAE リソースとして扱わせることにより、 GAE 上で Smarty を使用することが可能になりました。
簡単な社員管理アプリケーションです。
内容としては単純ですが、SQL4Gを活用したデータの参照、登録、削除やSmartyを活用した画面描画など、PHP4Gが提供する主要な 機能を網羅しています。
こちらにアクセスしてください。
PHP4Gのダウンロードはこちらから。
PHP4GにはSQL4Gのバイナリが含まれております
PHP4G ダウンロードコンテンツに付属の[README.TXT]をご覧下さい。
メディア寄稿 「GAE + LL が拓く新世界」の「第2回 SQL4GでGAE+PHPを体験しよう」の[GAE+PHP環境のセットアップ]には図を交えた詳しい説明がございます。
先に述べたように、PHP4Gの特徴の一つは[PHP4G や GAE のバックエンドを気にすることなく、 いつもと同じ開発手順でGAE上で動作するパブリッククラウドPHPアプリケーションを構築出来る]ことです。そのため、PHP4Gに特化した利用方法はございません。
Eclipse を使用した開発の手順の例については、メディア寄稿 「GAE + LL が拓く新世界」の「第4回 PHPでGAE上に社員検索アプリを作る」をご覧下さい。
PHP4Gを題材に環境構築方法からアプリケーション開発についてまで、SQL4Gとの連携を含めた包括的かつ実践的なヒントが豊富な記事です。また、Ruby(JRuby)とSQL4Gを連携したアプリケーションについても紹介しています。