PHPのソースコードを自動生成するWebアプリケーションであるPHP Object Generatorの最新版「PHP Object Generator (以下、POG)3.0」が26日(米国時間)、公開された。PHPで開発されたWebアプリケーションで、The BSD Licenseのもとで公開されている。POGでは、クラス名とアトリビュートを指定することで同データを操作するためのPHPクラスが生成される仕組みになっている。PHP4/PHP5アプリケーションで動作するコードが生成される。

対象とするPHPのバージョン、クラス名、操作するアトリビュートを指定して操作するコードを自動的に生成させる

POGはもともと、データベースにアクセスするコードを自動生成することで開発時間を削減することを目的として開発された。データベースにアクセスするためのコードはアプリケーションごとに異なるが、結局似たようなコードになることが多い。こういったソースコードの生成を自動化することで開発時間を短縮しようとアプローチしている。POGで採用しているアプローチはRuby on Railsで採用されているアプローチと似ている。

生成されたソースコードがすぐにダウンロードできる

POG 3.0では特にSQLを発行したあとのResult Setが可能であれば配列として取得できるようになっている点が評価できる。同機能によって性能が著しく向上する可能性がある。またそれ以外にも、データベースにおけるデータエンコーディング機能の追加、新しいプラグインインターフェースへの書き換え、データエンコーディングの正当性チェック機能の追加、PDOに対するデータベースラッパクラスの追加、PDOパフォーマンスの向上などが実施されている。

<?php
/*
        This SQL query will create the table to store your object.

        CREATE TABLE `hellopog` (
        `hellopogid` int(11) NOT NULL auto_increment,
        `test1` VARCHAR(255) NOT NULL,
        `test2` MEDIUMINT NOT NULL,
        `test3` DECIMAL NOT NULL, PRIMARY KEY  (`hellopogid`)) ENGINE=My    ISAM;
*/

/**
* <b>HelloPOG</b> class with integrated CRUD methods.
* @author Php Object Generator
* @version POG 3.0d / PHP5
* @copyright Free for personal & commercial use. (Offered under the BSD     license)
* @link http://www.phpobjectgenerator.com/?language=php5&wrapper=pog&obj    ectName=HelloPOG&attributeList=array+%28%0A++0+%3D%3E+%27test1%27%2C%0A+    +1+%3D%3E+%27test2%27%2C%0A++2+%3D%3E+%27test3%27%2C%0A%29&typeList=arra    y+%28%0A++0+%3D%3E+%27VARCHAR%28255%29%27%2C%0A++1+%3D%3E+%27MEDIUMINT%2    7%2C%0A++2+%3D%3E+%27DECIMAL%27%2C%0A%29
*/
include_once('class.pog_base.php');
class HelloPOG extends POG_Base
{
   ...略...
}
?>

POGのサイトがそのままデモンストレーションになっているので興味がある場合は実行してみるといいだろう。スクリプト言語ではソースコードを自動生成してから編集するといったアプローチが有効に機能する。PHPを使ってデータベースを操作するアプリケーションをよく開発している場合にはPOGを検討するといいだろう。特に3.0ではパフォーマンスの向上が実現されており、従来のユーザも3.0を使ったコードへのアップグレードを検討されたい。