Ground Sunlight

Windowsで作る - PHPプログラミングの開発環境

ユーザ用ツール

サイト用ツール


サイドバー

メインメニュー

XAMPP アレンジ

IED

WSL2

道具箱

リポジトリ編

フレームワーク編

公開ソフトウェア

メタ
リンク


このページへのアクセス
今日: 4 / 昨日: 15
総計: 2078

basic-library:idiorm:1.5

文書の過去の版を表示しています。


投稿中です。しばらくお待ちください。

ORマッパー - Idiorm

idiormについて

作者の言葉を借りるなら “You might think of Idiorm as a micro-ORM. (idiormはマイクロORMと考えると良いでしょう)“との事。本当に軽量なORマッパーです。選定に当たっては、Laravel5で使われているEloquentとどちらにするかで迷いましたが、兎に角シンプルだったので、idiormの方を選びました。また、ドキュメントもよく完備されており学習コストも少なそうだったのも決め手の一つになりました。

作者によれば、Idiormはバージョン1.5.0の時点(2914-06-22)で機能面では完成し、その後はバグの修正による保守のみになるそうです。その意味でidiormは既に(良い意味で)枯れているORMと言えるでしょう。軽量なORMについては、今度も他の動向に注視する必要がありますが、現時点ではidiormをお薦めしたいと思います。

Note:
Idiormは複合主キーには対応していません。従って、テーブルにはサロゲートキーが必要になります。サロゲートを好まない方は他のORMをお探しください。


インストール

composer require j4mie/idiorm
Using version ^1.5 for j4mie/idiorm
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Installing j4mie/idiorm (v1.5.6): Downloading (100%)
Writing lock file
Generating autoload files
1 package you are using is looking for funding.
Use the `composer fund` command to find out more!
Note:
Eclipse起動中にパッケージを取得した場合は、プロジェクト・エクスプローラー内の[プロジェクト(apricote)]を右クリックして[リフレッシュ]を選択して下さい。また、新しく取得したパッケージのインテリセンスが有効にならない場合は、プロジェクトのビルトまたはクリーン&ビルドを行ってビルドリストの更新を行って下さい。

パッケージの取得が終わると composer.jsonrequire に以下が追加されます。

composer.json
{
    "require": {
        "j4mie/idiorm": "^1.5"
    }
}


テスト

idiorm.php
<?php
require __DIR__.'/../vendor/autoload.php';
 
// データベース接続
ORM::configure(array(
    'connection_string' => 'mysql:host=localhost;dbname=sunlight_db',
    'username' => 'sunlight',
    'password' => 'sunlight',
    'caching' => true,  // Default(false)
    'logging' => true,  // Default(false)
    'logger' => function($log_string, $query_time) {
    // クエリーログ
    },
    ));
 
// 検索
$users = ORM::for_table('user')->raw_query('SELECT * FROM user')->find_many();
 
// 結果出力
header('Content-Type: text/html; charset=UTF-8');
?>
<!DOCTYPE html>
<html>
<head><title>HelloIdirom</title></head>
<body>
<table>
    <tr><th>id</th><th>email</th><th>name</th><th>created_at</th></tr>
    <?php foreach ( $users as $user){ ?>
        <tr><td><?php echo $user['id'] ?></td><td><?php echo $user['email'] ?></td><td><?php echo $user['name'] ?></td><td><?php echo $user['created_at'] ?></td></tr>
    <?php } ?>
</table>
</body>
</html>

実行結果

id  email                  name        created_at
1   y2sunlight@sample.com  y2sunlight  2020-03-20 13:35:09

コメント

コメントを入力. Wiki文法が有効です:
 
basic-library/idiorm/1.5.1584711639.txt.gz · 最終更新: 2020/03/20 22:40 by y2sunlight