ThinkPHP3.2.3 データベース設定の新機能_PHP チュートリアル
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_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_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_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_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');

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

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

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

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

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

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

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

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