目次
phpでMVCパターンを使用する
ホームページ バックエンド開発 PHPチュートリアル php_PHP チュートリアルでの MVC パターンの適用

php_PHP チュートリアルでの MVC パターンの適用

Jul 13, 2016 am 10:59 AM
mvc php 記事 モデル 単純 使用 初め

phpでMVCパターンを使用する

まずは例を挙げてみましょう:
シンプルな記事表示システム
簡単にするために、この記事システムは読み取り専用であると仮定します。つまり、この例には記事の公開が含まれないので、今から始めます。
データベースから読み取るだけなので、2つのインターフェース
を定義しました。
インターフェイスデータ操作
{
パブリック関数 select($info);
パブリック関数 selectNum($info);
}
上記のインターフェイスはデータを読み取るためのインターフェイスを定義しており、select メソッドは必要な記事を返します。 selectNum メソッドは、ページング表示に使用される記事の総数を返します。 $info はクエリ条件を格納するために使用される配列です
インターフェースデータソース
{
パブリック静的関数 getInstance();
}
ここでは、データベースを操作しており、DataSource がインターフェイスを定義し、このインターフェイスを実装するすべてのインスタンス クラスが静的オブジェクトを取得すると仮定します
インターフェイスコントローラー
{
パブリック関数 Pop();
パブリック関数push();
パブリック関数execute();
}
インターフェースビュー
{
パブリック関数display();
}
よし、実現させよう
DataSource インターフェースを実装するには、以下のクラスを定義します。このクラスはシングルトン パターンを使用します
。 クラス DataBaseSource は DataSource を実装します
{
パブリック静的 $instance = null;
パブリック静的関数 getInstance()
{
if(self::$instance == null)
                                                           self::$instance == 新しい PDO("mysql:host=localhost;dbname=article","root","123456");
}
return self::$instance;
}
}
DataOperation を実装するための抽象クラスを定義します。データベース接続を共有する必要があるため、すべてのサブクラスがこのオブジェクトを共有できるように、抽象クラスでデータベース オブジェクトを初期化します。 抽象クラス DataBaseOperation は DataOperation を実装します
{
保護された $db = null
パブリック関数 __construct()
{
$this->db = DataBaseSource::getInstance();
}
パブリック関数 select($info);
パブリック関数 select($info);
}
次に、抽象クラス DataBaseOperation を実装するビジネス サブクラスを作成します
クラス Tech は DataBaseOperation を拡張します
{
パブリック関数 select($info)
{
//ここにコードを実装します
}
パブリック関数 selectNum($info)
{
//ここにコードを実装します
}
}
ビジネスロジック層を実装しました。以下はコントロール層です
ViewController クラスはコントローラーを実装します
{
プライベート $mod = array();
パブリック関数 Push($key,$value);
{
// コードを実装し、クラスを $this->mod;
に登録します。 }
パブリック関数pop($key)
                                          // コードを実装し、$this->mod[$key] の値を null;
に設定します。 }
パブリック関数実行($key)
{
//ここにコードを実装し、サンプルを生成します。php5 の新機能と例外処理に注意してください。 }
}
さて、これがインターフェイスビューが実装されるプレゼンテーションレイヤーです
抽象 ArticleView は View を実装します
{
保護された $smarty = null;
パブリック関数 __construct()
{
$this->smarty = new Smarty();
///これで、smarty のいくつかの属性値を定義できるようになりました
}
}
科学論文の表示ページなどの特定のページ
クラス TechArticleView は ArticleView を拡張します
{
パブリック関数の表示()
{
// コードを実装し、Tech クラスとその他の DataBaseOperation サブクラスを呼び出します
}
}
さて、こちらがメインエントランスのindex.php
試してみてください
{
$viewController = 新しい ViewController();
$viewController->push("tech",TechArticleView); //継続的な増加
$mod = $_GET["mod"]:$_GET["mod"]:$_POST["mod"];
//ついに
$viewController->execute($key);
}
catch(例外 $e)
{
//例外をどのように処理するかはあなた次第です
}

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631903.html技術記事 php での 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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の 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と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:19 AM

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

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

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

PHPおよびPython:さまざまなパラダイムが説明されています PHPおよびPython:さまざまなパラダイムが説明されています Apr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPおよびPython:コードの例と比較 PHPおよびPython:コードの例と比較 Apr 15, 2025 am 12:07 AM

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

PHP:データベースとサーバー側のロジックの処理 PHP:データベースとサーバー側のロジックの処理 Apr 15, 2025 am 12:15 AM

PHPはMySQLIおよびPDO拡張機能を使用して、データベース操作とサーバー側のロジック処理で対話し、セッション管理などの関数を介してサーバー側のロジックを処理します。 1)MySQLIまたはPDOを使用してデータベースに接続し、SQLクエリを実行します。 2)セッション管理およびその他の機能を通じて、HTTPリクエストとユーザーステータスを処理します。 3)トランザクションを使用して、データベース操作の原子性を確保します。 4)SQLインジェクションを防ぎ、例外処理とデバッグの閉鎖接続を使用します。 5)インデックスとキャッシュを通じてパフォーマンスを最適化し、読みやすいコードを書き、エラー処理を実行します。

PHPの目的:動的なWebサイトの構築 PHPの目的:動的なWebサイトの構築 Apr 15, 2025 am 12:18 AM

PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

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を介して展開され、柔軟性とスケーラビリティを向上させます。

See all articles