Engineだが、データの永続化などで落とし穴が存在する。Engine(GAE)環境上で、PHPやRails(Ruby)とリレーショナルデータベース(RDBMS)がシームレスに連携できることによる新しい可能性について言及してきました。これまで、GAEでの開発では「リレーショナルデータベースは使えない」というのが常識であり、開発者はいかにして旧来のリレーショナルデータベース的なアプローチから、Key-Valueストアに適応したアプローチに設計を転換するかを迫られていました。SQL4Gという環境の登場により、GAEを試してみたいと考えていた方々のハードルを大きく下げられたのではないでしょうか。第1回掲載後にオープンしたSQL4Gのダウンロードサイトから、たくさんのダウンロードが行われました。予想以上の反響に、われわれも嬉しく思っております。今回は、GAE上でPHPを使用して、リレーショナルデータベースを活用するアプリケーションを構築するための環境を準備します。大まかな手順は以下のとおりです。簡単なスクリプトをPHPで作成し、動作確認なお、本連載では、PHPおよびRailsについての説明を交互に行います。PHPに関する説明のみ読む、PHPとRailsとの違いを確かめながら読むといった、ご自身のスタイルに合った購読法で読み進めていただければ幸いです。GAE+SQL4GでRailsアプリ開発(リベンジ編)GAE+PHP環境のセットアップGAE+PHP開発では、EclipseをIDE(統合開発環境)として使用します。Eclipse」がプラグインとして提供されているためです。GAE上にアプリケーションを構築して運用するためには、Googleが発行するGAEのアカウントを取得する必要があります。Solutionフォーラム)を参考にしてください。Eclipseをクリーンインストールした状態では、エラー表示や文字解析などPHPの開発を手助けしてくれる環境は存在しません。そのため、必要に応じてPHP開発プラグインをインストールします。筆者は、「PHPEclipse」を使用しています。Eclipseの環境設定が終了したら、続いてGAE上で動作するアプリケーションのプロジェクトを作成します。Project作成画面を開きます。Project作成画面プロジェクト名およびパッケージ名【注1】を設定します。Toolkit]のチェックを外します。帳票フォーラム)を参照してください。Eclipseでは、Javaが標準言語となっているので、プロジェクト生成時にパッケージが自動生成されます。このパッケージにはスケルトンクラスが生成されますが、今回は使用しませんSQL4GとPHP4Gモジュールの配置SQL4GとPHP4Gモジュールは、Jar(JavaArchive)形式で提供しています。以下のモジュールを、(projectRoot)/war/WEB-INF/libディレクトリに配置します。php4g.jar、sql4g.jarはPHP4Gのダウンロードサイトより入手してください。SQL4G本体およびPHPをGAE上で動作させるためのモジュールsql4g.jar、lsj-x.x.jar【注2】、php4g.jarquercusモジュール【注3】quercus.jar、resin-util.jar、script-10.jarサーブレットコンテナjettyモジュールjetty-x.x.xx.jar、jetty-util-x.x.xx.jarそのほかのモジュールvelocityx.x.x.jar、log4j-x.x.x.jar、、commons-codec-x.x.jar、commons-fileupload-x.x.x.jar、lucene-core-x.x.x.jar、org.osgi.core-x.x.x.jar、servlet-api-x.x.jar、slf4j-api-x.x.x.jar【注2】lsj-x.x.jarのLSJとは、リトルソフトが開発した軽量AJAX+Javaフレームワークです。Technologyが提供する、PHP5の実行環境(PHPプロセッサ)です。次回、詳しく説明します。コンピュータに「3の倍数と3の付く数字」を判断させるにはどうしたらいいか。高性能なIT機器に囲まれた環境でコンピュータの動作原理に触れることは可能だろうか。関数型言語に分類されるHaskell。Lispの一種であるScheme。World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。(2017/7/6)日頃発生する“面倒くさい業務”。簡単なプログラミングで効率化できる可能性がある。Excel」で使えるVBAを紹介する。