メメメモモ

プログラミング、筋トレ、ゲーム、etc

SQL_MakerをComposerでインストールできるようにした

PerlSQL::MakerをPHPに移植して作ったSQL_Makerを、
書き直してPackagistにアップロードしてみました。

https://packagist.org/packages/uchiko/sql-maker

これでComposerからインストールすることができます。

導入手順

以下のコマンドでcomposer.pharをインストール。

$ curl -s http://getcomposer.org/installer | php

以下の内容のcomposer.jsonを作成します。

{
    "require": {
        "uchiko/sql-maker": "dev-master"
    }
}

以下のコマンドで、モジュールをインストールします。

$ php composer.phar install

vendorディレクトリにモジュールがインストールされます。

使用する

以下のように使用できます。

<?php

require_once 'vendor/autoload.php';

$builder = new uchiko\SQL\Maker(array('driver' => 'SQLite'));

$fields = array();

$where = array();
$where['area'] = 'houen';
$where['type'] = array( 'like' => '%electric%' );

$opt = array();
$opt['order_by'] = array('id');

list($sql, $binds) =
    $builder->select($table, $fields, $where, $opt);

var_dump($sql);
var_dump($binds);

/*
 * $sql   => "SELECT id, name
 *            FROM pokedex
 *            WHERE (area = ?) AND (type LIKE ?)
 *            ORDER BY id"
 * $binds => ("houen", "%electric%")
 */


ComposerでBundlerやCartonみたいなことができるのは面白いですね。
名前空間にベンダー名を入れるのは少し気になりますが。