どうも。みずかず(@mizukazu_1)です。
「idiorm」というPHPのDBライブラリを使ってみたのでその使い方等を紹介していきます。
このライブラリを使用すると自分でSQLを書かずにDB操作を行う事が出来るので大変便利です。
ただ、初心者向きという訳ではありません。
多少はSQLの事を分かっていないと使いこなせないと思います。
僕自身も初めて使ったのですが、まだまだ覚える事も多く
これから深く勉強していこうかなと思っています。
idiormとは
idiormはPHPでDBを操作するORMライブラリです。
ちなみに読み方は「イディオム」
ORMの説明は以下の通りです。
オブジェクト関係マッピング(英: Object-relational mapping、O/RM、ORM)とは、データベースとオブジェクト指向プログラミング言語の間の非互換なデータを変換するプログラミング技法である。オブジェクト関連マッピングとも呼ぶ。実際には、オブジェクト指向言語から使える「仮想」オブジェクトデータベースを構築する手法である。オブジェクト関係マッピングを行うソフトウェアパッケージは商用のものもフリーなものもあるが、場合によっては独自に開発することもある。
WikiPediaより引用
上の説明だといまいち良く分からないと思いますが
簡単に言うとDBの操作をプログラミングのオブジェクトを扱うように操作できるものです。
直感的に操作が出来るのでDB操作を行うのがとても楽になります。
https://github.com/j4mie/idiorm
GitHubにソースがあるのでそれをインストールして自分のプロジェクトに「idiorm.php」を置きます。
それを使いたいところでrequireで読み込めばOKです。
http://idiorm.readthedocs.org/en/latest/index.html
ドキュメントはこちらになります。
基本的にはこのドキュメントを読めばだいたい理解できます。
idiormの使い方
idiormの使い方ですが、まずDBの読み込み設定をします。
僕はこちらの記事を参考にして「config.php」という設定ファイルを作成し、そちらに設定を書くようにしました。
※リンク先はQiitaです。
config.php
require_once 'idiorm.php';
ORM::configure('mysql:host=localhost;dbname=test');
ORM::configure('username', 'root');
ORM::configure('password', 'root');
ORM::configure('driver_options', [
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
PDO::ATTR_EMULATE_PREPARES => false,
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true,
]);
設定はこれだけです。
後はDB操作をしたいファイルで
- config.php
- idiorm.php
この2つのファイルを読み込めば準備完了です。
$test = ORM::for_table('test')->find_array();
ORM::for_table()で操作するDBのテーブルを指定します。
find_array()を呼んであげることでレコードを配列形式で取得する事が出来ます。
取得方法には他にもfind_many()やfind_one()などがあります。
$test = ORM::for_table('test')->create();
$test->sample = 'test';
$test->save();
データの登録も同じようにまずはテーブルを指定します。
create()を呼んで、後はカラムにデータをセットしていくといった感じです。
最後にsave()を呼んでますが、これで処理をコミットしていますので
save()を呼ぶのを忘れずに。
$test = ORM::for_table('test')->find_array();
foreach($test as $t) {
$t->sample = 'test';
$t->save();
}
まずデータを取得して、更新したい値にデータを入れなおすという形でUPDATEを行います。
直感的で分かりやすいですよね。
$test = ORM::for_table('test')->where('name', 'sample')->find_array();
foreach($test as $t) {
$t->delete();
}
削除したいデータに対してdelete()を使用するだけです。
これだけで対象のデータを削除する事が出来ます。
idiormで使用できるメソッドのおさらい
メソッド名 | 処理 |
find_array | データを配列形式で取得 |
find_one | データを1つ取得 |
find_many | データを複数取得 |
create | データ挿入時にレコードを作成 |
delete | データの削除 |
僕が実際に使ってみたものを挙げています。
他にもselect()やjoin()など、たくさんのメソッドがあるっぽいので使用して使い方が分かったら追記していこうと思います。
※間違いの指摘当はこの記事のコメント及びお問い合わせからお願いします。
最後に
idiormを初めて使ってみたのですが、とても便利です。
やっぱり何と言ってもSQLを自分で書かなくていいというのがとても助かる。
PHPのDBライブラリで困っている方はぜひidiormを使用する事を検討してみてはいかがでしょうか。
楽できるところは楽をして開発の効率を上げていきたいですからね!
スポンサーリンク