プログラミング初心者にオススメ

【PHP】DBライブラリ「idiorm」を使ってみた!【使い方まとめ】

どうも。みずかず(@mizukazu_1)です。

「idiorm」というPHPのDBライブラリを使ってみたのでその使い方等を紹介していきます。

このライブラリを使用すると自分でSQLを書かずにDB操作を行う事が出来るので大変便利です。

ただ、初心者向きという訳ではありません。

多少はSQLの事を分かっていないと使いこなせないと思います。

僕自身も初めて使ったのですが、まだまだ覚える事も多く
これから深く勉強していこうかなと思っています。

idiormとは

idiormはPHPでDBを操作するORMライブラリです。
ちなみに読み方は「イディオム」
ORMの説明は以下の通りです。

オブジェクト関係マッピングObject-relational mappingO/RMORM)とは、データベースオブジェクト指向プログラミング言語の間の非互換なデータを変換するプログラミング技法である。オブジェクト関連マッピングとも呼ぶ。実際には、オブジェクト指向言語から使える「仮想」オブジェクトデータベースを構築する手法である。オブジェクト関係マッピングを行うソフトウェアパッケージは商用のものもフリーなものもあるが、場合によっては独自に開発することもある。

WikiPediaより引用

上の説明だといまいち良く分からないと思いますが
簡単に言うとDBの操作をプログラミングのオブジェクトを扱うように操作できるものです。

直感的に操作が出来るのでDB操作を行うのがとても楽になります。

idiormインストール方法

https://github.com/j4mie/idiorm
GitHubにソースがあるのでそれをインストールして自分のプロジェクトに「idiorm.php」を置きます。

それを使いたいところでrequireで読み込めばOKです。

idiormのドキュメント

http://idiorm.readthedocs.org/en/latest/index.html
ドキュメントはこちらになります。

基本的にはこのドキュメントを読めばだいたい理解できます。

idiormの使い方

idiormの使い方ですが、まずDBの読み込み設定をします。

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つのファイルを読み込めば準備完了です。

DBからデータを取得する【SELECT】

$test = ORM::for_table('test')->find_array();

ORM::for_table()で操作するDBのテーブルを指定します。

find_array()を呼んであげることでレコードを配列形式で取得する事が出来ます。

取得方法には他にもfind_many()やfind_one()などがあります。

DBにデータを登録する【INSERT】

$test = ORM::for_table('test')->create();
$test->sample = 'test';
$test->save();

データの登録も同じようにまずはテーブルを指定します。
create()を呼んで、後はカラムにデータをセットしていくといった感じです。

最後にsave()を呼んでますが、これで処理をコミットしていますので
save()を呼ぶのを忘れずに。

DBのデータを更新する【UPDATE】

$test = ORM::for_table('test')->find_array();
foreach($test as $t) {
  $t->sample = 'test';
  $t->save();
}

まずデータを取得して、更新したい値にデータを入れなおすという形でUPDATEを行います。

直感的で分かりやすいですよね。

DBのデータを削除する【DELETE】

$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を使用する事を検討してみてはいかがでしょうか。

https://mizukazu.com/wp-content/uploads/2018/08/IMG_0477.jpg
みずかず

楽できるところは楽をして開発の効率を上げていきたいですからね!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です