目次
ThinkPHP3.2.3 データベース設定の新機能
ホームページ バックエンド開発 PHPチュートリアル ThinkPHP3.2.3 データベース設定の新機能_PHP チュートリアル

ThinkPHP3.2.3 データベース設定の新機能_PHP チュートリアル

Jul 13, 2016 am 10:04 AM
データベース 新機能 特性 設定

ThinkPHP3.2.3 データベース設定の新機能

前回の記事では、ThinkPHP3.2 の新しい変更点をまとめました。この記事では、データベースの新機能について詳しく説明します。必要な方は参考にしてください。

ThinkPHP3.2.3 バージョンのデータベースドライバーは PDO を使用して完全に書き直され、以前のバージョンよりも柔軟で強力な使用方法を学びましょう。

まず、3.2.3 のデータベース構成情報が調整されました。完全なデータベース設定は次のとおりです。

コードは次のとおりです:

/* データベース設定 */
'DB_TYPE' => '', // データベースの種類
'DB_HOST' => '', // サーバーアドレス
'DB_NAME' => '', // データベース名
'DB_USER' => '', // ユーザー名
'DB_PWD' => '', // パスワード
'DB_PORT' => '', // ポート
'DB_PREFIX' => '', // データベーステーブルの接頭辞
'DB_PARAMS' => array(), // データベース接続パラメータ
'DB_DEBUG' => TRUE, // データベース デバッグ モードは、オンになった後に SQL ログを記録できます
'DB_LITE' => false, // データベース Lite モードを使用します
'DB_FIELDS_CACHE' => true, // フィールドのキャッシュを有効にする
'DB_CHARSET' => 'utf8', // デフォルトのデータベースエンコーディングは utf8 です
'DB_DEPLOY_TYPE' => 0, // データベース デプロイメント モード: 0 集中型 (単一サーバー)、1 分散型 (マスター/スレーブ サーバー)
'DB_RW_SEPARATE' => false, // データベースの読み書きが分離されていても、マスタースレーブモードは有効です
'DB_MASTER_NUM' => 1, // 読み取りと書き込みを分離した後のマスターサーバーの数
'DB_SLAVE_NO' => '', // スレーブサーバーのシリアル番号を指定します

バージョン3.2.2と比較して、以下の設定パラメータが廃止されました:

コードは次のとおりです:

'DB_FIELDTYPE_CHECK' // 3.2.3 フィールドタイプ検出を強制します
'DB_SQL_BUILD_CACHE' // 3.2.3 は SQL 作成キャッシュをキャンセルしました
'DB_SQL_BUILD_QUEUE' // 3.2.3 は SQL 作成キャッシュをキャンセルしました
'DB_SQL_BUILD_LENGTH' // 3.2.3 は SQL 作成キャッシュをキャンセルしました
'DB_SQL_LOG' // 新しい DB_DEBUG パラメータに置き換えられます
'DB_BIND_PARAM' // 新しいバージョンでは PDO 自動パラメーター バインディングが使用され、設定は不要です

新しいデータベース設定パラメータには以下が含まれます:

コードは次のとおりです:

'DB_DEBUG' //データベース デバッグ モードを有効にするために使用され、有効にすると SQL ログを記録できるようになります
'DB_LITE' // データベース Lite モードを使用して接続するかどうか。これをオンにすると、ネイティブ SQL クエリのみが使用可能になります

バージョン 3.2.2 のデータベースのデバッグ モードは、プロジェクトのデバッグ モード (APP_DEBUG 定数によって定義される) にバインドされます。バージョン 3.2.3 以降、データベースのデバッグ モードは独立して設定されます (DB_DEBUG によって設定されます)。パラメータ)。

DB_TYPE パラメーターはデータベース タイプの設定です。現在サポートされているドライバーには、mysql/sqlite/oracle/pgsql/sqlsrv/firebird が含まれます (他のデータベース タイプには追加のドライバーが必要です)。 'DB_TYPE'=>'mysql', // PDO への設定はサポートされなくなり、mysql と mysqli が区別されなくなりました

コードをコピー

データベースの接続情報には主に次のパラメータが含まれます:


コードは次のとおりです:

'DB_HOST' => '', // サーバーアドレスは IP アドレスを使用します

'DB_NAME' => '', // データベース名
'DB_USER' => '', // ユーザー名
'DB_PWD' => '', // パスワード
'DB_PORT' => '', // ポート 空白のままにすると、デフォルトのポートが使用されます
'DB_CHARSET' => '', // データベースエンコーディング


上記の設定パラメータは、PDOのインスタンス化時にPDO接続パラメータに自動変換されます。

DB_DSN パラメータは通常、設定する必要はありません。調整が必要な場合は、PDO の関連するデータベース接続の DSN 設定に従ってください。

DB_PARAMS はデータベースの接続パラメータを設定するために使用され、PDO インスタンス化の 4 番目のパラメータに渡されます。

以下は典型的なデータベースのグローバル設定です:

コードは次のとおりです:

'DB_TYPE' => 'mysql', // データベースの種類

'DB_HOST' => '192.168.1.10', // サーバーアドレス
'DB_NAME' => 'thinkphp', // データベース名
'DB_USER' => 'root', // ユーザー名
'DB_PWD' => '1234', // パスワード
'DB_PORT' => '3306', // ポート
'DB_PREFIX' => 'think_', // データベーステーブルの接頭辞
'DB_CHARSET' => 'utf8', // データベースエンコーディング
'DB_DEBUG' => TRUE, // データベース デバッグ モードは、オンになった後に SQL ログを記録できます

モデルクラスに別のデータベース接続情報接続属性を設定する場合、次の配列または文字列メソッドを使用できます:

コードは次のとおりです:


//データベース接続情報をモデルに別途設定します
名前空間 HomeModel;
ThinkModel を使用します;
クラス UserModel は Model を拡張します{
// 配列メソッドを使用して定義します
protected $connection = array(
'db_type' => 'mysql',
'db_user' => 'root',
'db_pwd' => '1234',
'db_host' => '192.168.1.10',
'db_port' => '3306',
'db_name' => 'thinkphp',
'db_charset' => 'utf8',
);
}

注: モデルに設定されたデータベース接続設定パラメーターは、グローバル構成の小文字の名前を使用します。

または文字列形式で定義されている場合、形式は次のとおりです:
データベースの種類://ユーザー名:パスワード@データベースアドレス:データベースポート/データベース名#文字セット
例:

コードは次のとおりです:


//データベース接続情報をモデルに別途設定します
名前空間 HomeModel;
ThinkModel を使用します;
クラス UserModel は Model を拡張します{
// 文字列メソッドを使用して定義します
protected $connection = 'mysql://root:1234@192.168.1.10:3306/thinkphp#utf8';
}

次のような構成ファイルを通じて設定することもできます:

コードは次のとおりです:


//データベース構成1
'DB_CONFIG1' => 配列(
'db_type' => 'mysql',
'db_user' => 'root',
'db_pwd' => '1234',
'db_host' => '192.168.1.10',
'db_port' => '3306',
'db_name' => 'thinkphp',
'db_charset'=> 'utf8',
; )、
//データベース構成2
'DB_CONFIG2' => 'mysql://root:1234@192.168.1.10:3306/thinkphp#utf8';

それをモデル内で定義します:

コードは次のとおりです:


//データベース接続情報をモデルに別途設定します
名前空間 HomeModel;
ThinkModel を使用します;
クラス UserModel は Model を拡張します{
//設定ファイル内のデータベース設定 1 を呼び出します
protected $connection = 'DB_CONFIG1';
// または
protected $connection = 'DB_CONFIG2';
}

モデルを定義するときにデータベース接続情報を指定するだけでなく、モデルをインスタンス化するときに M メソッドを使用する場合は、次のような別のデータベース接続情報も渡すことができます。

コードは次のとおりです:


$User = M('User','other_','mysql://root:1234@192.168.1.10/demo#utf8');

は、User モデルをインスタンス化し、デモ データベースの other_user テーブルに接続することを意味し、使用される接続情報は 3 番目のパラメーターで構成されます。

プロジェクト構成ファイルで DB_CONFIG2 を構成した場合は、以下も使用できます:
$User = M('User','other_','DB_CONFIG2');

これがこの記事の全内容です。皆さんに気に入っていただければ幸いです。

http://www.bkjia.com/PHPjc/963996.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/963996.html技術記事前回の記事では、ThinkPHP3.2.3 のデータベース設定の新しい変更点をまとめました。この記事では、データベースの新機能について詳しく説明します。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

iPhoneでサイレントモードが機能しない:修正 iPhoneでサイレントモードが機能しない:修正 Apr 24, 2024 pm 04:50 PM

おやすみモードで電話に応答することさえ、非常に煩わしい経験になる可能性があります。名前が示すように、おやすみモードでは、すべての着信通知と電子メール、メッセージなどからの警告がオフになります。これらのソリューション セットに従って問題を修正できます。解決策 1 – フォーカス モードを有効にする 携帯電話でフォーカス モードを有効にします。ステップ 1 – 上から下にスワイプしてコントロール センターにアクセスします。ステップ 2 – 次に、携​​帯電話の「フォーカスモード」を有効にします。フォーカス モードでは、電話機のサイレント モードが有効になります。携帯電話に着信通知が表示されることはありません。解決策 2 – フォーカス モード設定を変更する フォーカス モード設定に問題がある場合は、修正する必要があります。ステップ 1 – iPhone の設定ウィンドウを開きます。ステップ 2 – 次に、フォーカス モード設定をオンにします

Damai でチケットを入手するためのカウントダウンを設定する方法 Damai でチケットを入手するためのカウントダウンを設定する方法 Apr 01, 2024 pm 07:01 PM

Damai.comでチケットを購入する際、チケット購入時間を正確に把握するために、ユーザーはチケットを取得するためにフローティングクロックを設定することができます。詳細な設定方法は以下にありますので、一緒に学びましょう。フローティング クロックを Damai にバインドする方法 1. 携帯電話でフローティング クロック アプリをクリックして開き、インターフェイスに入り、以下の図に示すように、フラッシュ セール チェックが設定されている場所をクリックします。新しいレコードを追加するページで、Damai.com をクリックしてチケット購入リンク ページをコピーします。 3. 次に、以下のフラッシュセール時間と通知時間を設定し、[カレンダーに保存]の後ろにあるスイッチボタンをオンにして、下の[保存]をクリックします。 4. 以下の図に示すように、[カウントダウン] をクリックしてオンにします。 5. リマインダー時間が来たら、下の [ピクチャーインピクチャーの開始] ボタンをクリックします。 6. チケット購入時間になったら

Douyin の再生が自動的に終了するように設定するにはどうすればよいですか?再生プロセスが自動的に終了するのはなぜですか? Douyin の再生が自動的に終了するように設定するにはどうすればよいですか?再生プロセスが自動的に終了するのはなぜですか? Apr 01, 2024 pm 12:06 PM

Douyin は現在最も人気のあるショートビデオ プラットフォームの 1 つであり、ユーザーはショートビデオの楽しさを楽しみながら、自分の時間をより適切にコントロールしたいとも考えています。最近、一部のユーザーから、Douyin が再生中に自動的に閉じてしまい、非常に迷惑しているとの報告がありました。 1. Douyin の再生を自動的にオフにするように設定するにはどうすればよいですか? 1.Douyinのバージョンを確認する お使いのDouyinのバージョンが最新であることをご確認ください。 Douyin は既知の問題を修正するために定期的に更新されます。 TikTokのバージョンが古すぎる場合、自動的に終了する可能性があります。 TikTokはApp Storeで確認・更新できます。 2. 携帯電話システムのバージョンを確認する Douyin 再生の自動シャットダウンは、携帯電話システムのバージョンに関係している可能性もあります。携帯電話のシステムバージョンが最新であることを確認してください。携帯電話システムのバージョンが古すぎると、Douyin の動作が不安定になる可能性があります。あなたはできる

Hibernate はポリモーフィック マッピングをどのように実装しますか? Hibernate はポリモーフィック マッピングをどのように実装しますか? Apr 17, 2024 pm 12:09 PM

Hibernate ポリモーフィック マッピングは、継承されたクラスをデータベースにマップでき、次のマッピング タイプを提供します。 join-subclass: 親クラスのすべての列を含む、サブクラス用の別個のテーブルを作成します。 table-per-class: サブクラス固有の列のみを含む、サブクラス用の別個のテーブルを作成します。 Union-subclass: join-subclass と似ていますが、親クラス テーブルがすべてのサブクラス列を結合します。

iOS 18では、紛失または破損した写真を復元するための新しい「復元」アルバム機能が追加されます iOS 18では、紛失または破損した写真を復元するための新しい「復元」アルバム機能が追加されます Jul 18, 2024 am 05:48 AM

Apple の最新リリースの iOS18、iPadOS18、および macOS Sequoia システムでは、さまざまな理由で紛失または破損した写真やビデオをユーザーが簡単に回復できるように設計された重要な機能が写真アプリケーションに追加されました。この新機能では、写真アプリのツール セクションに「Recovered」というアルバムが導入され、ユーザーがデバイス上に写真ライブラリに含まれていない写真やビデオがある場合に自動的に表示されます。 「Recovered」アルバムの登場により、データベースの破損、カメラ アプリケーションが写真ライブラリに正しく保存されない、または写真ライブラリを管理するサードパーティ アプリケーションによって失われた写真やビデオに対する解決策が提供されます。ユーザーはいくつかの簡単な手順を実行するだけで済みます

HTML がデータベースを読み取る方法の詳細な分析 HTML がデータベースを読み取る方法の詳細な分析 Apr 09, 2024 pm 12:36 PM

HTML はデータベースを直接読み取ることはできませんが、JavaScript と AJAX を通じて実現できます。この手順には、データベース接続の確立、クエリの送信、応答の処理、ページの更新が含まれます。この記事では、JavaScript、AJAX、および PHP を使用して MySQL データベースからデータを読み取る実践的な例を示し、クエリ結果を HTML ページに動的に表示する方法を示します。この例では、XMLHttpRequest を使用してデータベース接続を確立し、クエリを送信して応答を処理することで、ページ要素にデータを埋め込み、データベースを読み取る HTML の機能を実現します。

PHP で MySQLi を使用してデータベース接続を確立するための詳細なチュートリアル PHP で MySQLi を使用してデータベース接続を確立するための詳細なチュートリアル Jun 04, 2024 pm 01:42 PM

MySQLi を使用して PHP でデータベース接続を確立する方法: MySQLi 拡張機能を含める (require_once) 接続関数を作成する (functionconnect_to_db) 接続関数を呼び出す ($conn=connect_to_db()) クエリを実行する ($result=$conn->query()) 閉じる接続 ( $conn->close())

Weibo でグループ チャット バブルを設定する方法_Weibo でグループ チャット バブルを設定する方法 Weibo でグループ チャット バブルを設定する方法_Weibo でグループ チャット バブルを設定する方法 Mar 30, 2024 pm 01:31 PM

1. Weibo グループ チャットを開き、[設定] を選択します (図を参照)。 2. [チャットバブル] を選択します (図のように)。 3. 対応するレベルに到達したら、バブルを受け取って設定できます (写真を参照)。

See all articles