メインメニュー
XAMPP アレンジ
IED
WSL2
-
道具箱
リポジトリ編
フレームワーク編
公開ソフトウェア
メタ
リンク
- PHP ライブラリ
- PHP 言語
basic-library:idiorm:1.5文書の過去の版を表示しています。
投稿中です。しばらくお待ちください。
ORマッパー - Idiorm
Version 1.5 (BSD license)
— y2sunlight 2020-03-11
関連記事
- ORマッパー - Idiorm
サイト
- https://github.com/j4mie/idiorm — idiorm の本家
- https://idiorm.readthedocs.io/en/latest/ — idiorm の公式ドキュメント(英語)
- https://qiita.com/naga3/items/87fef230ac86aeec1eea — idiorm の概要は分かります
テストプログラムの所在
{Project Folder}\test\
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.json
のrequire
に以下が追加されます。- 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
basic-library/idiorm/1.5.1584711639.txt.gz · 最終更新: 2020/03/20 22:40 by y2sunlight
コメント