2

私はどんどん大きなアプリケーションにひざまずき始めているので、パターンとは何か、それらがどのように機能するかなどを学ぶのは良い考えだと思いました。そこで、私はyoutubeでいくつかのチュートリアルを見て、パターンと設計原則とMVCが登場します。私はそれを聞いたことがありますが、それを実際に理解したことはなく、ZendやCodeIgniter、またはそれを本質的に使用する他のものをまだ使用していません。

とにかく、MVCのトピックを勉強している過程で、私はすでにそれを使用しているようです。誰かが確認できますか?たとえば、ログインシステムを使用してアプリケーションをセットアップする方法は次のとおりです。

login.php-これはフォームを表示するhtmlページです。フォームの送信先:

process.php-このクラスはsubmitの値をチェックし、その値に基づいて入力を検証し、パスワードをチェックし、該当するエラーを送り返します。すべてがコーシャである場合は、Userオブジェクトをインスタンス化します。

user.php-これは、データベースへのユーザーの追加、プロファイル情報のプル、ログアウト、ユーザーからのプライベートメッセージオブジェクトのインスタンス化、必要なセッション変数の設定など、ユーザーが必要とするプロパティとメソッドをテンプレート化するクラスです。その後、情報はprocess.phpに返され、プロセスはログインに成功するとヘッダーがメインページにリダイレクトされます。

それで...これは単純なMVCですか?私が行った調査では、ログインはビューのように聞こえ、プロセスはコントローラーのように聞こえ、ユーザーはモデルのように聞こえます。ここにはもう少し詳細な情報があると思いますが、私は実際にこのようなものに頭を悩ませようとしているので、ロジックの調整は大歓迎です。ありがとう。

4

3 に答える 3

2

要するに、あなたが持っているのは MVC パターンのベアボーンの基本です。

MVC パラダイムでよく言及されるフレーズの 1 つは、「ファット モデル、スキニー コントローラー」です。通常、検証はモデル オブジェクトで行う必要があります。コントローラーはできるだけ軽くする必要があります。

于 2011-04-04T04:45:17.223 に答える
2

あなたの 3 ページは MVC のように聞こえます。ただし、Codeigniter や Zend などのフレームワークを使用して、より厳密で保守しやすいコードを作成することは常に役に立ちます。

于 2011-04-04T04:47:11.017 に答える
2

MVC は、アプリケーションの 3 つの主要な部分を分離して維持する方法であり、保守性と通常はそれに伴うパフォーマンスを向上させます。

たとえば、PHP 5.3 を使用している場合 (最新の静的バインディング、名前空間などは非常に便利です!)、アプリケーションのセクションごとに名前空間を使用できます。次に、アプリケーション ロジックにエラーがある場合、特定のアクションのモデルに移動して修正する必要があることが正確にわかります。

ビューを使用すると、表示ロジックをアプリケーションのビジネス ロジックから切り離すことができます。インラインのようなもので XHTML を使用する人もいれば<?php echo $myVar; ?>、テンプレートを好む人もいます。これは、アプリケーションの GUI やその他の外向きの部分を編集しても、ビジネスにまったく影響を与えないことを意味します。

これは、アプリケーションをモジュール化しながら、すべてのコードが整理され、保守性が向上することを意味します。オートローダーを使用すると (ライブラリやその他のものによってオーバーライドされる可能性があるため、常に使用するのspl_autoload_register('myAutoloader')ではなく常に使用することをお勧めfunction __autoload($className)します)、アプリは必要なときに必要なものだけをロードします。

于 2011-04-04T05:15:39.113 に答える