Curry
PHP Framework

core

db

html

utility

Db

クラス概要

Dbクラスはデータベース接続オブジェクトを管理するクラスです。factoryメソッドにより、DBへの実際の接続を確立し、接続オブジェクトとしてPDOのインスタンスを返します。これによって得られたPDOインスタンスは純粋なPDOインスタンスの為、PDOの機能をは全て利用することができます。PDOについてはPDOのマニュアルを参照してください。

Dbクラスの利用にあたってはデータベース接続情報を設定する必要があります。
これはsetConfigメソッドに対して必要情報を配列で指定するか、database.iniに接続情報を記述するだけでも、設定が可能です。

クラスファイル位置

curry/db/db.php

フィールド

公開されるフィールドはありません。

メソッド

メソッド名 アクセス 概要
setConfig public データベースへの接続情報を設定します。
最低限必要な情報は以下の通りです。

1、データベース種別(MySQLかPostgreSQLか)
キー:type
設定値:"mysql"か"pgsql"

2、データベースホスト名
キー:host
設定値:データベースのインストールされているサーバーのドメイン名またはIPアドレス

3、データベース名
キー:dbname

4、データベースユーザー名
キー:user

5、データベースパスワード
キー:password

任意で指定可能な項目は以下の通りです。

1、ポート
キー:port
省略時のデフォルト:mysqlは3306、pgsqlは5432

2、charset
キー:charset
省略時のデフォルト:utf8(EUC-JPの場合は"ujis"、SHIFT-JISの場合は"sjis")
getConfig public setConfigにより設定された接続情報を取得します。
isSingleton public シングルトン接続が有効であるか否かを取得します。

※ver1.4.0からこのメソッドの動作が変更になりました。設定用のメソッドはsetIsSingletonになります。互換性を保つため、従来の動作にも対応していますが、将来のバージョンで設定の機能は削除予定です。
enableLogging public 引数でログキーを指定することで、全SQL実行履歴をログへ出力することができます。
ログキーは、Logger::setLogNameメソッドの第二引数で指定した、ログファイルに対するログキーです。指定したキーに対応するログファイルへSQL実行履歴が出力されます。
factory public setConfigで設定された接続情報をもとにDBへの接続を確立し、PDOインスタンスを返します。
getSqlHistory public SQLの実行履歴を全て配列で取得します。
getLastSql public このメソッドの直前に実行されたSQL情報を取得します。
setIsSingleton public Dbクラスをシングルトン的に利用したい場合、このメソッドにtrueを指定することで可能になります。この場合、Db::factoryメソッドが返す接続オブジェクトはスクリプトを通して必ず同一のインスタンスであることが保証されるようになります。

※バージョン1.4.0以降