このコンテナは、 PEAR::MDB2 抽象化レイヤーを使用してデータベースへのアクセスを行います。 つまり、MDB2 がサポートしているすべてのデータベースに対して ログインデータを保存することができます。
Auth コンストラクタ() でのこのストレージ固有のオプションは、オプションの配列です。
| オプション | データ型 | デフォルト値 | 説明 |
|---|---|---|---|
| "dsn" | string | " | 有効な、正しい形式の DSN 。 |
| "table" | string | "auth" | 認証データが保存されるテーブル名。 |
| "usernamecol" | string | "username" | ユーザ名が保存されるカラムの名前。 |
| "passwordcol" | string | "password" | 暗号化されたパスワードが保存されるカラムの名前。 |
| "db_fields" | array | array() | ユーザの詳細情報を読み込む際に使用する追加フィールドの配列。 |
| "cryptType" | string | "md5" | パスワードを保存する際の暗号化方式。 |
| "auto_quote" | boolean | TRUE | データベースのテーブル名、フィールド名を自動的にクォートするかどうか。 |
| "db_options" | array | array() | PEAR::MDB2 のコンストラクタに渡すオプションの配列。 詳細は PEAR::MDB2 を参照ください。 |
| "db_where" | string | " | クエリの WHERE 句としてデータベースに送る文字列。 fetchData()、listUsers()、 removeUser() および changePassword() で用いられるクエリに追加されます。 Auth 1.5.0 以降で使用可能です。 |
デフォルトでは、MDB2 のデフォルトの可搬性設定である MDB2_PORTABILITY_ALL を使用します。この設定は、予期せぬ振る舞いをすることがあります。 たとえば、データベーススキーマでの定義にかかわらず フィールド名が小文字に変換されてしまうなどです。 "db_options" オプションを使用すると、 この設定をオーバーライドすることができます。次の例を参照ください。
MDB2 のデフォルトの可搬性設定をオーバーライドする例
<?php
$options = array('dsn' => 'mysql://user:password@localhost/database',
'usernamecol' => 'UserName',
'passwordcol' => 'PassWord',
'db_options' => array('portability' => MDB2_PORTABILITY_ALL ^ MDB2_PORTABILITY_FIX_CASE)
);
$auth = new Auth('MDB2', $options, 'loginFunction');
?>