PerlのSQL::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みたいなことができるのは面白いですね。
名前空間にベンダー名を入れるのは少し気になりますが。