昨日、グループの誰かが、MVC を使用するとプログラムに多くのデータベース操作が追加され、パフォーマンスが低下すると言いました。これには本当に驚きました。 MVC は単なるフレームワークであり、データベース操作とは何の関係もありません。 MVC は明確なプログラミング開発モデルを提供するだけであり、それを適切に扱う限り、多くの不必要なデータベース操作を実行することは不可能です。 MVC により、プログラマが知らないうちにさらに多くのデータベース操作を実行できるようになる場合、それは明らかに優れた MVC アーキテクチャとは言えません。 MVC はシンプルな開発フレームワークを提供するだけでよく、多くのライブラリ クラスを統合する必要はなく、プログラマがライブラリ クラスを使用することを選択するのが最善だと思います。
私自身の MVC フレームワークの目的は、単純な MVC プロセスを実装することだけであり、特定の状況に基づいてその他のフレームワークが追加されます。まさにコンパクト、フレキシブル、そして効率的です。
ここ数週間で、「PHP で MVC 開発を実装する最も簡単な方法 - ビューとテンプレート テクノロジ」と「PHP で MVC 開発を実装する最も簡単な方法 - 単一のエントリ ポイント」という 2 つの記事を書きました。今日は MVC モデルの実装方法について具体的に説明します。
私自身、MVC の理論を詳しく勉強したことはありませんが、モデルはデータベースのカプセル化であり、モデル メソッドを呼び出すことで、対応するデータを取得できますが、プログラマは実装の詳細を気にする必要はありません。実際の開発では、データベースのテーブルがモデルに相当することが多いでしょう。たとえば、ユーザー情報テーブル userinfo はモデル ユーザーに対応し、モデル ユーザーの add() メソッドを呼び出すことで、データベースにデータを追加したり、select() を介してクエリを実行したり、更新したりできます。それはアップデートを通じて行われます。同時に、モデルは、mysql、oracle、SQL サーバーのいずれを使用するかにかかわらず、特定のデータベースの種類に依存しない必要があります。同時に、WEB開発でRORを使用することはお勧めしません。複雑な複数テーブルのクエリにはSQL言語を使用する方が便利で高速であり、パフォーマンスも優れています。 SQL の知識さえないプログラマーは、資格のあるプログラマーとは言えないと思います。したがって、直接 SQL クエリを実装するためにモデルにクエリ メソッドを提供します。
以下はモデルのおおよその結果です。これは完全なコードではありません。完全なコードについてはデモ パッケージを参照してください。
このモデルでは、対応するために配列とデータベースフィールドを使用します。初期の PHPBEAN では、オブジェクトを使用して対応していました。しかし後になって、この方法は PHP では良くないと感じ、不要なクラスを大量に追加してしまいました。配列を使用する方が便利で優れています (PHP の配列は確かに優れており、JAVA よりもはるかに優れています)。
以下のデモでは、デモンストレーションのために mysql データベースを使用しました。詳細については、「以前のライブラリ クラス php5->php4 を変更する」を参照してください。
以下では、デモの使用方法を詳しく説明します。 ^_^
元のパッケージのindex.phpに
このコードは主に MYSQL をレジストラに登録します。レジストラの使用原理については、私が翻訳した 2 つの記事を参照してください。
次に、次のコードを使用して新しい mysqlController.class.php ファイルを作成します:
上記の最初のことは、コントローラーのコンストラクターにモデルを追加することです。次に、indexAction のモデル メソッドを呼び出してデータを表示します。これは最も単純なクエリ リストを実装します。このアドレス http://path/to/yoursite/mv... から結果を確認できます
将来的には、クエリ、更新、追加、ページング リスト、複数テーブル クエリなど、モデルの他のメソッドの使用方法を説明する具体的なデモを作成する予定です。