Class Ethna_AppObject

Description

アプリケーションオブジェクトのベースクラス

  • author: Masaki Fujimoto <fujimoto@php.net>
  • todo: 複数テーブルの対応
  • todo: remove dependency on PEAR::DB
  • todo: quoteidentifier は Ethna_AppSQL に持っていくべき
  • access: public

Located in /class/AppObject.php (line 23)


	
			
Variable Summary
 mixed $action_form
 mixed $af
 mixed $backend
 mixed $config
 mixed $db_prefix
 mixed $i18n
 mixed $id
 mixed $id_def
 mixed $prop
 mixed $prop_backup
 mixed $prop_def
 mixed $session
 mixed $table_def
Method Summary
 mixed __construct (object Ethna_Backend $backend, [mixed $key_type = null], [mixed $key = null], [array $prop = null])
 mixed add ()
 string dump ([string $type = "csv"])
 void exportForm ()
 mixed get (string $key)
 array getDef ()
 mixed getId ()
 mixed getIdDef ()
 string getLongName (string $key)
 string getName (string $key)
 array getNameObject ()
 void importForm ([int $option = null])
 bool isActive ()
 bool isValid ()
 mixed remove ()
 mixed replace ()
 mixed searchId ([array $filter = null], [array $order = null], [int $offset = null], [int $count = null])
 mixed searchProp ([array $keys = null], [array $filter = null], [array $order = null], [int $offset = null], [int $count = null])
 void set (string $key, string $value)
 mixed update ()
 string _dump_csv ()
 void _fieldNameToFormName ( $field_def)
 array _getDBList ()
 array _getPropDef ()
 array _getTableDef ()
 int _setDefault (mixed $key_type, mixed $key)
Variables
mixed $action_form (line 40)
  • access: protected
mixed $af (line 43)
  • access: protected
mixed $backend (line 31)
  • access: protected
mixed $config (line 34)
  • access: protected
mixed $db_prefix = null (line 49)
  • access: protected
mixed $i18n (line 37)
  • access: protected
mixed $id = null (line 70)
  • access: protected
mixed $id_def = null (line 67)
  • access: protected
mixed $prop = null (line 58)
  • access: protected
mixed $prop_backup = null (line 61)
  • access: protected
mixed $prop_def = null (line 55)
  • access: protected
mixed $prop_def_cache_lifetime = 86400 (line 64)
  • access: protected
mixed $session (line 46)
  • access: protected
mixed $table_def = null (line 52)
  • access: protected
Methods
Constructor __construct (line 87)

Ethna_AppObjectクラスのコンストラクタ

  • return: 0:正常終了 -1:キー/プロパティ未指定 Ethna_Error:エラー
  • access: public
mixed __construct (object Ethna_Backend $backend, [mixed $key_type = null], [mixed $key = null], [array $prop = null])
  • object Ethna_Backend $backend: Ethna_Backendオブジェクト
  • mixed $key_type: レコードを特定するためのカラム名 (通常はプライマリーキーのフィールド)
  • mixed $key: レコードを特定するためのカラム値
  • array $prop: プロパティ(レコードの値)一覧
add (line 413)

オブジェクトを追加する(INSERT)

  • return: 0:正常終了 Ethna_Error:エラー
  • todo: remove dependency on PEAR::DB
  • access: public
mixed add ()
dump (line 352)

オブジェクトプロパティを指定の形式でダンプする(現在はCSV形式のみサポート)

  • return: ダンプ結果(エラーの場合はnull)
  • access: public
string dump ([string $type = "csv"])
  • string $type: ダンプ形式("csv"...)
exportForm (line 397)

オブジェクトプロパティをフォーム値にエクスポートする

  • access: public
void exportForm ()
get (line 260)

オブジェクトプロパティへのアクセサ(R)

  • return: プロパティ(カラムの値)
  • access: public
mixed get (string $key)
  • string $key: プロパティ名(カラム名)
getDef (line 220)

オブジェクトのプロパティ定義(カラム定義)を返す

  • return: オブジェクトのプロパティ定義
  • access: public
array getDef ()
getId (line 246)

オブジェクトID(primary keyの値)を返す

  • return: オブジェクトID
  • access: public
mixed getId ()
getIdDef (line 233)

プライマリキー定義を返す

  • return: プライマリキーとなるプロパティ名
  • access: public
mixed getIdDef ()
getLongName (line 300)

オブジェクトプロパティ表示名(詳細)へのアクセサ プロパティ値と、表示用の値が違う場合 (「県」等)に、 オーバーライドして下さい。

  • return: プロパティ(カラム)の表示名(詳細)
  • access: public
string getLongName (string $key)
  • string $key: プロパティ(カラム)名
getName (line 285)

オブジェクトプロパティ表示名へのアクセサ プロパティ値と、表示用の値が違う場合 (「県」等)に、 オーバーライドして下さい。

表示用の値を返す形で実装します。

  • return: プロパティ(カラム)の表示名
  • access: public
string getName (string $key)
  • string $key: プロパティ(カラム)名
getNameObject (line 314)

プロパティ表示名を格納した連想配列を取得する すべての getName メソッドの戻り値を配列として返します。

  • return: プロパティ表示名を格納した連想配列
  • access: public
array getNameObject ()
importForm (line 372)

フォーム値からオブジェクトプロパティをインポートする

  • access: public
void importForm ([int $option = null])
  • int $option: インポートオプション OBJECT_IMPORT_IGNORE_NULL: フォーム値が送信されていない場合はスキップ OBJECT_IMPORT_CONVERT_NULL: フォーム値が送信されていない場合、空文字列に変換
isActive (line 204)

アクティブなオブジェクトかどうかを返す

isValid()メソッドはオブジェクト自体が有効かどうかを判定するのに対し isActive()はオブジェクトがアプリケーションとして有効かどうかを返す

  • return: true:アクティブ false:非アクティブ
  • access: public
bool isActive ()
isValid (line 184)

有効なオブジェクトかどうかを返す プライマリーキーの値が設定されてなければ不正なオブジェクトです。

  • return: true:有効 false:無効
  • access: public
bool isValid ()
remove (line 596)

オブジェクト(レコード)を削除する

  • return: 0:正常終了 Ethna_Error:エラー
  • todo: remove dependency on PEAR::DB
  • access: public
mixed remove ()
replace (line 559)

オブジェクトを置換する

MySQLのREPLACE文に相当する動作を行う(add()で重複エラーが発生したら update()を行う)

  • return: 0:正常終了 >0:オブジェクトID(追加時) Ethna_Error:エラー
  • todo: remove dependency on PEAR::DB
  • access: public
mixed replace ()
searchId (line 627)

オブジェクトID(プライマリーキーの値)を検索する

  • return: array(0 => 検索条件にマッチした件数,
    1. => $offset, $countにより指定された件数のオブジェクトID一覧)
    Ethna_Error:エラー TODO: remove dependency on PEAR::DB
  • access: public
mixed searchId ([array $filter = null], [array $order = null], [int $offset = null], [int $count = null])
  • array $filter: WHERE検索条件(カラム名をキー、値には実際の条件値か、Ethna_AppSearchObjectを指定)
  • array $order: 検索結果ソート条件 (カラム名をキー。値には、昇順の場合は OBJECT_SORT_ASC, 降順の場合は OBJECT_SORT_DESC)
  • int $offset: 検索結果取得オフセット
  • int $count: 検索結果取得数
searchProp (line 682)

オブジェクトプロパティ(レコード)を検索する

  • return: array(0 => 検索条件にマッチした件数,
    1. => $offset, $countにより指定された件数のオブジェクトプロパティ一覧)
    Ethna_Error:エラー TODO: remove dependency on PEAR::DB
  • access: public
mixed searchProp ([array $keys = null], [array $filter = null], [array $order = null], [int $offset = null], [int $count = null])
  • array $keys: 取得するプロパティ(カラム名)
  • array $filter: WHERE検索条件(カラム名をキー、値には実際の条件値か、Ethna_AppSearchObjectを指定)
  • array $order: 検索結果ソート条件 (カラム名をキー。値には、昇順の場合は OBJECT_SORT_ASC, 降順の場合は OBJECT_SORT_DESC)
  • int $offset: 検索結果取得オフセット
  • int $count: 検索結果取得数
set (line 334)

オブジェクトプロパティ(カラムに対応した値)を設定します。

  • access: public
void set (string $key, string $value)
  • string $key: プロパティ(カラム)名
  • string $value: プロパティ値
update (line 503)

オブジェクトを更新する(UPDATE)

  • return: 0:正常終了 Ethna_Error:エラー
  • todo: remove dependency on PEAR::DB
  • access: public
mixed update ()
_dump_csv (line 1426)

オブジェクトプロパティをCSV形式でダンプする

  • return: ダンプ結果
  • access: protected
string _dump_csv ()
_fieldNameToFormName (line 1651)

データベースフィールド名に対応するフォーム名を取得する

  • access: protected
void _fieldNameToFormName ( $field_def)
  • $field_def
_getDBList (line 1502)

DBオブジェクト(read only/read-write)を取得する

  • return: array('ro' => {read only db object}, 'rw' => {read-write db object})
  • access: protected
array _getDBList ()
_getPropDef (line 1576)

プロパティ定義を取得します。キャッシュされている場合は、 そこから取得します。

  • return: プロパティ定義
  • access: protected
array _getPropDef ()
_getTableDef (line 1550)

テーブル定義を取得する

(クラス名→テーブル名のルールを変えたい場合は このメソッドをオーバーライドします)

  • return: テーブル定義
  • access: protected
array _getTableDef ()
_setDefault (line 729)

オブジェクトのアプリケーションデフォルトプロパティを設定する

コンストラクタにより指定されたキーにマッチするエントリがなかった場合の デフォルトプロパティをここで設定することが出来る

  • return: 0:正常終了
  • access: protected
int _setDefault (mixed $key_type, mixed $key)
  • mixed $key_type: 検索キー名
  • mixed $key: 検索キー
_SQLPlugin_SearchPropDef (line 1413)

オブジェクト検索SQLプラグイン(追加条件定義)

sample:

  1.   $search_prop_def array(
  2.     'group_id' => array(
  3.       'primary' => true'key' => true'type' => VAR_TYPE_INT,
  4.       'form_name' => 'group_id''table' => 'group_user_tbl',
  5.     ),
  6.   );
  7.   return $search_prop_def;

  • return: 追加条件定義
  • access: protected
array _SQLPlugin_SearchPropDef ()
_SQLPlugin_SearchTable (line 1389)

オブジェクト検索SQLプラグイン(追加テーブル)

sample:

  1.   return " LEFT JOIN bar_tbl ON foo_tbl.user_id=bar_tbl.user_id";

  • return: テーブルJOINのSQL文
  • access: protected
string _SQLPlugin_SearchTable ()

Documentation generated on Fri, 11 Nov 2011 03:57:40 +0900 by phpDocumentor 1.4.3