DB_DataObject や自動生成されるクラスや定義を使用する前に設定する必要があります。 DB_DataObject の最も簡単な設定法は、 ini ファイルを使用することです (しかしながら、PEAR::Config クラスや独自の設定システムを検討する方を好むかも知れません) 。
DB_DataObject (あるいは、このようなオプションを使用する他のクラス) でこの設定ファイルを使用します。
database
DSNデータベースに接続するためのデフォルトの DSN を指定します。
schema_location
directoryDB_DataObject のデータベーススキーマファイルがストアされるディレクトリを 指定します。
DB_DataObject は、データベースの詳細 (表やカラム) をこのディレクトリにある ini ファイルにストアします。 この情報は、SQL の組み立ての際、 カラムが文字列型でクオートが必要かどうか、 あるいは数値型 (かつ、チェックされる) かどうかを決定するのに使用されます。一般的には継承した DataObject クラスと同じディレクトリにスキーマをストアします。
require_prefix
directoryデフォルトの取り込みパス (include path) への絶対パス、 あるいは相対パスを指定します。 ここには、拡張したクラスが格納されています。
これは、クラスの自動読み込みのために staticGet() メソッドと getLinks() メソッドによって使用されます。
class_prefix
string
生成された全てのクラスは、
{class_prefix}ucfirst($table_name)
と命名されます。
接頭辞を変更するためにこれを使用してください。
これは、staticGet()
と
getLinks()
によって使用されます。
sequence_{table}
stringキー定義ファイルを無効とし、表のキーを特定のキーにハードコードするために使用します。 通常、 構成上正しく問い合わせることができないデータベースで使用します。
ignore_sequence_keys
string自動的にシーケンスで埋めるために PEAR の nextval() を使用したくない場合、"ALL" あるいはテーブルのリスト "person,cart,group" とすることで無効にすることができます。
debug
integerデフォルトのデバッグレベルを指定します (デフォルト 0=off、1= 基本的な SQL ロギング、 2=結果ロギング、3=全て) 。
debug_ignore_updates
booleanデフォルトは FALSE 。 セットされた場合、データベースの更新は無効になります。
dont_die
booleanデフォルトは FALSE 。 dataobjects の通常の振る舞いは、 致命的エラーが発生したり、データベースとの接続に失敗する、 あるいはメソッドに無効なオブジェクト型を渡した場合、 PEAR_ERROR_DIE (たとえば、PHP を終了する) となります。 しかし、サーバを生かしておく必要がある場合、 TRUE をセットしてエラーをキャッチし、PEAR エラーハンドラを定義 することで、 'すみません、ただいまメンテナンスのため停止しています' といった親切なメッセージ画面を表示させることができます。
quote_identifiers
booleanSQL 文中の識別子のクオーテーションを強制する場合、 1 をセットします。
proxy
stringクラスや ini クラスの生成を手動でコード生成しなくても オンザフライで行うことが可能になります (現時点でサポートされている値は "full" だけで、 スキーマデータとファクトリを使用する際のデフォルトのクラスを 生成します) 。
database_*
string複数のデータベースがある場合、それぞれのデータベースの DSN を特定するために database_* を使用することができます。
table_*
string複数のデータベースがある場合、 個々の表を異なるデータベースにマップするために table_* を使用することができます。 たとえは、次のような感じです。
class_location
directoryクラスを拡張した DataObject を配置するディレクトリを指定します。
クラスの定義の更新/生成の際、 自動クラスビルダによって使用されます。
extends
string基底クラスの名前 (通常、DB_DataObject) を指定します。
全てのクラスに有用なメソッドの共通レイヤーを追加したい場合、
extends_location と extends
に別のクラスを指定することができます。
デフォルトは
'DB_DataObject'
です。
extends_location
directoryThe Directory where your Base Class (usually 基底クラス (通常は、DB_DataObject) を配置するディレクトリを指定します。
全てのクラスに有用なメソッドの共通レイヤーを追加したい場合、
extends_location と extends
に別のクラスを指定することができます。
デフォルトは
'DB/DataObject.php'
です。
generator_class_rewrite
booleanデータベースからクラスを再生成するとき、 通常、変数や staticGet などのみが更新されますが、 これをセットすることで拡張フィールドも更新されるようになります。
build_views
booleanPostgres (といくつかの他のもの) で通常のテーブルのように ビューを処理できるようにするかを指定します (たとえば、挿入/更新/削除などがビューでも動作します) 。 データベースの全てのビューに対してファイルを生成するために、 このオプションを使用することができます。
注意: 生成されたクラスで手動でキーを指定する必要があります。 (たとえば、メソッド keys() と sequenceKey() を定義する場合です。 何をキーにすればよいかをビルダは推測することはできません) 。
generator_include_regex
stringもし特定のテーブルに対してクラスと ini エントリだけをを生成したい 場合に正規表現を指定します。これにより、 名前が正規表現にマッチするテーブルのみ生成されます。 例えば、 /mytables_.*/ です。
generator_exclude_regex
stringもし特定のテーブルに対してクラスと ini エントリだけを を生成したくない場合に正規表現を指定します。これにより、 名前が正規表現にマッチするテーブルのみ生成されません。 例えば、 /private_tables_.*/ です。
generator_novars
booleanもし True ならば、カラムのためのプライベート あるいは変数定義を出力しませんので、get/set メソッドを オーバーロードすることができるようになります。
generator_add_validate_stubs
booleanもし True ならば、検証メソッドのためのスタブを追加します。