データベースに接続するための ThinkPHP データベース操作
次のチュートリアル コラムでは、ThinkPHP データベースの操作とデータベースへの接続について紹介します。困っている友人の役に立てば幸いです。 ThinkPHP には、さまざまなデータベース操作をカプセル化する抽象データベース アクセス層が組み込まれています。データベースごとに異なるコードや基礎となる実装を記述することなく、パブリック Db クラスを使用するだけで操作できます。クラスは、処理のために対応するデータベースドライバーを自動的に呼び出します。 PDO メソッドを使用することで、現在、Mysql、SqlServer、PgSQL、Sqlite およびその他のデータベースのサポートが含まれています。
アプリケーションでデータベースを使用する必要がある場合は、データベース接続情報を構成する必要があります。データベース構成ファイルを定義するには、さまざまな方法があります。
1. 設定ファイルの定義2. メソッドの設定- 3. モデルクラスの定義
- 設定パラメータのリファレンス
- 1. 設定ファイルの定義
一般的な設定方法は、アプリケーション ディレクトリまたはモジュール ディレクトリの database.php に次の設定パラメータを追加することです:return [
// 数据库类型 'type' => 'mysql',
// 数据库连接DSN配置 'dsn' => '',
// 服务器地址 'hostname' => '127.0.0.1',
// 数据库名 'database' => 'thinkphp',
// 数据库用户名 'username' => 'root',
// 数据库密码 'password' => '',
// 数据库连接端口 'hostport' => '',
// 数据库连接参数 'params' => [],
// 数据库编码默认采用utf8 'charset' => 'utf8',
// 数据库表前缀 'prefix' => 'think_',
// 数据库调试模式 'debug' => false,
// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器) 'deploy' => 0,
// 数据库读写是否分离 主从式有效 'rw_separate' => false,
// 读写分离后 主服务器数量 'master_num' => 1,
// 指定从服务器序号 'slave_no' => '',
// 是否严格检查字段是否存在 'fields_strict' => true,];
// 数据库类型 'type' => '\org\db\Mysql',
データベース コネクタが、デフォルトの \think\db\connector\Mysql の代わりに \org\db\Mysql クラスをデータベース接続ドライバーとして使用することを示します。
各モジュールは独立したデータベース接続パラメータを設定でき、同じ設定パラメータを繰り返し設定する必要はありません。たとえば、管理モジュールの database.php 設定ファイルで定義できます。return [ // 服务器地址 'hostname' => '192.168.1.100', // 数据库名 'database' => 'admin',];
は、管理モジュールのデータベース アドレスが 192.168.1.100 に変更され、データベース名が 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,
'params' => [ \PDO::ATTR_PERSISTENT => true, \PDO::ATTR_CASE => \PDO::CASE_LOWER,],
2. メソッドの構成
Db クラスを呼び出すときに、接続情報を動的に定義できます。例: Db::connect([ // 数据库类型
'type' => 'mysql', // 数据库连接DSN配置
'dsn' => '', // 服务器地址
'hostname' => '127.0.0.1', // 数据库名
'database' => 'thinkphp', // 数据库用户名
'username' => 'root', // 数据库密码
'password' => '', // 数据库连接端口
'hostport' => '', // 数据库连接参数
'params' => [], // 数据库编码默认采用utf8
'charset' => 'utf8', // 数据库表前缀
'prefix' => 'think_',]);
Db::connect('mysql://root:1234@127.0.0.1:3306/thinkphp#utf8');
文字列接続の定義形式は次のとおりです:
データベース タイプ://ユーザー名:パスワード@データベース アドレス: データベース ポート/データベース名#文字セット
注: 文字列モードでは、プレフィックスや接続パラメータなどの一部のパラメータを定義できない場合があります。
アプリケーション構成ファイル
//数据库配置1
'db_config1' => [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => '127.0.0.1',
// 数据库名
'database' => 'thinkphp',
// 数据库用户名
'username' => 'root',
// 数据库密码
'password' => '',
// 数据库编码默认采用utf8
'charset' => 'utf8',
// 数据库表前缀
'prefix' => 'think_',],
//数据库配置2
'db_config2' => 'mysql://root:1234@localhost:3306/thinkphp#utf8';
Db::connect('db_config1');
Db::connect('db_config2');
3 に変更できます。モデル クラス定義
If in a特定のモデル クラスに接続属性が定義されている場合、モデルは動作時に、構成ファイルに設定されているデフォルトの接続情報ではなく、指定されたデータベース接続に自動的に接続します。通常、外部の他のデータベースにある一部のデータ テーブルに使用されます。現在のデータベース接続。例: //在模型里单独设置数据库连接信息
namespace app\index\model;
use think\Model;class User extends Model
{ protected $connection = [ // 数据库类型
'type' => 'mysql', // 数据库连接DSN配置
'dsn' => '', // 服务器地址
'hostname' => '127.0.0.1', // 数据库名
'database' => 'thinkphp', // 数据库用户名
'username' => 'root', // 数据库密码
'password' => '', // 数据库连接端口
'hostport' => '', // 数据库连接参数
'params' => [], // 数据库编码默认采用utf8
'charset' => 'utf8', // 数据库表前缀
'prefix' => 'think_',
];
}
//在模型里单独设置数据库连接信息 namespace app\index\model; use think\Model;class User extends Model { //或者使用字符串定义 protected $connection = 'mysql://root:1234@127.0.0.1:3306/thinkphp#utf8'; }
#構成パラメータのリファレンス
サポートされているデフォルトのデータベース接続情報は次のとおりです: ##pgsql データベース ドライバーを使用している場合は、まず thinkphp/library/think/db/connector/pgsql.sql ファイルを実行用のデータベース。
#type#パラメータ名
説明
デフォルト値
データベース タイプ
なし
##ホスト名 データベース アドレス
127.0.0.1
database データベース名 データベース ユーザー名なし
##ユーザー名
データベース パスワードなし
パスワード
なし
#ホストポート データベース ポート番号 なし なし
##dsn
データベース接続 DSN 情報
empty
params
データベース接続パラメータ
utf8
charset
データベース エンコーディング
なし
prefix
データベースのテーブルプレフィックス
false
debug
デバッグ モードかどうか
0
デプロイ
データベース デプロイメント モード: 0 集中型 (単一サーバー)、1 個の分散型 (マスター/スレーブ サーバー)
false
rw_ Separate
マスタースレーブモードでデータベースの読み書きを分離するかどうか有効です
##master_num 読み取りと書き込みを分離した後のマスター サーバーの数 1
slave_no スレーブサーバーのシリアル番号を指定しますNone
##fields_strict
フィールドの存在を厳密にチェックするかどうか
true
resultset_type
データセットの戻り値の型
array
##auto_timestamp
タイムスタンプ フィールドを自動的に書き込む false
sql_explain
SQL パフォーマンス分析を実行し、デバッグを有効にする必要があるかどうか false
query
クエリ オブジェクトを指定します think\db\Query
builder
データベース ビルダー オブジェクトを指定します なし
注:
以上がデータベースに接続するための ThinkPHP データベース操作の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









ThinkPHP プロジェクトを実行するには、Composer をインストールし、Composer を使用してプロジェクトを作成し、プロジェクト ディレクトリに入り、php bin/consoleserve を実行し、http://localhost:8000 にアクセスしてようこそページを表示する必要があります。

ThinkPHP には、さまざまな PHP バージョン向けに設計された複数のバージョンがあります。メジャー バージョンには 3.2、5.0、5.1、および 6.0 が含まれますが、マイナー バージョンはバグを修正し、新機能を提供するために使用されます。最新の安定バージョンは ThinkPHP 6.0.16 です。バージョンを選択するときは、PHP バージョン、機能要件、コミュニティ サポートを考慮してください。最高のパフォーマンスとサポートを得るには、最新の安定バージョンを使用することをお勧めします。

ThinkPHP フレームワークをローカルで実行する手順: ThinkPHP フレームワークをローカル ディレクトリにダウンロードして解凍します。 ThinkPHP ルート ディレクトリを指す仮想ホスト (オプション) を作成します。データベース接続パラメータを構成します。 Webサーバーを起動します。 ThinkPHP アプリケーションを初期化します。 ThinkPHP アプリケーションの URL にアクセスして実行します。

Laravel フレームワークと ThinkPHP フレームワークのパフォーマンスの比較: ThinkPHP は、最適化とキャッシュに重点を置いて、一般に Laravel よりもパフォーマンスが優れています。 Laravel は優れたパフォーマンスを発揮しますが、複雑なアプリケーションの場合は、ThinkPHP の方が適している可能性があります。

「開発に関する提案: ThinkPHP フレームワークを使用して非同期タスクを実装する方法」 インターネット技術の急速な発展に伴い、Web アプリケーションには、多数の同時リクエストと複雑なビジネス ロジックを処理するための要件がますます高まっています。システムのパフォーマンスとユーザー エクスペリエンスを向上させるために、開発者は多くの場合、電子メールの送信、ファイルのアップロードの処理、レポートの生成など、時間のかかる操作を実行するために非同期タスクの使用を検討します。 PHP の分野では、人気のある開発フレームワークとして ThinkPHP フレームワークが、非同期タスクを実装するための便利な方法をいくつか提供しています。

ThinkPHP のインストール手順: PHP、Composer、および MySQL 環境を準備します。 Composer を使用してプロジェクトを作成します。 ThinkPHP フレームワークと依存関係をインストールします。データベース接続を構成します。アプリケーションコードを生成します。アプリケーションを起動し、http://localhost:8000 にアクセスします。

ThinkPHP は、キャッシュ メカニズム、コードの最適化、並列処理、データベースの最適化などの利点を備えた高性能 PHP フレームワークです。公式パフォーマンステストでは、1秒あたり10,000以上のリクエストを処理できることが示されており、実際のアプリケーションではJD.comやCtripなどの大規模なWebサイトやエンタープライズシステムで広く使用されています。

開発の提案: API 開発に ThinkPHP フレームワークを使用する方法 インターネットの継続的な発展に伴い、API (アプリケーション プログラミング インターフェイス) の重要性がますます高まっています。 API は、異なるアプリケーション間の通信の橋渡しとなるもので、データの共有や関数の呼び出しなどを実現し、開発者に比較的簡単かつ迅速な開発手法を提供します。優れた PHP 開発フレームワークである ThinkPHP フレームワークは、効率的でスケーラブルで使いやすいです。
