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

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

Jun 13, 2016 pm 01:19 PM
gt htaccess index mvc php

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 つであるということは、すべてのユーザー要求がインターフェース ファイルから入力され、すべてのユーザーのニーズがパラメーターとして渡されることを意味します

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP データベースの操作 CakePHP データベースの操作 Sep 10, 2024 pm 05:25 PM

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

See all articles