Eclipse PHP Class Generator プラグインを使って PHP アプリケーションをすぐに作成する

PHP のクラスが必要なのに、どこから手をつけたらよいかわからない場合は、Eclipse に任せてみましょう

PHP のクラスは相変わらずブラック・ボックスの場合があり、初めて PHP で開発を行う人の多くにとっても、経験の長い PHP 開発者の一部の人にとっても、未知の部分がたくさんあります。しかし、クラスがそういった点ばかりというわけではありません。クラスを使うことでコードをモジュール化することができ、(コードをクラス内の関数に入れることによって) コード・ベース全体に散らばった余分なコードのコピーを削除することができます。するとコードの管理がずっと容易になります。Eclipse 用の PHP Class Generator プラグインは、そうした作業を PHP 開発者が行う際に役に立ちます。つまり PHP Class Generator プラグインはデータベース・テーブルの管理を行うのに役立つ PHP クラスを生成してくれるため、開発者はそういった作業を行う必要がなくなり、学習期間を短縮することができます。

Tyler Anderson, Freelance Writer, Backstop Media

Tyler Anderson は 2004年にコンピューター・サイエンスの学位を、また 2005年には電気工学とコンピューター工学で修士号を、共に Brigham Young University で取得しています。彼は設計エンジニアとして 2005年5月から 2006年8月まで Stexar Corp. に勤務しました。彼は 2005年の初めに Backstop Media LLC に見出され、そして IBM developerWorks に無数の記事やチュートリアルを執筆し、またコーディングを行ってきました。



2008年 2月 05日

クラスはデータベース・テーブルとよく似ています。例えば、色、メーカー名、車種、そして年式という属性を持つ car クラスを定義することもできますし、これらの属性に対応する列を持つデータベース・テーブルを用意することもできます。これは重要なことです。なぜなら、重要なアプリケーションの大部分はデータの操作を伴うものであり、またコードは、ここでこの値を変更し、あそこで新しいレコードを追加し、といったことや、至る所でコーディング・スタイルが異なるといったことにより、ほとんど管理不能になりがちだからです。クラスを使用すると、例えば新しいレコードを追加するためのメソッドや特定のデータ片を見つけるためのメソッドを持つことができるため、そうしたコード管理の問題をなくすことができます。そうした理由から、Eclipse PHP Class Generator の使い方を学ぶことが非常に有効なのです。

PHP Class Generator プラグインの主要な機能には、データベースの詳細を入力すると、そのデータベースのテーブルを容易に管理できるクラスを作成してくれるという機能があります。また、PHP Class Generator がクラスを作成する際に使用するルールを指定する、手動で作成された XML テンプレート・ファイルも PHP Class Generator に渡します。その出力はもちろん、指定されたデータベース・テーブルを管理するために作成された PHP ファイルです。ただし注意点として、現在の PHP Class Generator がデフォルトでサポートしているのは MySQL のみです。他のデータベースのサポートに関する情報は「参考文献」を見てください。

参考までに、生成されるクラスの概要を図 1 に示します。

図 1. クラスの概要
クラスの概要

この記事で行う内容は以下のとおりです。

  • Eclipse PDT (PHP Development Tools) プラグインと Eclipse PHP Class Generator プラグインをインストールします。
  • PHP Class Generator のテンプレート・ファイル用の構文を作成し、学びます。
  • テンプレート・ファイルと PHP Class Generator を使って PHP クラスを生成します。
  • 新しい PHP クラスを PHP アプリケーションの中で使用し、テストします。

超高速インストール・ガイド

PHP Class Generator は以前、PHP Eclipse をサポートしていました。そして 2007年中頃からは PHP Development Tools プロジェクトをサポートしています。インストール作業は、まず PDT をインストールすることから始まり、次に PHP Class Generator プラグインをインストールします。インストールは以下の手順で行います。

  1. PDT をダウンロードするために PDT のダウンロード・サイト (「参考文献」を参照) に行き、Release ビルドを 1 つ選択します (この記事ではバージョン R20070917 を使ってテストしました)。
  2. PDT All-in-One という見出しの下で、皆さんのシステムに適したバージョンを選択してダウンロードします。
  3. ダウンロードが完了したら、ダウンロードしたファイルをプログラム・ディレクトリーに解凍します。

PHP Class Generator プラグインのインストールは以下の手順で行います。

  1. PHP Class Generator の Web ページを訪れ、phpclassgenerator.zip ファイルをダウンロードします (「ダウンロード」セクションを参照)。
  2. ダウンロードしたファイルを eclipse/plug-ins ディレクトリーに解凍します。

これで準備完了です。次に、カスタムのテンプレート・ファイルの作成を開始します。


データベース・テーブルを作成する

これから作成するテンプレートを使って PHP Class Generator への入力を行い、データベース・テーブルを管理するための PHP データベース・クラスを作成します。先に進む前に、MySQL のテーブルを作成する必要があります。そのためには MySQL のコンソールから以下のコマンドを入力します。

リスト 1. MySQL の新しいデータベース・テーブルを作成する
mysql> create database phpclass;
mysql> use phpclass;
mysql> CREATE TABLE 'mybiz_users' (
  'username' varchar(50) NOT NULL default '',
  'firstname' varchar(50) NOT NULL default '',
  'lastname' varchar(50) NOT NULL default '',
  'address' varchar(50) NOT NULL default '',
  'city' varchar(20) NOT NULL default '',
  'province' varchar(20) NOT NULL default '',
  'country' varchar(20) NOT NULL default '',
  'postalcode' varchar(20) NOT NULL default '',
  'password' varchar(50) NOT NULL default '',
  'email' varchar(100) NOT NULL default '',
  'homephone' varchar(20) NOT NULL default '',
  'bizphone' varchar(20) NOT NULL default '',
  'cellphone' varchar(20) NOT NULL default '',
  'disabled' enum('false','true') NOT NULL default 'false',
  PRIMARY KEY  ('username')
);
mysql> GRANT ALL PRIVILEGES ON phpclass.* to 'phpclassuser'@'localhost'
identified by 'phpclasspass';

リスト 1 で作成しているテーブルは、ユーザー情報を保管する単純なテーブルです。このテーブルには 1 つの主キー username があります。また、パスワード phpclasspass を使ってこのテーブルにアクセスできる、新しいユーザー phpclassuser も作成します。

これで、PHP Class Generator が作成する PHP クラスの操作対象となるデータベース・テーブルができました。次にテンプレート・ファイルを作成します。


初めての Eclipse PHP Class Generator テンプレートを作成する

PHP Class Generator プラグインに必要なテンプレート・ファイルは、そのテンプレートの内容を指定する XML ファイルです。1 つのテンプレート・ファイルを使って、PHP Class Generator プラグインに入力するデータベース・テーブルのフィールドに応じて何百というクラスを作成することができます。

最初に、template.xml と呼ばれる新しいファイルを作成し、以下に示すように定義を始めます。

リスト 2. PHP テンプレート・ファイルの作成を開始する
<?xml version="1.0" encoding="UTF-8"?>
<phpClassTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.sahits.ch/xsd/phpClassTemplate.xsd"
>
  <member name="conn"/>
  <members name="DB_FIELDS" initPK="0"/>
  <methods name="DB_FIELD_GETTER"/>
  <methods name="DB_FIELD_SETTER"/>
  <method name="__construct">
    <arg name="conn"/>
    <description>Default constructor</description>
    <description>@param conn the database connection</description>
    <body>
      $this->conn = $conn;
    </body>
  </method>
...

最初の 4 行で指定しているのは、この XML ファイルのエンコーディングと、このファイルのベースとなる XML スキーマに関する表記 (xmlns:xsi)、そして適切な XML ファイルを定義するスキーマ (xsi:noNamespaceSchemaLocation) です。

その次の 2 行はクラスのフィールドを指定しています。最初の要素 memberconn という値の name 属性を含み、データベース接続を保存するために使われます。テンプレート・ファイルの中で、このフィールドは $conn を使ってアクセスされます。次に members 要素があります。この要素は基本的に、mybiz_users テーブルの中にある各フィールドに対してフィールドを定義します (user name、first name、last name など)。これらの各フィールドは図 1 を見るとわかります。

その次の 2つの methods 要素は、mybiz_users テーブルのすべてのフィールドに対して getter メソッドと setter メソッドを作成します。これは図 1 を見るとわかります。

そして __construct メソッド (このクラスを初期化する際に呼び出されるコンストラクター) には 4 つの子があります。最初の子は、このコンストラクターには (図 1 を見るとわかるように) 1 つのパラメーター $conn があることを指定しています。このパラメーターは、子記述要素によって指定されているように、データベースへ接続するためのパラメーターです。body 要素は、このメソッドのボディーとなるコードを囲んでいます。ここではメソッドのボディーがデータベースへの接続のローカル・コピーを保存し、後でクラスがコピーを使用できるようにしています。

上記の機能によって、生成されるクラスに必要なフィールド群と、各フィールド用の getter メソッドと setter メソッドを指定しました。また、データベース接続を渡す方法をコンストラクターを使って指定しました。

次に、テーブルのデータをクラスのインスタンスにロードする、いくつかの関数を作成します。

リスト 3. データベースからデータをロードする
...
  <method name="TO_STRING" visibility="public"/>
  <method name="INIT_LOAD" visibility="public"/>
  <method name="INIT_POST" visibility="public"/>
  <method name="INIT_GET" visibility="public"/>
  <method name="loadAll" static="true" visibility="public">
    <body>
      $rows = mysql_query("select * from OBJECT_NAME", $this->conn);
      $OBJECT_NAMEs = array();
      while ($row = mysql_fetch_array($rows)) {
        $d = new CLASS_NAME($this->conn);
        $d->init($row);
        array_push($OBJECT_NAMEs,$d);
      }
      return $OBJECT_NAMEs;
    </body>
  </method>
  <method name="LOAD_UNIQUE" static="true" visibility="public">
    <body>
      $OBJECT_NAME = new CLASS_NAME($this->conn);
      $rows = mysql_query("select * from OBJECT_NAME where PK_WHERE",
                          $this->conn);
      $OBJECT_NAME->init(mysql_fetch_array($rows));
      return $OBJECT_NAME;
    </body>
  </method>
...

ここには 6 つのメソッドがあります。最初の 4 つは PHP Class Generator によって事前定義されています。TO_STRING はクラスのストリング表現を返します。INIT_LOAD は、mybiz_users テーブルのすべてのフィールドを含む配列を使ってクラスを初期化する関数です。INIT_POST も INIT_LOAD に似ていますが、クラスが $_POST 配列を使って初期化される点と、POST リクエストの処理に使われる点が異なります。INIT_GETGET リクエストの処理に使われる点を除けば INIT_POST とまったく同じです。

ここにある 5 番目のメソッドはカスタム関数です。このメソッドの body の内容から想像できるように、この関数は mybiz_users テーブルからすべてのレコードを番号付きの配列にロードします。そして (さらに処理するために) この配列を返します。

6 番目のメソッドは、データベース・テーブルに含まれる主キーの数だけ主キーのパラメーターを定義したセミカスタム関数です。この場合の主キーは 1 つしかないため、LOAD_UNIQUE 関数が取るパラメーターは $username という 1 つ (図 1 を見るとわかります) であり、LOAD_UNIQUE 関数は $username で指定される値を含み一意に決まるレコードをデータベースからロードし、(さらに処理するために) このレコードを返します。

5 番目のメソッドと 6 番目のメソッドの中に、大文字の変数がいくつかあることに注目してください。これらの変数は以下のように PHP Class Generator プラグインによって事前定義され、選択され、適切な内容と置き換えられます。

  • OBJECT_NAME— 小文字での、データベース・テーブルの名前
  • CLASS_NAME— PHP Class Generator プラグインによって生成されるクラスの名前
  • PK_WHERE (sixth method) — where 節の内容を指定します (この場合は username='$username)

これで終わりです。生成されるクラスはこれらの 6 つのメソッドを使うことで、そのクラスの内容を表示することができ、またメソッドのさまざまなバリエーションを使ってデータベースからデータをロードすることができます。

次に、最も重要な 2 つの関数、insert と update のためのテンプレートを作成します。

リスト 4. insert メソッドと update メソッド
...
  <method name="INSERT" visibility="public">
    <body>
      $list = array(FIELD_ARRAY);
      $sql = "insert into OBJECT_NAME values (";
      foreach ($list as $key => $value){
        if(is_string($value))
          $sql .= "'$value', ";
        else
          $sql .= "$value, ";
      }
      $sql = substr($sql, 0, -2).")";
      return mysql_query($sql, $this->conn);
    </body>
  </method>
  <method name="UPDATE" visibility="public">
    <body>
      $list = array(FIELD_ARRAY);
      $sql = "update OBJECT_NAME set ";
      foreach ($list as $key => $value){
        if(is_string($value))
          $sql .= "$key='$value', ";
        else
          $sql .= "$key=$value, ";
      }
      $sql = substr($sql, 0, -2)." where PK_WHERE";
      return mysql_query($sql, $this->conn);
    </body>
  </method>
</phpClassTemplate>

最初のメソッド (INSERT) は、すべて大文字のもうひとつの変数 (FIELD_ARRAY) を使って、クラス内のすべてのフィールドの配列を作成することから始めます。この変数 FIELD_ARRAY は PHP Class Generator プラグインによって適切に置き換えられます ("username"=>$this->username"firstname"=>$this->firstname、など)。次にこの配列に対して、すべての値が新しいレコードとして挿入される操作が繰り返されます。そしてクエリーが実行され、その結果が返され、さらに処理が行われます。

UPDATE メソッドは INSERT メソッドと同じように動作しますが、update メソッドには PK_WHERE で定義される where 節 (ここではリスト 3 と同じ方法で使われています) が必要な点が異なります。

これでテンプレートが完成しました。次に Eclipse PHP Class Generator プラグインをロードし、新しい PHP クラスを生成します。


Eclipse PHP Class Generator プラグインを使って PHP クラスを作成する

テンプレート・ファイルとデータベースが用意できると、リスト 1 で作成したテーブルを管理できる PHP クラスを、PHP Class Generator プラグインを使って作成することができます。ただし PHP Class Generator を呼び出す前に PDT プロジェクトを新規に作成します。File > New > Project の順にクリックし、次に PHP フォルダーを展開して PHP Project を選択します。

図 2. 新規 PHP プロジェクトを作成する
新規 PHP プロジェクトを作成する

Next をクリックし、プロジェクトの名前 classgenerator を入力します。

図 3. プロジェクトに名前を付ける
プロジェクトに名前を付ける

Finish をクリックします。新規プロジェクトが PHP Explorer ウィンドウに表示されるはずです。

図 4. 新規 PHP プロジェクト
新規 PHP プロジェクト

これで PHP Class Generator プラグインを呼び出す準備ができました。MySQL サーバーが実行していることを確認し、File > New > Other の順にクリックします。次に PHP フォルダーを展開して New DB PHP クラスを選択します。

図 5. 新しい DB PHP クラスを PHP Class Generator プラグインを使って作成する
新しい DB PHP クラスを PHP Class Generator プラグインを使って作成する

Next をクリックし、新しいクラスを保存するためのプロジェクト・フォルダー兼コンテナー (/classgenerator) と、ファイル名 (Mybiz_users.php)、そして先ほど作成したテンプレート・ファイルへのパスを入力します。

図 6. クラス・ファイルの詳細を入力する
クラス・ファイルの詳細を入力する

Next をクリックします。今度はデータベース・テーブルへのアクセスの詳細を入力します。

図 7. データベース・テーブルの詳細を入力する
データベース・テーブルの詳細を入力する

Finish をクリックしてクラスを作成し、このクラスをプロジェクトに保存します。

大成功です。次にクラスの内容を検証します。


生成されたクラスの内容を検証する

図 1 で見たとおり、PHP Class Generator はクラスの中にいくつかのフィールドとメソッドを作成しました。フィールドについては図 1 を見ればわかり、また getter メソッドと setter メソッドはそれぞれ単にローカル・フィールドを返し、設定するだけなので、ここでは関数に焦点を絞ることにします (先ほど、これらの関数のためにカスタムのメソッド・ボディーを作成しました)。

まず、loadAll メソッドを検証します。

リスト 5. loadAll メソッドを検証する
public function loadAll(){
      $rows = mysql_query("select * from mybiz_users", $this->conn);
      $mybiz_userss = array();
      while ($row = mysql_fetch_array($rows)) {
        $d = new Mybiz_users();
        $d->init($row);
        array_push($mybiz_userss,$d);
      }
      return $mybiz_userss;
}

先ほど学んだ、すべて大文字の変数がすべて選択され、PHP Class Generator プラグインによって置き換えられたことがわかります。このメソッドは、新しいクラスの新しいインスタンスを作成し、データベースからすべてのレコードを取得し、各レコードを mybiz_users 型の番号付き配列に保管し、各レコードに対して mybiz_users の新しいインスタンスを作成し、そしてそのインスタンスを init メソッドを使って初期化しています。

次に loadUnique メソッドを検証します。

リスト 6. loadUnique メソッドを検証する
public static function loadUnique($username){
      $mybiz_users = new Mybiz_users();
      $rows = mysql_query("select * from mybiz_users where ".
                          "'username'='$username'", $this->conn);
      $mybiz_users->init(mysql_fetch_array($rows));
      return $mybiz_users;
}

PK_WHERE がどのように置き換えられ、またどのような select 文になっているかがわかります。loadUnique 関数がある理由は、テーブルに対して上記の where 節を使用するすべてのクエリーには、最大でも戻り値が 1 つしかあり得ないためです。従って、このメソッドを呼び出すという 1 つの呼び出し動作のみで、1 つの一致するレコードをデータベースから取得することができます。

最後に、update メソッドを検証します。

リスト 7. update メソッドを検証する
public function update($username){
      $list = array("username"=>$this->username,
                    "firstname"=>$this->firstname, 
                    "lastname"=>$this->lastname, 
                    "address"=>$this->address, 
                    "city"=>$this->city, 
                    "province"=>$this->province, 
                    "country"=>$this->country, 
                    "postalcode"=>$this->postalcode, 
                    "password"=>$this->password, 
                    "email"=>$this->email, 
                    "homephone"=>$this->homephone, 
                    "bizphone"=>$this->bizphone, 
                    "cellphone"=>$this->cellphone, 
                    "disabled"=>$this->disabled);

      $sql = "update OBJECT_NAME set ";
      foreach ($list as $key => $value){
        if(is_string($value))
          $sql .= "$key='$value', ";
        else
          $sql .= "$key=$value, ";
      }
      $sql = substr($sql, 0, -2)." where 'username'='$this->username'";
      return mysql_query($sql, $this->conn);
}

これを見ると、すべて大文字の FIELD_ARRAY 変数がどうなったかがわかります。update メソッドは単にテーブルの中の各フィールドを順次取り上げ、フィールド名をキーに、フィールドの値を値として参照配列を作成しています。foreach ループの中では update 文の内容にデータが入れられ、最後にこの関数に渡されるパラメーターに基づき、更新対象のユーザー名を指定するように where 節が設定され、結果として更新された行が返されます。

リスト 7 には PHP Class Generator によって生成されたものから変更されている部分が 1 ヵ所あることに注意してください。PK_WHERE の値、'username'='$username' は、this を 'username'='$this->username' のように参照する必要があります。


新しいクラスを PHP アプリケーションの中でテストする

さて、これからが楽しい部分です。File > New > Other の順にクリックしてプロジェクトの中に index.php ファイルを作成します。PHP ディレクトリーを展開し、PHP ファイルを選択し、Next をクリックします。名前として index.php を、ソース・フォルダーとして \classgenerator を入力し、Finish をクリックします。

これで空のソース・ファイルができたはずです。これを以下のように定義します。

リスト 8. 新しいクラスをテストするためのファイルを作成する
<?php

include('Mybiz_users.php');

$conn = mysql_connect('localhost','phpclassuser','phpclasspass');
mysql_select_db('phpclass',$conn);

$mybiz_users = new Mybiz_users($conn);
$mybiz_users->setUsername('jdoe');
$mybiz_users->setAddress('one here st.');
$mybiz_users->setBizphone('555-555-5555');
$mybiz_users->setCellphone('555-555-5555');
$mybiz_users->setCity('Phoenix');
$mybiz_users->setCountry('USA');
$mybiz_users->setDisabled('false');
$mybiz_users->setEmail('jdoe@example.com');
$mybiz_users->setFirstname('John');
$mybiz_users->setHomephone('555-555-5555');
$mybiz_users->setLastname('Doe');
$mybiz_users->setPassword('k@ks;1ja');
$mybiz_users->setPostalcode('12345');
$mybiz_users->setProvince('AZ');

$mybiz_users->insert();
$allRecords = $mybiz_users->loadAll();

echo 'begin1
';
for($i = 0; $i < sizeof($allRecords); $i++){
	print_r($allRecords[$i]);
	echo '
';
}
echo 'end1

';


$mybiz_users->setDisabled('true');
$mybiz_users->update();
$allRecords = $mybiz_users->loadAll();

echo 'begin2
';
for($i = 0; $i < sizeof($allRecords); $i++){
	print_r($allRecords[$i]);
	echo '
';
}
echo 'end2

';

mysql_query("delete from mybiz_users where username='jdoe'");

?>

ここではまず MySQL サーバーへの接続を作成したら、新しい mybiz_users レコードを作成して初期化し、それをデータベースに挿入し、ロードして表示します。次に、update メソッドをテストするために setDisabled('true') を呼び出してユーザーを無効にし、データベースの中のユーザー・レコードを更新し、レコードをリロードして表示します。最後にレコードを削除し、再度テストできるようにします。

実行する前に、PHP の実行可能ファイルを追加する必要があります。Window > Preferences の順にクリックし、PHP を展開し、PHP Executables を選択し、Add をクリックし、名前とディレクトリー・パス、そしてデバッガー (この記事の場合は、それぞれ PHP V5、C:\apps\wamp\php、そして XDebug を使用しました) を入力します。

実行するには Run > Run の順にクリックし、PHP Script を選択して OK をクリックします。選択を促されたら、たった今設定した PHP 実行可能ファイルと XDebug デバッガーを選択すれば実行準備は完了です。

リスト 8 のコードを実行した結果の出力を PDT デバッガーで調べます。

図 8. デバッガーの出力
デバッガーの出力

出力が表示されます。初めてレコードをロードしたときには disabled="false" が表示されるので、disabled="false" を設定し、update 文を呼び出します。テーブルをリロードすると disabled"true" に変更されています。実質的に、一切 SQL を追加することなく、クラスを使ってデータベースを更新することができ、コーディングにかかる時間を節約できたのです。


まとめ

ここでは、データベースの管理を行える便利で高速なクラスを作成する方法と、また乱雑になりがちなコードを PHP クラスを使って整理する方法を学びました。これで、MySQL を使った PHP 開発がずっと容易になるはずです。皆さん独自のテンプレート・ファイルを自由に作成し、さらにパーソナライズしたクラスを Eclipse PHP Class Generator プラグインを使って作成してみてください。

ぜひ「参考文献」セクションを調べ、Eclipse PHP Class Generator プラグインを使って実現できることをさらに学んでください。そしてこのプロジェクトに皆さんの専門知識で貢献してください。


ダウンロード

内容ファイル名サイズ
Sample codeos-eclipse-phpclassgen.code.zip4KB

参考文献

学ぶために

  • ドキュメンテーションとダウンロードに関しては Eclipse PHP Class Generator を見てください。
  • PHP Class Generator プラグインの作成者である Andi Hotz が書いたブログ記事「Getting started with PHP Class Generator Plug-in」には、このプラグインを使うためのヒントがいくつか紹介されています。
  • Eclipse PHP Class Generator プラグインの正式なドキュメンテーションを読んでください。
  • Eclipse の Europa リリースのすべてを知るために、developerWorks の記事「Eclipse Europa の駆け足ツアー」を読んでください。
  • PHP マニュアルを入手してください。
  • Eclipse の推奨読み物リスト」を調べてみてください。
  • developerWorks には他にもEclipse に関する資料が豊富に用意されています。
  • Eclipse が初めての人は、developerWorks の記事「Eclipse Platform入門」を読んでください。Eclipse の起源やアーキテクチャー、プラグインを使った Eclipse の拡張方法などを学ぶことができます。
  • IBM developerWorks の Eclipse project resources で Eclipse のスキルを磨いてください。
  • developerWorks podcasts では、ソフトウェア開発者のための興味深いインタビューや議論を聞くことができます。
  • PHP.net は PHP 開発者のための中心的なリソースです。
  • Recommended PHP reading list」を調べてみてください。
  • developerWorks には他にもPHP に関する資料が豊富に用意されています。
  • IBM developerWorks の PHP project resources で PHP のスキルを磨いてください。
  • developerWorks podcasts では、ソフトウェア開発者のための興味深いインタビューや議論を聞くことができます。
  • PHP でデータベースを使うのであれば、Zend Core for IBM を調べてみてください。これはシームレスでそのまま使用でき、インストールも容易な、IBM DB2 V9 をサポートする PHP の開発環境であり実動環境です。
  • developerWorks の Technical events and webcasts で最新情報を入手してください。
  • IBM のオープン・ソース技術や製品機能を調べ、学ぶために、無料の developerWorks On demand demos をご覧ください。
  • IBM オープン・ソース開発者にとって関心のある、世界中で今後開催される会議や業界展示会、ウェブキャスト、その他の Events について調べてみてください。
  • developerWorks の Open source ゾーンをご覧ください。オープン・ソース技術を使った開発や、IBM 製品でオープン・ソース技術を使用するためのハウ・ツー情報やツール、プロジェクトの更新情報など、豊富な情報が用意されています。

製品や技術を入手するために

議論するために

  • Eclipse に関する質問を議論するための最初の場所として、Eclipse Platform newsgroups があります (このリンクをクリックすると、デフォルトの Usenet ニュース・リーダー・アプリケーションが起動し、eclipse.platform が開きます)。
  • Eclipse newsgroups には、Eclipse を利用し、拡張することに関心を持つ人達のために、さまざまなリソースが用意されています。
  • developerWorks blogs から developerWorks のコミュニティーに加わってください。

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Open source
ArticleID=293055
ArticleTitle=Eclipse PHP Class Generator プラグインを使って PHP アプリケーションをすぐに作成する
publish-date=02052008