第1弾/抽象MOS クラスコンポーネント
金魚屋開発支援シリーズ第1弾。
はじめに
Latest Version
HISTORY
Version 1.0.0
公開
動作環境
- Joomla 1.0.x
目的
- PRIMARY KEY はid でauto_increment だ
- 登録日時、登録ユーザID、更新日時、更新ユーザIDは必須でしょ。ついでに勝手に登録して欲しいよね。
- UNIX TIMESTAMP じゃないの!?
- store で新規レコード作った後にいちいち insertid なんて取ってらんないよ
NOTICE
mosKingyoyaAbstract は引数間違えたり値とり損ねたりするとE_USER_WARNING にエラー吐きます。
USAGE
global $mainframe; require_once $mainframe->getPath('class', 'com_kingyoya_mosabstract'); class mosMyComponent extends mosKingyoyaAbstract { var $hoge; var $fuga; var $piyo; function mosMyComponent(&$db) { parent::mosKingyoyaAbstract('#__mytable', $db); } } global $database; $row = new mosMyComponent($database); $row->hoge = 'hoge'; $row->fuga = 'fuga'; $row->piyo = 'piyo'; $result = $row->store(); if (!$result) { // error } $created = $row->created(); // int timestamp echo "Created: ", date('Y-m-d H:i:s', $created), "\n"; $created_by = $row->created_by(); // object mosUser echo "Created by {$created_by->name}\n"; $id = $row->id(); // int row id $result = $row->load($id); if (!$result) { // error } $row->hoge = 'hoge'; $row->fuga = 'fuga'; $row->piyo = 'piyo'; $result = $row->store(); if (!$result) { // error } $modified = $row->modified(); // int timestamp echo "Modified: ", date('Y-m-d H:i:s', $modified), "\n"; $modified_by = $row->modified_by(); // object mosUser echo "Modified by {$modified_by->name}\n";