ホームページ バックエンド開発 PHPチュートリアル PHP での MVC プログラミングを理解する - MVC フレームワークの概要

PHP での MVC プログラミングを理解する - MVC フレームワークの概要

Dec 01, 2016 am 11:11 AM
mvc

【MVCとは何ですか? 】

MVC とは、「3 つの部分 (MVC の正式名称、Model、View、Controller)」を調和して組み合わせて、複雑なアプリケーションを作成できるようにする概念です。車は現実の MVC の非常に良い例です。私たちが車を見るとき、内装と外装という 2 つの View (表示) 部分を見ます。これらはどちらもコントローラー、つまりドライバーから切り離すことができません。ブレーキ システム、ステアリング ホイール、その他の制御システムはモデルを表します。これらはドライバー (コントローラー) から制御方法を取得し、それを内装と外装 (ビュー) に適用します。

【Web 上の MVC】

MVC フレームワークでカバーされる概念は非常にシンプルで、非常に柔軟です。基本的な概念は、パラメーター要求に基づいてフレームワーク内のすべてのアプリケーションを制御する単一のコントローラー (index.php など) があるということです。通常、このコントローラーには、モデル、イベント、および GET パラメーターを定義するパラメーターが (最小限) 含まれています。このようにして、コントローラーはすべてのリクエストを確認し、適切なイベントを実行できます。たとえば、 /index.php?module=foo&event=bar のようなリクエストは、おそらく foo という名前のクラスをロードし、 foo::bar() [bar( )function です] を実行するために使用されます。この利点は次のとおりです:

すべてのアプリケーションに対応するインターフェイス

各コードには独自の相対パス、データベースリンク、検証などが含まれるため、アプリケーション内で無数のコードを同時に管理するのは非常に面倒です。そうすることで、この点での手間が省け、コードをマージして再利用できるようになります

【なぜ作者独自の MVC フレームワークを作成するのですか? ]

これまでのところ、PHP で書かれた MVC フレームワークをあまり見たことがありません。実際、私が知っているのは 1 つだけです。Solar は完全に PHP5 で書かれています。もう 1 つは Cake です。PHP になろうとする RoR です (Rubyalign=centerbgColor=#e3e3e3border=1>

<?php 
 require_once('config.php');//Otherrequires,DBinfo,etc. 
 $APP_DB='mydb'; 
 $APP_REQUIRE_LOGIN=false;//Settotrueifscriptrequireslogin 
 $APP_TEMPLATE_FILE='foo.php';//Smartytemplate 
 $APP_TITLE='MyApplication'; 
 if($APP_REQUIRE_LOGIN==true){ 
if(!isset($_SESSION['userID'])){ 
 header("Location:/path/to/login.php"); 
 exit(); 
} 
 } 
 $db=DB::connect('mysql://'.$DB_USER.':'.$DB_PASS.'@localhost/'.$APP_DB); 
 if(!PEAR::isError($db)){ 
$db->setFetchMode(DB_FETCHMODE_ASSOC); 
 }else{ 
die($db->getMessage()); 
 } 
 //Putyourlogichere 
 //Outputthetemplate 
 include_once(APP_TEMPLATE_PATH.'/header.php'); 
 include_once(APP_TEMPLATE_PATH.'/'.$APP_TEMPLATE_FILE); 
 include_once(APP_TEMPLATE_PATH.'/footer.php'); 
?>
ログイン後にコピー


神様、このコードを見るだけでゾクゾクしてしまいます。このコードのコンセプトは、すべてのアプリケーションがプログラムをこのアプローチに適応させることができます。たとえば、template.txt を myapp.php にコピーし、いくつかの変数を変更するだけで、うまくいきます。ただし、このよく整理されたアプローチには、いくつかの重大な欠点があります。

上司が作成者に、場合によっては PDF、場合によっては HTML、場合によっては SOAP を使用して出力することを要求した場合はどうすればよいですか (XML リクエストを直接送信する)

このアプリケーションが必要な場合はどうすればよいですか? IMAP または LDAP 認証、どうすればよいですか?

さまざまなコード (編集、アップグレード、削除を含む) をどのように処理すればよいですか?
複数の認証レベル (管理者と非管理者) を処理するにはどうすればよいですか?出力キャッシュを有効にするにはどうすればよいですか? www.phpv.net 転載する場合はソースを示してください

[新しい方法]

すべてをこの MVC フレームワークに組み込むと、作業が非常に簡単であることがわかります: 次のコードを比較してください:


<?php 
 classmyappextendsFR_Auth_User 
 { 
publicfunction__construct() 
{ 
 parent::__construct(); 
} 
 publicfunction__default() 
 { 
//Dosomethinghere 
 } 
 publicfunctiondelete() 
 {} 
 publicfunction__destruct() 
 { 
parent::__destruct(); 
 } 
} 
?>
ログイン後にコピー

このコードは、データベースへのリンク、ユーザーがログインしているかどうかの確認、またはその他の情報の出力には使用されないことに注意してください。

LDAP への認証を行う場合は、FR_Auth_LDAP を設定します。コントローラーは特定の出力メソッド ($_GET['output'] など) を認識でき、いつでも PDF または SOAP に変換できます。たとえば、このモジュールには FR_User クラスがあるため、イベント ハンドラーは削除のみを行います。 Smartyはテンプレートエンジンとしてキャッシュを制御しますが、コントローラーもキャッシュの一部を制御することができます

上記の古い方式からMVC方式まで対応しています。多くの人にとって、それは新しくて馴染みのない概念かもしれませんが、一度そのような概念に切り替えると、元に戻すのは非常に困難になります。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

PHP MVC アーキテクチャ: 将来に向けた Web アプリケーションの構築 PHP MVC アーキテクチャ: 将来に向けた Web アプリケーションの構築 Mar 03, 2024 am 09:01 AM

はじめに 今日の急速に進化するデジタル世界では、堅牢かつ柔軟で保守可能な WEB アプリケーションを構築することが重要です。 PHPmvc アーキテクチャは、この目標を達成するための理想的なソリューションを提供します。 MVC (Model-View-Controller) は、アプリケーションのさまざまな側面を独立したコンポーネントに分離する、広く使用されている設計パターンです。 MVC アーキテクチャの基礎 MVC アーキテクチャの核となる原則は、関心事の分離です。 モデル: アプリケーションのデータとビジネス ロジックをカプセル化します。ビュー: データの表示とユーザー インタラクションの処理を担当します。コントローラー: モデルとビュー間の対話を調整し、ユーザーのリクエストとビジネス ロジックを管理します。 PHPMVC アーキテクチャ phpMVC アーキテクチャは従来の MVC パターンに従いますが、言語固有の機能も導入しています。以下はPHPMVCです

PHP MVC アーキテクチャの上級ガイド: 高度な機能のロックを解除する PHP MVC アーキテクチャの上級ガイド: 高度な機能のロックを解除する Mar 03, 2024 am 09:23 AM

MVC アーキテクチャ (モデル-ビュー-コントローラー) は、コードを編成し、WEB アプリケーションの開発を簡素化するための明確な構造を提供するため、PHP 開発で最も一般的なパターンの 1 つです。基本的な MVC 原則はほとんどの Web アプリケーションには十分ですが、複雑なデータを処理したり高度な機能を実装する必要があるアプリケーションにはいくつかの制限があります。モデル層の分離 モデル層の分離は、高度な MVC アーキテクチャでは一般的な手法です。これには、モデル クラスを小さなサブクラスに分割し、それぞれが特定の機能に焦点を当てることが含まれます。たとえば、電子商取引アプリケーションの場合、メイン モデル クラスを注文モデル、製品モデル、顧客モデルに分割できます。この分離により、コードの保守性と再利用性が向上します。依存関係注入を使用する

PHPを使用してMVCパターンを実装する方法 PHPを使用してMVCパターンを実装する方法 Jun 07, 2023 pm 03:40 PM

MVC (Model-View-Controller) パターンは、開発者がコードをより適切に整理および管理するのに役立つ、一般的に使用されるソフトウェア設計パターンです。 MVC パターンは、アプリケーションをモデル、ビュー、コントローラーの 3 つの部分に分割し、各部分には独自の役割と責任があります。この記事では、PHP を使用して MVC パターンを実装する方法について説明します。モデル モデルは、アプリケーションのデータとデータ処理を表します。いつもの、

SpringMVC フレームワークの成功を明らかにする: なぜこれほど人気が​​あるのか SpringMVC フレームワークの成功を明らかにする: なぜこれほど人気が​​あるのか Jan 24, 2024 am 08:39 AM

SpringMVC フレームワークの解読: なぜこれほど人気が​​あるのか​​、具体的なコード例が必要です はじめに: 今日のソフトウェア開発分野では、SpringMVC フレームワークは開発者の間で非常に人気のある選択肢となっています。これは、MVC アーキテクチャ パターンに基づいた Web フレームワークであり、柔軟で軽量、効率的な開発方法を提供します。この記事では、SpringMVC フレームワークの魅力を掘り下げ、具体的なコード例を通じてその威力を実証します。 1. SpringMVCフレームワークのメリット 柔軟な構成方法 Spr

MVC アーキテクチャを使用して PHP でプロジェクトを設計する方法 MVC アーキテクチャを使用して PHP でプロジェクトを設計する方法 Jun 27, 2023 pm 12:18 PM

Web 開発では、MVC (Model-View-Controller) は、アプリケーションのデータ、ユーザー インターフェイス、および制御ロジックを処理および管理するために一般的に使用されるアーキテクチャ パターンです。人気の Web 開発言語である PHP は、MVC アーキテクチャを使用して Web アプリケーションを設計および構築することもできます。この記事では、MVC アーキテクチャを使用して PHP でプロジェクトを設計する方法を紹介し、その利点と注意点について説明します。 MVCMVC とは、Web アプリケーションで一般的に使用されるソフトウェア アーキテクチャ パターンです。 MV

PHP8 フレームワークを使用した MVC の開発: 初心者が知っておくべき重要な概念とテクニック PHP8 フレームワークを使用した MVC の開発: 初心者が知っておくべき重要な概念とテクニック Sep 11, 2023 am 09:43 AM

PHP8 フレームワークによる MVC の開発: 初心者が知っておくべき重要な概念とテクニック はじめに: インターネットの急速な発展に伴い、Web 開発は今日のソフトウェア開発業界で重要な役割を果たしています。 PHP は Web 開発に広く使用されており、開発者がアプリケーションをより効率的に構築できるようにする成熟したフレームワークが多数あります。その中でも、MVC (Model-View-Controller) アーキテクチャは、最も一般的で広く使用されているパターンの 1 つです。この記事では、初心者が PHP8 フレームワークを使用して MVC アプリケーションを開発する方法を紹介します。

PHP8 フレームワークを使用した MVC の開発: ステップバイステップ ガイド PHP8 フレームワークを使用した MVC の開発: ステップバイステップ ガイド Sep 11, 2023 am 10:05 AM

PHP8 フレームワークによる MVC の開発: ステップバイステップ ガイド はじめに: MVC (Model-View-Controller) は、アプリケーションのロジック、データ、およびユーザー インターフェイスを分離するために使用される、一般的に使用されるソフトウェア アーキテクチャ パターンです。これは、コードの管理と保守を改善するために、アプリケーションを 3 つの異なるコンポーネントに分離する構造を提供します。この記事では、PHP8 フレームワークを使用して MVC パターンに準拠するアプリケーションを開発する方法を検討します。ステップ 1: MVC パターンを理解する MVC アプリケーションの開発を開始する前に、

ルーティングからビューまで - Beego の MVC アーキテクチャの詳細な調査 ルーティングからビューまで - Beego の MVC アーキテクチャの詳細な調査 Jun 23, 2023 am 10:53 AM

Beego は Go 言語をベースとした Web アプリケーション フレームワークであり、高いパフォーマンス、シンプルで使いやすい、高い拡張性という利点があります。その中でも、MVC アーキテクチャは Beego フレームワークの中核となる設計概念の 1 つであり、開発者がコードをより適切に管理および整理し、開発効率とコード品質を向上させるのに役立ちます。この記事では、開発者が Beego フレームワークをよりよく理解し、使用できるように、Beego の MVC アーキテクチャについて詳しく説明します。 1. MVC アーキテクチャの概要 MVC (Model-View-Controller) は、一般的な

See all articles