Windowsで作る - PHPプログラミングの開発環境
このページへのアクセス 今日: 1 / 昨日: 1 総計: 3341
文書の過去の版を表示しています。
投稿中です。しばらくお待ちください。
Version 1.5 (BSD license)
— y2sunlight 2020-03-11
定番ライブラリー に戻る
関連記事
サイト
テストプログラムの所在
{Project Folder}\test\
作者の言葉を借りるなら “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
{ "require": { "j4mie/idiorm": "^1.5" } }
<?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