2017 © Pedro Peláez
 

library dbml

Database Manipulation Layer

image

ryunosuke/dbml

Database Manipulation Layer

  • Saturday, July 21, 2018
  • by arima-ryunosuke
  • Repository
  • 1 Watchers
  • 0 Stars
  • 0 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

dbml (Database Manipulation layer)

Description

Doctrine/dbal を使用して CRUD 操作に特化したライブラリです。, (*1)

対応(テスト済み)RDBMS, (*2)

  • sqlite 3.8
  • MySQL 8.0.23
  • PostgreSQL 16.3
  • SQLServer 2022

ドキュメントは下記においてあります。, (*3)

Install

{
    "require": {
        "ryunosuke/dbml": "dev-master"
    }
}

Usage

$db = new \ryunosuke\dbml\Database([
    'driver'   => 'pdo_mysql',
    'host'     => '127.0.0.1',
    'port'     => '3306',
    'dbname'   => 'dbname',
    'user'     => 'user',
    'password' => 'password',
    'charset'  => 'utf8',
], [
    /* オプション配列 */
]);

要するに設定情報(\Doctrine\DBAL\DriverManager に渡す配列)をコンストラクタ引数に渡します。 原則としてこの Database インスタンスのみ使用し、他のクラスは直接的には使用しません。 上記のように $db インスタンスを作成してあとはこの $db を使用してデータベースアクセスします。, (*4)

往々にしてクエリビルダを使用するかゲートウェイを使用することが多いです。 基本的な CRUD のコードを以下に記します。, (*5)

// t_article のレコードを全件取得
$db->selectArray('t_article'); // クエリビルダ版
$db->t_article->array();       // ゲートウェイ版

// t_article にレコードを追加する
$db->insert('t_article', [
    'article_title' => 'title',
    'content'       => 'content',
]);
$db->t_article->insert([
    'article_title' => 'title',
    'content'       => 'content',
]);

// t_article のレコードを更新する
$db->update('t_article', [
    'article_title' => 'title2',
    'content'       => 'content2',
], [
    'article_id' => 1,
]);
$db->t_article->update([
    'article_title' => 'title2',
    'content'       => 'content2',
], [
    'article_id' => 1,
]);

// t_article のレコードを削除する
$db->delete('t_article', [
    'article_id' => 1,
]);
$db->t_article->delete([
    'article_id' => 1,
]);

実際は JOIN ができたり下位テーブルを階層で取得できたり、 WHERE に条件が埋め込めたりしますが、そのような細かい使い方はクラスリファレンスを参照。, (*6)

License

MIT, (*7)

The Versions

21/07 2018

dev-master

9999999-dev

Database Manipulation Layer

  Sources   Download

MIT

The Requires

 

The Development Requires

by ryunosuke

21/07 2018

v1.0.1

1.0.1.0

Database Manipulation Layer

  Sources   Download

MIT

The Requires

 

The Development Requires

by ryunosuke

11/07 2018

v1.0.0

1.0.0.0

Database Manipulation Layer

  Sources   Download

MIT

The Requires

 

The Development Requires

by ryunosuke