ホームページ > バックエンド開発 > PHPチュートリアル > php フレームワークの実装方法シリーズ記事 [6] mysql データベース

php フレームワークの実装方法シリーズ記事 [6] mysql データベース

WBOY
リリース: 2016-06-23 13:15:22
オリジナル
841 人が閲覧しました

mysql データベース パッケージを実装する際に考慮すべき問題

  1. 使いやすさ

ダイレクト SQL ステートメント操作メソッドを使用します。 SQL ステートメントを作成できる限り、その他の学習コストはかかりません。

uctphp フレームワークによって提供される DBA 補助カプセル化クラス。使用後は削除できません。

使用前に明示的に初期化してデータベースに接続する必要がありますか? もちろん必要ありません。

最初の SQL ステートメントが実行されるまで、データベースに接続したり、新しい db オブジェクトを作成したりすることはありません。

dba は適切なタイミングでデータベースに接続し、最初の文字エンコード操作を実行します。

クエリステートメント。新しいクエリ コンストラクターは必要なく、非常に複雑で非効率な連鎖操作メソッドも提供しません。

dba は以下のクエリ補助関数を提供します。

ps: の一部上記の関数は、返された配列の各行をマップ関数で処理します。

1

2

3

4

5

6

7

8

9

10

11

12

//値を読み取る

Dba::readOne( $sql );

// 1 行を読み取ります

Dba::readRowAssoc( $sql );

// すべての行を読み取ります

Dba::readAllAssoc( $sql );全行の最初の列を読み込む

Dba::readAllOne( $sql );

//実際のビジネスシーンでは、データの一部をページ単位で読み込むケースがよくあります。

//指定されたページ番号のデータ内容とデータ項目の総数を返すことができる関数は 1 つだけです

Dba::readCountAndLimit( $sql , $page , $limit );

文章を書きます。なぜ読み取りと書き込みを区別する必要があるのでしょうか? 明らかに、読み取りと書き込みの分離、二重書き込み、その他の機能を制御するために拡張できます。

現在、さまざまなクラウド データベースやデータベース ミドルウェアが存在するため、データベース層での実装がより良い選択となります。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Dba::write( $sql );

/* kv 形式で配列配列を直接挿入または更新します

は値を自動的にエスケープし、配列型の値もサポートします。 squls独自のSQLステートメントを書く場合は、AddSlashesまたはMySQL_Real_Escape_Stringを使用して、安全を確保するように注意してください

より効率的にデータをバッチで挿入するために使用します

‐ より効率的にするために

に送信します

-

*/

Dba::insertS( $table , $inserts );

2. トランザクション

PDO を使用してトランザクションをサポートする

1

2

3

();

Dba::commit();

Dba ::rollBack ();

3. 長時間実行

swoole サービス、バックグラウンド ワーカーなど、長時間実行が必要な一部のシナリオでは、データベース接続がタイムアウトになる可能性があります。

データベース接続がタイムアウトしたことが判明すると、DBA は自動的に再接続を試みます。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート