Zend Framework MVC デザイン パターンとは正確には何ですか?
MVC (Model-View-Controller) パターン、つまりモデル-ビュー-コントローラー パターンの中心的な考え方は、プログラム コード全体を比較的独立しているが連携して動作できる 3 つのコンポーネントに分割することです。具体的な機能は次のとおりです。
平たく言うと:
もっと簡単に言うと:
この MVC デザイン パターンは、実際にレストランに食事に行くときのプロセスに少し似ています。レストランに食事に行くときは、まず注文する必要があります。大声を出す必要はありません。スムーズでスムーズな小さなウェイターがあなたの前に来て、「先生、何がご注文ですか?」と言います。 「メニューを見て、魚風味の細切り豚の小皿と、ご飯を一杯ください。」 「わかりました、先生、ちょっとお待ちください。」 そう言ってウェイターは厨房に向かって小走りでした。なんだ…教えて…シェフ、生姜は入れないでください!」 。 。しばらくすると、ウェイターがあなたが頼んだ料理を持ってきました。「先生、ゆっくりしてください~~何か助けが必要な場合は、私に電話してください。あなたは緑色のことさえ知らずに食べ物を食べました。」ピーマンも入ってません~~~
食べ物を頼むというこのような単純なプロセスは、MVC を使用して記述することができます。あなたは View に相当し、ウェイターはコントローラーに相当し、ピーマンを洗わないクソシェフはモデルに相当します。ウェイターに料理を注文すると、ブラウザがサーバーにリクエストを送信し、ウェイターが希望の料理をシェフに渡すことになります。これは、ブラウザから送信されたリクエストを制御層がビジネス ロジックに渡すことに相当します。シェフがこの料理をどのように調理するかは関係ありません。とにかく、ピーマンを洗うかどうかはシェフの仕事です。 . 「カプセル化」と聞くと、しっかり包装されていますね、ピーマンを洗わずに食べても大丈夫ですよ〜〜 店員さんが目の前に魚味の細切りを持ってきてくれます。このプロセスは、ビジネス ロジック層の処理と応答をブラウザーに送り返し、ブラウザーを通じてユーザーに表示することに相当します。これにより、シンプルな MVC 調整対話が実現されます。理解できたかどうかはわかりません。 。 。
簡単なログイン モジュールを例に挙げます。入力が事前に定義されたものと同じである場合は、正しいページを入力する必要があります。Fool が表示されます。こちら、入力が間違っています!」
この小さなモジュールでは、ユーザー名とパスワードを入力するための最初のページと検証後に表示されるページがビューに相当します。ここでは、入力されたユーザー名とパスワードを受け取るために使用されるコントローラー ページも必要です。は検証後に返される Flg です (この Flg は入力が正しいかどうかを判断し、対応するページにジャンプするために使用されます)。最後に Model が欠落しているため、入力した内容が正しいかどうかを処理するために使用されるクラスです。予約注文したものと異なる場合は、Flg を返します。このようにして、ロジックとページの分離が完全に実現されます。私のページはあなたが何をするかは気にしません。とにかくそれを表示するだけです。そして、コントローラーはあなたのモデルが正しいかどうかを気にしません。とにかく、私はあなたに与えました。ユーザー名とパスワードを教えてください。ウェイターがピーマンを洗うかどうかを気にしないのと同じように、メドルに関しては、あえてユーザー名とパスワードを教えてください。パスワード、Flg をあげます~~ これを見たらあなたは啓発されています。後でそれについて書いてみてください。 !
現在、WEB アプリケーションを開発する際に最も人気のある手法の 1 つは、「MVC」構造を使用して WEB アプリケーションを開発することです。これにより、プログラムの設計がより便利かつ迅速になります。 「MVC」とは何ですか?簡単に言うと「Model」「View」「Controller」の組み合わせ、つまりすべて「3層」の抽象構造です。もちろん、ここで言う「MVC」はWEB上のアプリケーション向けです。 「コードとページのデザインを分離する」というアイデアは、JavaServlet/JavaServerPages テクノロジを使用した「Struts」で最も明確に表現されています。興味のある方は、http://Jakarta.Apache.Org/Struts にアクセスしてください。この設計パターンにより、プログラマーはコードの設計、作成、デバッグに集中でき、Web デザイナーは特定の機能の実装に注意を払うことなく、より多くの時間を設計に投資できるようになり、大規模なシステムに完全に適しています。プロジェクトやエンタープライズレベルの分散アプリケーション開発。
PHP5 のリリースから、オブジェクト指向の機能がますます充実していることがわかります。Zend Optimizer と組み合わせれば、PHP を使用して大規模な商用 Web サイトや分散エンタープライズ アプリケーションを開発できるようになりました。達成されました。
PHP の「MVC」デザインパターンを使用して WEB アプリケーションを開発するにはどうすればよいですか? 1 つのこと (コードとページの設計を分ける) を思い出して、簡単な例を使ってそれを説明します。たとえば、データベースからメンバー情報をクエリして Web ページに表示したい場合は、次の 2 つの点を考慮する必要があります。データベースに接続し、情報を取得します。 2. Web ページにメンバー情報を表示し、データベース クラスを使用します。このクラスは「DB」クラスと呼ばれます。今回は「DB」クラスを操作してデータを取得するプログラムを書く必要があります。このプログラムの役割は「コントローラー」です。クライアントからの「POST」または「PUT」データを受け取ります。 、そして、「DB」クラスを呼び出してデータを取得し、それらのデータを「コントローラー」に格納し、最後にデータを「ビュー」に渡して、特定のレイアウト形式に従って表示します。ここではテンプレートが役割を果たしていることがわかります。もちろん、テンプレート クラスだけでは MVC とは言えません。詳細については、「JSF」を参照してください。