TP 5フレームワーク学習心得——(データベースの構成)
12194 ワード
前編ではthink PHP 5(以下、TP 5と略す)のインストール方法とディレクトリ構造を簡単に紹介したが、次にTP 5を構成する.
1:データベースの構成
例えば、ログイン機能を書くには、まずデータベース情報を構成します.主に以下の3つの方法があります.modelで2を構成する.コントローラに3を配置する.Database.phpでの構成は、通常、3つ目の方法で詳細な構成情報を使用します.
typeパラメータはネーミングスペースの完全な定義をサポートし、ネーミングスペースの定義を持たない場合、デフォルトではネーミングスペースとしてthinkdbconnectorが使用されます.アプリケーションが拡張したデータベースドライバを使用すると、次のように構成できます.
データベースを表すコネクタは、デフォルトのthinkdbconnectorMysqlではなく、orgdbMysqlクラスをデータベース接続ドライバとして使用します.
各モジュールは独立したデータベース接続パラメータを設定することができ、同じ構成パラメータは繰り返し設定する必要がなく、例えばadminモジュールのdatabase.phpプロファイルで定義:
adminモジュールを表すデータベースアドレスは192.168.1.1.1100に変更され、データベース名はadminに変更され、その他の接続パラメータとアプリケーションのdatabase.phpの構成は同じです.V5.0.6+バージョンから、Mysqlの断線再接続メカニズムをサポートし、デフォルトではオフになっています.必要に応じて、データベースプロファイルに追加します.
接続パラメータは、異なる接続に対してデータベースの接続パラメータを追加することができます(具体的な接続パラメータはPHPマニュアルを参照してください).内蔵されているパラメータは以下のとおりです.
Databaseで設定したparamsパラメータの接続構成は、内蔵の設定パラメータとマージされます.長い接続を使用してデータベースの小文字列名を返す必要がある場合は、次のように定義できます.
paramsでは、PDOがサポートする接続パラメータを構成できます.リファレンス:http://www.kancloud.cn/manual/thinkphp5/118059#_6
1:データベースの構成
例えば、ログイン機能を書くには、まずデータベース情報を構成します.主に以下の3つの方法があります.modelで2を構成する.コントローラに3を配置する.Database.phpでの構成は、通常、3つ目の方法で詳細な構成情報を使用します.
return [
//
'type' => 'mysql',
//
'hostname' => 'localhost',
//
'database' => 'demo',
//
'username' => 'root',
//
'password' => 'root',
//
'hostport' => '',
// dsn
'dsn' => '',
//
'params' => [],
// utf8
'charset' => 'utf8',
//
'prefix' => '',
//
'debug' => true,
// :0 ( ),1 ( )
'deploy' => 0,
//
'rw_separate' => false,
//
'master_num' => 1,
//
'slave_no' => '',
//
'fields_strict' => true,
//
'resultset_type' => 'array',
//
'auto_timestamp' => false,
//
'datetime_format' => 'Y-m-d H:i:s',
// SQL
'sql_explain' => false,
];
typeパラメータはネーミングスペースの完全な定義をサポートし、ネーミングスペースの定義を持たない場合、デフォルトではネーミングスペースとしてthinkdbconnectorが使用されます.アプリケーションが拡張したデータベースドライバを使用すると、次のように構成できます.
//
'type' => '\org\db\Mysql',
データベースを表すコネクタは、デフォルトのthinkdbconnectorMysqlではなく、orgdbMysqlクラスをデータベース接続ドライバとして使用します.
各モジュールは独立したデータベース接続パラメータを設定することができ、同じ構成パラメータは繰り返し設定する必要がなく、例えばadminモジュールのdatabase.phpプロファイルで定義:
return [
//
'hostname' => '192.168.1.100',
//
'database' => 'admin',
];
adminモジュールを表すデータベースアドレスは192.168.1.1.1100に変更され、データベース名はadminに変更され、その他の接続パラメータとアプリケーションのdatabase.phpの構成は同じです.V5.0.6+バージョンから、Mysqlの断線再接続メカニズムをサポートし、デフォルトではオフになっています.必要に応じて、データベースプロファイルに追加します.
//
'break_reconnect' => true,
接続パラメータは、異なる接続に対してデータベースの接続パラメータを追加することができます(具体的な接続パラメータはPHPマニュアルを参照してください).内蔵されているパラメータは以下のとおりです.
PDO::ATTR_CASE => PDO::CASE_NATURAL,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_ORACLE_NULLS => PDO::NULL_NATURAL,
PDO::ATTR_STRINGIFY_FETCHES => false,
PDO::ATTR_EMULATE_PREPARES => false,
Databaseで設定したparamsパラメータの接続構成は、内蔵の設定パラメータとマージされます.長い接続を使用してデータベースの小文字列名を返す必要がある場合は、次のように定義できます.
'params' => [
\PDO::ATTR_PERSISTENT => true,
\PDO::ATTR_CASE => \PDO::CASE_LOWER,
],
paramsでは、PDOがサポートする接続パラメータを構成できます.リファレンス:http://www.kancloud.cn/manual/thinkphp5/118059#_6