データベース設定

モデルクラスを利用する場合のデータベースに関する内容を設定します。
ライブラリ「データベース」の接続に関する設定も行ないます。

ロードポジション

以下のロードポジションに配置し、順に読み込みが処理されます。
同名の定義は、後方優先で上書きされます。

  1. core/conf/db.php : Ziu コア標準に用意されているもの (変更不可)
  2. apps/_conf/db.php : アプリケーション全体で共有するもの
  3. apps/(アプリケーションフォルダ名)/_conf/db.php : アプリケーションごとに用意するもの

ルーティング設定は、Ziu 内部で利用します。ヘルパー関数を用いる必要はありません。

設定方法

ファイル名は db.php で作成、記述は配列で返します。 return array();

デバッグ/キャッシュ

キャッシュフラグ

'cache' => FALSE,

変数(メモリ)へのクエリキャッシュを有無を指定します。

デバッグフラグ

'debug' => FALSE,

SQLデバッグ用にログファイル出力の有無を指定します。

デバッグMySQLモード

'debug_mysql_sql_mode' => 'NO_ENGINE_SUBSTITUTION,STRICT_ALL_TABLES',

デバッグフラグが TRUE の時に、指定のMySQLモードに変更します。

デバッグ対象DBメソッドグループ

'debug_method_group' => 'normal',

デバッグフラグが TRUE の場合、デバッグするモデルスーパークラスの実行メソッドのグループ名を指定します。
実行メソッドのグループ名は、次のcall_method_group を参照。

DBメソッドグループ

'call_method_group' => array(
    'execution' => 'fetch,query,execute',
    'normal'    => 'fetch,query,execute,begin,commit,rollback,transaction',
    'all'       => '', // empty is all of method
),

実行メソッドグループにメソッド名を指定します。
グループは3種類あり、実行メソッドグループ(execution)、標準メソッドグループ(normal)、全メソッドグループ(all) があります。
グループに指定されているメソッドを変更することも可能ですが、通常はこのまま利用します。

データベース接続

接続処理関数

'connecting' => array(
    'read'  => 'database_connect',
    'write' => 'database_connect',
),

接続処理を実行する関数名をマスター(write)/スレーブ(read)それぞれ指定します。
単一データベースの場合は、同じ関数名を指定します。

接続名

'connection_name' => 'development',

ライブラリ「データベース」で使用する 接続名 を指定します。接続名 は、後述にある 接続情報(connection) で定義し、任意で好みの名前を付けることができます。
以下の例では、development staging production を指定することができます。

接続情報

'connection' => array(
    'development' => array(
        'dsn' => 'mysql:host=localhost;dbname=sample_dev',
        'user' => 'sample_user',
        'pass' => '123456',
        'pooling' => FALSE,
    ),
    'staging' => array(
        'dsn' => 'mysql:host=localhost;dbname=sample_stg',
        'user' => 'sample_user',
        'pass' => '123456',
        'pooling' => FALSE,
    ),
    'production' => array(
        'dsn' => 'mysql:host=localhost;dbname=sample_pro',
        'user' => 'sample_user',
        'pass' => '123456',
        'pooling' => FALSE,
    ),
),

ライブラリ「データベース」で使用する接続情報を接続名ごとに定義します。
接続情報の項目に関する詳細は データベース を参照して下さい。

モデルスーパークラス名

'default_model_super_class' => 'Model_Super',

モデルスーパークラスの名前を変更することができます。