検索
ホームページバックエンド開発PHPチュートリアルPHP プログラミングにおける MVC プログラミングのアイデアの簡単な分析、mvc プログラミングのアイデア_PHP チュートリアル

PHP プログラミングにおける MVC プログラミングのアイデア、MVC プログラミングのアイデアの簡単な分析

PHP の MVC プログラミングのアイデアは、さまざまな大規模プロジェクトの開発で広く使用されており、多くの成熟した MVC フレームワークが徐々に誰にでも知られるようになり、より一般的なものとしては、ThinkPHP、codeigniter、Symfony、yii、などがあります。ケーキPHPなどこの記事では、PHP の MVC プログラミングの考え方を簡単に説明します。

1.MVCとは

簡単に言うと、Webサイトのソースコードを分類して階層化することです。
MVC の 3 文字の意味:
M: モデルモデル、データベース操作を担当します。
V: ビュー。モデルを呼び出してデータを取得し、テンプレートを呼び出して最終的な効果を表示します。
C: プログラムのエントリ ポイントであるコントローラーは、どのビューを呼び出すかを決定し、ビューに何をすべきかを指示します。
このように、プログラムの実行順序は C-V-M または C-M となり、MVC の名前とはまったく逆になります。

2. MVC を使用する理由

1.ウェブサイトプログラムの物理構造をより合理的にすることができます。

PHP で Web サイトを構築する場合、最も愚かな方法は、各ページを PHP ファイルに構築することです。ウェブサイトにindex.phpとmenu.php.article.phpの3ページしかない場合はMVCは必要ありませんが、一般的なウェブサイトを作成する場合、ページ数が数十になることがよくあります。ルートディレクトリ内のすべてのページを受け入れることができるため、コードを分類し、機能ごとに異なるディレクトリに分割し、プログラムによってインテリジェントにロードして呼び出すための合理的なアイデアが必要です。これがMVCによって役立ちます。する。

2. コードを保守しやすくします。

単一のページをもう一度見てみましょう。PHP コードと HTML コードを混合するのは明らかに不十分です。プログラマーにとって、どこが PHP で、どこが HTML なのかを区別する必要があります。災害。 Smarty を使っている人は「データ処理」と「ページ表示」を分離することができます。これはとても良いことですし、多くの人がやっているのですが、MVC がやるべきことは「データ処理」を分離することです。 「 」はさらに「論理処理」と「データベース操作」に分かれており、いわゆる階層化になります。
このようにして、プログラムにエラーが発生したり、プログラムを修正したい場合、ページにエラーが表示された場合は V をチェックし、ロジックに問題がある場合は C をチェックし、それを修正することが非常に簡単になります。 V ;データベース操作エラーが発生した場合は、M を確認してください。
実際、MVC では通常、PHP ページを C、V、M、テンプレートの 4 つのページに分割します。それぞれが独自の役割を果たし、管理を容易にします。

3. コードの再利用に役立ちます。

MVC は通常、C によって管理されるディレクトリに大きな関数を配置します。
たとえば、会員制の Web サイトを構築したい場合、会員制関連のコードをすべてユーザー ディレクトリに配置し、User_Controller で一元管理できます。別の Web サイトにも会員制が必要な場合は、直接コピーできます。以前は、インターフェイスを変更するだけで十分でした。

3. PHPでMVCを実装するというアイデア

コントローラー、ビュー、モデルという 3 つの基本クラスが必要です。そして、異なる C、V、M がそれらをそれぞれ継承して、対応するプロパティとメソッドを持ちます。ここで理解できない場合は、オブジェクト指向の本を読んでください。

MVC 基本クラスの設計アイデアを以下に示します (参考のみ)。

1. コントローラークラスの設計

プログラムによって呼び出される main() メソッドは、主に変数の get および post を通じてプログラムを処理する方法を決定します。
getModel($model) メソッドは、データベースを呼び出す必要があるときに、対応するディレクトリ内の M を呼び出します。
display($view) メソッドが main() メソッド内で呼び出され、対応する V をロードし、対応する V の main() メソッドを置き換えます。

2.

ViewクラスのデザインはControllerと非常によく似ています

main() メソッド。このメソッドは、C が V をロードするときに呼び出され、プログラムの実行を継続できます。

getModel($model) メソッドは、データベースを呼び出す必要があるときに、対応するディレクトリ内の M を呼び出します。
display($template) は、対応するテンプレート ファイルを呼び出し、データをテンプレートに渡します。

3.

Modelクラスの設計

どのテーブルを操作するか、どのフィールドを操作するかなど、いくつかの属性を定義できます。

getDB() メソッドはデータベース クラスのインスタンスを取得します (データベース クラスは通常、シングルトン パターンを使用して設計されます)
load() メソッドはデータをロードします。
add() メソッドは、定義された属性に基づいて SQL ステートメントを自動的に構築し、挿入操作を実行できます。
eidt() メソッドは上記と同じですが、変更操作を実行します。
del() メソッドは上記と同じですが、削除操作を実行します。
初心者が私のアイデアの動作原理をよりよく理解できるようにするために、ユーザーのログイン シナリオをシミュレートして、MVC がどのように機能するかを確認します。
ここで、すべてのデータがindex.phpに送信されると仮定します。

ステップ 1:
各 get 変数を送信し、どの C を使用するかを Index.php に指示します。たとえば、index.php は次のようになります。コントローラー=ユーザー
次に、index は get 変数を受け取り、何もする必要はありません。/user/controller.php を直接見つけて、そこにすべてのデータをスローします。したがって、index.php は何もする必要がありません。 Cを直接呼び出します。 main関数だけで十分で、index.phpのタスクは完了です。

ステップ 2:
C の main 関数は実行を開始し、変数をチェックして、ユーザーが実行したいログイン操作を見つけます (非常に簡単です。変数 do=login をポストするだけです)。その後、getModel を呼び出して、対応する M クラスをロードします (たとえば、 、/user/models/model.php) を作成し、インスタンスを作成し、インスタンスのloadメソッドを呼び出し、ユーザーのデータをロードし、ユーザーが送信したパスワードと一致するかどうかを確認します。送信されたデータが間違っている場合は、ヘッダーが正しい場合は、display() メソッドを呼び出し、対応する V (/user/views/details.php など) をロードしてインスタンス化し、その main() 関数を呼び出して、3 番目のメソッドを入力します。ステップ。この時点で、C のタスクは完了し、main 関数で 2 番目の操作が実行されます。

ステップ 3:
getModel() を呼び出して M をロードし、取得したデータを書き換えるか、C が V をインスタンス化するときにパラメーター (SESSION など) を渡すことを選択できます。 V がデータを取得することを決定した後、display() を実行してテンプレート、MVC をロードします。実行が完了します。
もちろん、文字数とエネルギーの制限により、ここに書かれていることは非常に簡単な概要にすぎません。実際の実装では考慮すべき詳細がたくさんありますが、これは MVC を設計したときの一般的なアイデアであり、以下で使用されています。練習してみると気持ちいいです。

PHP における Web サイトプログラミングの重要なアイデアは何ですか?

まず、MVC が何に使用されるかを理解する必要があります。たとえば、開発チームがあるとします。あなたはディレクターなので、チームメンバーが互いに協力し、並行して開発できるようにするための構造を使用する必要があります。また、一人で戦う場合には、MVC のようなフレームワークを使用する必要はありません。逆にMVCに依存しすぎると形而上学的なものになってしまい効率的ではありません。
ソーシャル ネットワーキング サイト、mvc では問題の多くは解決できません。オブジェクト指向を使用しない場合でも、すべてのページがプロシージャに保存され、効率が高くなります。
オブジェクト指向も同様で、複数のインスタンスが必要な場合は、操作を容易にするためのクラスを作成するだけで、オブジェクトが 1 つだけ必要な場合は、オブジェクト指向の意味がありません。
開発の最初に mvc などのフレームワークを書くことを考えず、最も直接的な方法を使用してできるだけ早く最初のバージョンを作成し、最初に需要に基づいて改善するのが最も適切な方法です。

ヘルプ php mvc モード

mvc は言語に関係なく、単なるプログラミングのアイデアです

PHP 開発の多くのプロジェクトで mvc が使用されており、このモデルは大規模なプロジェクトの開発に適しています

MVC は、Model (Model)、View、および 3 つの単語の略語です。コントローラ)。 MVCモデルの目的は、Webシステムの機能分業を実現することです。モデル層はシステムにビジネス ロジックを実装します。これは通常、JavaBean または EJB を使用して実装できます。 View レイヤーはユーザーとの対話に使用され、通常は JSP で実装されます。コントローラー層は、モデルとビューの間の通信ブリッジであり、ユーザーのリクエストをディスパッチし、表示する適切なビューを選択し、それをモデル層で実行できる操作にマッピングすることもできます。

http://www.bkjia.com/PHPjc/851341.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/851341.html技術記事 PHP プログラミングにおける MVC プログラミングのアイデアの簡単な分析、MVC プログラミングのアイデア PHP の MVC プログラミングのアイデアは、さまざまな大規模プロジェクトの開発で広く使用されており、多くの成熟した MVC フレームワークが徐々に採用されています...
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
アクション中のPHP:実際の例とアプリケーションアクション中のPHP:実際の例とアプリケーションApr 14, 2025 am 12:19 AM

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHP:インタラクティブなWebコンテンツを簡単に作成しますPHP:インタラクティブなWebコンテンツを簡単に作成しますApr 14, 2025 am 12:15 AM

PHPにより、インタラクティブなWebコンテンツを簡単に作成できます。 1)HTMLを埋め込んでコンテンツを動的に生成し、ユーザー入力またはデータベースデータに基づいてリアルタイムで表示します。 2)プロセスフォームの提出と動的出力を生成して、XSSを防ぐためにHTMLSPECIALCHARSを使用していることを確認します。 3)MySQLを使用してユーザー登録システムを作成し、Password_HashおよびPreprocessingステートメントを使用してセキュリティを強化します。これらの手法を習得すると、Web開発の効率が向上します。

PHPとPython:2つの一般的なプログラミング言語を比較しますPHPとPython:2つの一般的なプログラミング言語を比較しますApr 14, 2025 am 12:13 AM

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPの永続的な関連性:それはまだ生きていますか?PHPの永続的な関連性:それはまだ生きていますか?Apr 14, 2025 am 12:12 AM

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

PHPの現在のステータス:Web開発動向を見てくださいPHPの現在のステータス:Web開発動向を見てくださいApr 13, 2025 am 12:20 AM

PHPは、現代のWeb開発、特にコンテンツ管理とeコマースプラットフォームで依然として重要です。 1)PHPには、LaravelやSymfonyなどの豊富なエコシステムと強力なフレームワークサポートがあります。 2)パフォーマンスの最適化は、Opcacheとnginxを通じて達成できます。 3)PHP8.0は、パフォーマンスを改善するためにJITコンパイラを導入します。 4)クラウドネイティブアプリケーションは、DockerおよびKubernetesを介して展開され、柔軟性とスケーラビリティを向上させます。

PHP対その他の言語:比較PHP対その他の言語:比較Apr 13, 2025 am 12:19 AM

PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。

PHP対Python:コア機能と機能PHP対Python:コア機能と機能Apr 13, 2025 am 12:16 AM

PHPとPythonにはそれぞれ独自の利点があり、さまざまなシナリオに適しています。 1.PHPはWeb開発に適しており、組み込みのWebサーバーとRich Functionライブラリを提供します。 2。Pythonは、簡潔な構文と強力な標準ライブラリを備えたデータサイエンスと機械学習に適しています。選択するときは、プロジェクトの要件に基づいて決定する必要があります。

PHP:Web開発の重要な言語PHP:Web開発の重要な言語Apr 13, 2025 am 12:08 AM

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

See all articles

ホット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ヘンタイを無料で生成します。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。