NotORM は、データベースとの対話を簡素化するために使用される PHP ライブラリです。最も特徴的なのは、テーブルのリレーションシップの処理が非常に簡単であることです。また、NotORMの性能は非常に高く、内蔵ドライバーよりも高い設定が可能です。
データベースに接続
include "NotORM.php"; $pdo = new PDO("mysql:dbname=software"); $db = new NotORM($pdo);
データを読み取る
foreach ($db->application() as $application) { // get all applications echo "$application[title]\n"; // print application title }
条件付きクエリ
$applications = $db->application() ->select("id, title") ->where("web LIKE ?", "http://%") ->order("title") ->limit(10) ; foreach ($applications as $id => $application) { echo "$application[title]\n"; }
結果を読み取る
$application = $db->application[1]; // get by primary key $application = $db->application("title = ?", "Adminer")->fetch();
テーブルの関連付けを処理する
echo $application->author["name"] . "\n"; // get name of the application author foreach ($application->application_tag() as $application_tag) { // get all tags of $application echo $application_tag->tag["name"] . "\n"; // print the tag name }
JOIN 共同クエリ
// get all applications ordered by author's name foreach ($db->application()->order("author.name") as $application) { echo $application->author["name"] . ": $application[title]\n"; }
結果セットのグループ化
echo $db->application()->max("id"); // get maximum ID foreach ($db->application() as $application) { // get count of each application's tags echo $application->application_tag()->count("*") . "\n"; }
完全な例
<?php include "NotORM.php"; $connection = new PDO("mysql:dbname=software"); $software = new NotORM($connection); foreach ($software->application()->order("title") as $application) { // get all applications ordered by title echo "$application[title]\n"; // print application title echo $application->author["name"] . "\n"; // print name of the application author foreach ($application->application_tag() as $application_tag) { // get all tags of $application echo $application_tag->tag["name"] . "\n"; // print the tag name } } ?>