昨日、グループの誰かが、MVC を使用するとプログラムに多くのデータベース操作が追加され、パフォーマンスが低下すると言いました。これには本当に驚きました。 MVC は単なるフレームワークであり、データベース操作とは何の関係もありません。 MVC は明確なプログラミング開発モデルを提供するだけであり、それを適切に扱う限り、多くの不必要なデータベース操作を実行することは不可能です。 MVC により、プログラマが知らないうちにさらに多くのデータベース操作を実行できるようになる場合、それは明らかに優れた MVC アーキテクチャとは言えません。 MVC は単純な開発フレームワークを提供するだけでよく、多くのライブラリ クラスを統合する必要はなく、プログラマがライブラリ クラスを使用することを選択するのが最善だと思います。
私自身の MVC フレームワークの目的は、単純な MVC プロセスを実装することだけです。特定の状況に応じて、その他のフレームワークを詳細に追加できます。まさにコンパクト、フレキシブル、そして効率的です。
私はここ数週間で 2 つの記事、「PHP で MVC 開発を実装する最も簡単な方法 - ビューとテンプレートのテクノロジ」、「PHP で MVC 開発を実装する最も簡単な方法 - 単一のエントリ ポイント」を書きました。今日は MVC モデルの実装方法について具体的に説明します。
私個人としては、MVC の理論を詳しく勉強したことはありませんが、モデルはデータベースのカプセル化であり、モデル メソッドを呼び出すことで、対応するデータを取得できますが、プログラマは実装の詳細を気にする必要はありません。 。実際の開発では、データベースのテーブルがモデルに相当することが多いでしょう。たとえば、ユーザー情報テーブル userinfo はモデル ユーザーに対応し、モデル ユーザーの add() メソッドを呼び出すことで、データベースにデータを追加したり、select() を介してクエリを実行したり、更新したりできます。それはアップデートを通じて行われます。同時に、モデルは、mysql、oracle、または SQL サーバーのいずれを使用するかにかかわらず、特定のデータベースの種類に依存しない必要があります。同時に、WEB開発でRORを使用することはお勧めしません。複雑な複数テーブルのクエリにはSQL言語を使用する方が便利で高速であり、パフォーマンスも優れています。 SQL の知識すらないプログラマーは、資格のあるプログラマーとは言えないと思います。したがって、直接 SQL クエリを実装するためのクエリ メソッドをモデルに提供します。
以下はモデルのおおよその結果です。これは完全なコードではありません。完全なコードについてはデモ パッケージを参照してください。
コードをコピー コードは次のとおりです:
クラス モジュール{
var $mysql;//mysql、oracle、sql などのデータベース操作クラス
var $tbname;// モデルに対応するテーブル名
var $ debug=false;// デバッグ モードですか?
function module($tbname,$db=''){}// コンストラクター関数
function _setDebug($debug=true){ }//デバッグをオンまたはオフにするパターン
function add($row,$tbname=''){}//新しいレコードを追加します
function query($strsql){}/ /直接クエリ SQL ステートメント
function count($where='',$tbname=''){ }//カウント統計
function select($where='',$tbname= ''){}//クエリ
function delete($where='',$tbname=''){}// 条件を満たすレコードを削除します
function update($ set,$where,$tbname=' '){}// 指定したレコードを更新します
functiondetail($where,$tbname=''){}// レコードの詳細を表示します
}
?>