pure.db.datasource
[ class tree: pure.db.datasource ] [ index: pure.db.datasource ] [ all elements ]

Class: DataSource

Source Location: /package/pure/db/datasource/DataSource.inc

Class Overview

PURE_Class
   |
   --DataSource

データソースを取得するクラスです。


Constants

Methods



Class Details

[line 104]
データソースを取得するクラスです。

ただしDataSourceクラスが提供するのは統一的なデータソースの設定ファイルの記述と、そこからの情報取得、PDO を通した接続のみです。 コネクションプーリングなどの高度な機能は提供しません。

データソースの設定ファイルはパッケージルート配下にiniファイルで用意します。 例えば、${PACKAGE_ROOT}/pure/db/DataSource.iniという名前の設定ファイルを用意した場合、以下のように利用します。

  1.  PURE::import("pure.db.datasource.*");
  2.  $ds new DataSource("pure.db.datasource.DataSource");
  3.  $dbh $ds->get("DB_NAME");
  4.  // ... 処理 ...
  5.  $dbh null;

この時、${PACKAGE_ROOT}/pure/db/datasource/DataSource.iniには以下のような定義がされています。

 [DB_NAME]
 dsn=pgsql:host=localhost port=5432 dbname=testdb
 username=bruce
 password=mypass

なお、usernameパラメータとpasswordパラメータは省略可能ですが、usernameパラメータが省略された際にはpasswordパラメータは無視されます。 またパラメータを省略した場合、dsnパラメータには省略したパラメータの設定が必要な場合があることに注意してください。

データソースの設定ファイルには最低限のデータベースハンドルの属性を定義することが出来ます。 データベースハンドルの属性はPDOオブジェクトが生成できた後にsetAttributeメソッドにより設定されます。 データベースハンドルの属性は以下の様にデータソースの設定ファイルに記述します。 各設定値の詳細はhttp://www.php.net/manual/ja/function.PDO-setAttribute.phpを参照してください。

PDO::ATTR_CASEを指定する場合:

     attr.case=*
設定値にはlower、natural、upperが指定可能で、それぞれPDO::CASE_LOWER、PDO::CASE_NATURAL、PDO::CASE_UPPERにマッピングされます。 naturalが規定値です。

PDO::ATTR_ERRMODEを指定する場合:

     attr.errmode=*
設定値にはsilent、warning、exceptionが指定可能で、それぞれPDO::ERRMODE_SILENT、PDO::ERRMODE_WARNING、PDO::ERRMODE_EXCEPTIONにマッピングされます。 exceptionが規定値です。

PDO::ATTR_ORACLE_NULLSを指定する場合:

     attr.oracle_nulls=*
設定値にはnatural、empty_string、to_stringが指定可能で、それぞれPDO::NULL_NATURAL、PDO::NULL_EMPTY_STRING、PDO::NULL_TO_STRINGにマッピングされます。 naturalが規定値です。

PDO::ATTR_STRINGIFY_FETCHESを指定する場合:

     attr.stringify_fetches=*
設定値には真偽値を指定可能です。 true、yes、on、1を指定すると真になります。 false、no、off、0を指定すると偽になります。 どれにも属さない値の場合には偽と解釈されます。 偽が規定値です。

その他、データベース接続を行った後の定型的な処理をオプションとして指定することが出来ます。

自動的なトランザクション開始:

     opt.transaction_auto_start=*
設定値には真偽値を指定可能です。 true、yes、on、1を指定すると真になります。 false、no、off、0を指定すると偽になります。 どれにも属さない値の場合には偽と解釈されます。 偽が規定値です。 真を指定した場合、データベース接続を開き属性を設定した後にbeginTransactionメソッドが呼び出されます。 従って明示的にcommitメソッドを呼び出さないかぎりデータベースへの更新はロールバックされることに注意してください。 注意: 規定値は偽ですが、真の設定を推奨します。




[ Top ]


Class Methods


constructor __construct [line 135]

DataSource __construct( [string $dataSource = false])

コンストラクタです。

データソース設定ファイルを指定してデータソースを作成します。 データソース設定ファイルを省略した場合、DataSource::DEFAULT_DATASOURCE定数の値が利用されます。




Tags:

access:  public


Parameters:

string   $dataSource   データソース設定ファイル

[ Top ]

method get [line 158]

PDO get( string $dbName)

データベースへ接続します。

データソース設定ファイルから指定の名前のデータソースを取得し、PDOクラスを用いてデータベースへ接続します。 指定の名前のデータソースが存在しない場合にはEDataSourceException例外が発生します。 接続に失敗した場合にはPDOException例外が発生します。

一度取得されたデータベース接続はリクエストを処理している間は保持されます。 同じ名前のデータベースを取得しようとした場合、getメソッドはデータベースへの接続を確立する替わりに既に取得している接続を返すことに注意してください。




Tags:

return:  生成したデータベース接続を管理するPDOクラス
throws:  PDOException 接続に失敗
access:  public


Parameters:

string   $dbName   データベース名

[ Top ]


Class Constants

DEFAULT_DATASOURCE =  "pure.db.datasource.DataSource"

[line 118]

標準のデータソース設定ファイルを保持する定数です。

DataSourceクラスはコンストラクタで明示的にデータソース設定ファイル指定しなかった際にはDEFAULT_DATASOURCE定数の設定ファイルを参照します。



[ Top ]



Documentation generated on Sun, 06 Jan 2008 01:33:09 +0900 by phpDocumentor 1.3.2