Home >ActiveRecord

ActiveRecord

  • 2005-10-14 (金)

PHP5でPDOに慣れようとしていることに関しては、前回書きましたが、現在開発しているプロジェクトのためにと、PDOを使ったPHP版ActiveRecordクラスを作成しています。ActiveRecord といえば Ruby on Rails で有名になりましたが、よくよく調べていくと、自分がよく使っている言語でも似たようなクラスが欲しくなりました。

ある程度できれば何らかの形で公開したいと思います。以下のような感じで利用できるようにする予定です。

<?php
class User extends ActiveRecord
{
}

// レコードの作成
$user = new User();
$user->name = 'hoge';
$user->mail = 'hoge@example.com';
$user->save();
$user_id = $user->id;

// レコードの取得
$user = new User( $user_id );
echo $user->name;   // 'hoge'

// レコードの更新
$user = new User( $user_id );
$user->name = 'hoge';
$user->mail = 'hoge@example.com';
$user->save();

// レコードの削除
$user = new User( $user_id );
$user->delete();

// レコード一覧の取得
$user_factory = new User();
$user_list = $user_factory->find_all();
foreach( $user_list as $user_id=>$user )
{
    echo $user->name;
}

//
// 例:User と関連した Mail の一覧の取得
//

class Mail extends ActiveRecord
{
}

$user = new User( $user_id );

// user_id={$user_id} となっている Mail の一覧
$mail_list = $user->mail->find_all();
foreach( $mail_list as $mail_id=>$mail )
{
    echo $mail->subject;
}
?>

Home > ActiveRecord

Search
Feeds

Page Top