ホームページ > バックエンド開発 > PHPチュートリアル > PHP の MVC パターンを理解するのに役立ちます

PHP の MVC パターンを理解するのに役立ちます

WBOY
リリース: 2016-06-13 13:19:34
オリジナル
771 人が閲覧しました

PHP の MVC モデルを理解するのに役立ちます
1. 単一の入り口: フロント デスクでのすべてのユーザー リクエストはこの入り口から入ってきますか?
この入り口は通常、index.php ですが、この URL はどうやって入手したのでしょうか?
2.コントローラーに相当するモジュールですか?登録、ログインなどが含まれるユーザー モジュールがある場合、コントローラーに到達する前に URL を解析するプロセスはありますか? URL を解析してユーザーのリクエストを識別し、それがユーザー コントローラーに転送され、コントローラーがリクエストをモデルに転送します。登録とログインを含むクラス (モデル) を作成します。このメソッドを待ちます。それとも 1 つのモジュールが 1 つのコントローラーに対応し、モデル内に個別の登録、ログイン、その他のクラスがありますか?
3. フレームワークといくつかの MVC で書かれたプロジェクトを長い間見てきましたが、MVC がどのように機能するのか、あちこち行ったり来たりして、プロセスがまったく理解できません。

-----解決策--------------------------------
1. 単一の入り口: フロントデスクでのユーザーのリクエストはすべてこの入り口から入りますね?
この入り口は通常、index.php ですが、この URL はどうやって入手したのでしょうか?

一般的には、.htaccess ファイルを介してエントリファイルに制御が渡されます。もちろん、他の方法もあります。

2. コントローラーに相当するモジュールですか。登録、ログインなどが含まれるユーザー モジュールがある場合、コントローラーに到達する前に URL を解析するプロセスはありますか? URL を解析してユーザーのリクエストを識別し、それがユーザー コントローラーに転送され、コントローラーがリクエストをモデルに転送します。登録とログインを含むクラス (モデル) を作成します。このメソッドを待ちます。それとも 1 つのモジュールが 1 つのコントローラーに対応し、モデル内に個別の登録、ログイン、その他のクラスがありますか?

1 つのモジュールが 1 つのコントローラーに対応するわけではありません。これは、コントローラーに到達する前に URL を解析するプロセスが存在するため、業務に応じて設計できます。これは前述の 1 つのエントリで実行され、URL が解析されてどのコントローラを使用するかが決定されます。コントローラーはユーザー データを受け入れ、モデルを呼び出してデータを処理します。その後、コントローラーはモデル処理の結果 (登録やログインなど、コントローラーはユーザー名とパスワードなどを受け入れて、呼び出します) をビューに送信します。モデルがユーザー名やパスワードなどを検証し、コントローラ(検証など)の結果(成功または失敗)が再度ビューに送信されます)。あなたが言及した登録とログインは、実際にはコントローラー内のメソッド(一般にアクションと呼ばれます)ですが、登録とログインの一部のロジック(データのクエリなど)はモデル内で完了します。


3. フレームワークといくつかの MVC で書かれたプロジェクトを長い間見てきましたが、MVC がどのように機能するのかがまだわかりません。プロセスがわかりません。
フレームワーク内の単純なプロセスは一般的に次のとおりです (もちろん、途中に他のものもあり、これは単なる大まかなアイデアです)
リクエスト -> 単一のエントリに移動 -> ルーティング (つまり、解析と呼ばれるもの) URL)->配布->リクエストの処理->完了
------解決策---------
M: モデル モデル
V: ビュー ビュー
C: control control

3. MVC で書かれたフレームワークといくつかのプロジェクトを長い間見てきましたが、MVC がどのように機能するのかまだわかりません。 . このプロセスが本当にわかりません。
「目の見えない人が象に触る」、そうです!
フレームワークはモジュール間の接続を非表示にし、変更可能な一部のリンクのみをユーザーに公開します。フレームワークでプログラムを書くことは、穴埋め問題に答えることに似ています。
これが初心者にフレームワークの使用をお勧めしない理由です

2. コントローラーに相当するモジュールですか?登録、ログインなどが含まれるユーザー モジュールがある場合、コントローラーに到達する前に URL を解析するプロセスはありますか? URL を解析してユーザーのリクエストを識別し、それがユーザー コントローラーに転送され、コントローラーがリクエストをモデルに転送します。登録とログインを含むクラス (モデル) を作成します。このメソッドを待ちます。それとも 1 つのモジュールが 1 つのコントローラーに対応し、モデル内に個別の登録、ログイン、その他のクラスがありますか?
MVC の欠点は、役割分担が明確でないことです
現在、ほとんどのフレームワークはビジネス ロジックを C に置き、データ テーブルの操作を M に置きます
MVC の文字通りの意味では、C は制御と制御のみを担当します。 business ロジックは直接関係ありません
既存のフレームワークを使用する場合は、Mを記述する必要はありません。 M は、フレームワークがプロジェクトを作成するときに、関連するデータベースに基づいてプログラミングを自動的に完了します。あなたのエネルギーは、ビジネス ロジックをコントローラーに分解することだけです

1. 単一の入り口: フロント デスクでのすべてのユーザー リクエストはこの入り口から入ってきますか?
この入り口は通常、index.php ですが、この URL はどうやって入手したのでしょうか?
入口が 1 つであるということは、すべてのユーザー要求がインターフェース ファイルから入力され、すべてのユーザーのニーズがパラメーターとして渡されることを意味します

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