ホームページ  >  記事  >  バックエンド開発  >  PHP mvc モードの記事 system-learning mvc

PHP mvc モードの記事 system-learning mvc

WBOY
WBOYオリジナル
2016-07-25 09:05:241153ブラウズ
  1. Interface DataOperation
  2. {
  3. public function select($info);
  4. public function selectNum($info)
  5. }
上記のインターフェース定義は、Data インターフェースを読み取ります。の場合、select メソッドは必要な記事を返します。 selectNum メソッドは、ページング表示に使用される記事の総数を返します。 $info はクエリ条件を格納するために使用される配列です。

Interface DataSource
    {
  1. public static function getInstance();
  2. Copy code
ここではデータベースを操作するものとし、DataSourceはインターフェースを定義し、このインターフェイスを実装するすべてのインスタンス クラスは静的オブジェクトを取得します。
インターフェイスコントローラー

{
パブリック関数pop();
パブリック関数execute();
    インターフェイスビュー
  1. {
  2. パブリック関数display();
  3. }
  4. コードをコピーします
  5. シングルトン パターンを使用して、DataSource インターフェイスを実装するクラスを定義します。
class DataBaseSource は DataSource を実装します
{

public static $instance = null;

public static function getInstance()
{
if(self::$instance == null)
    {
  1. self ::$instance == 新しい PDO("mysql:host=localhost;dbname=article","root","123456")
  2. }
  3. return self::$instance
  4. }
  5. コードをコピーします。
  6. DataOperation を実装する抽象クラスを定義します。データベース接続を共有したいので、すべてのサブクラスがこのオブジェクトを共有できるように、抽象クラスでデータベース オブジェクトを初期化します。
  7. 抽象クラス DataBaseOperation は DataOperation を実装します
{ protected $db = null; public function __construct()
{

$this->db = DataBaseSource::getInstance(); }

public function select($info);
  1. コードをコピー
  2. 抽象クラス DataBaseOperation を実装するビジネス サブクラスを作成しましょう
  3. class Tech extends DataBaseOperation
{
public function select($info) { //ここにコードを実装します
}

public function selectNum($info)

{
/ /Implementここにコードを入力してください
}
    }
  1. コードをコピーしてください
  2. ビジネスロジック層を実装した後、コントロール層を開きます。
  3. class ViewController はコントローラーを実装します

{
private $mod = array(); public function Push($key,$value); //実装しますコードを作成し、クラスを $this->mod に登録します
}

public function Pop($key)

//コードを実装し、$this->mod[$key] の値を null に設定します。 }
public functionexecute($key)
{
    //ここにコードを実装し、例を生成します。php5 の新機能、例外処理の使用に注意してください
  1. }
  2. }
  3. //プレゼンテーション層、インターフェイス ビューが実装されます。ここで
  4. abstract ArticleView は View を実装します
  5. protected $smarty = null;
  6. public function __construct()
  7. {
  8. $this->smarty = new Smarty(); 以下でいくつかの属性値を定義できますsmarty の
  9. }
  10. }
  11. テクノロジー記事の表示ページなどの特定のページ
  12. class TechArticleView extends ArticleView
  13. {
  14. public function display()
  15. {
  16. //コードを実装し、Tech クラスやその他の DataBaseOperation サブクラスを呼び出します
  17. }
  18. }< ;/p>
  19. //一般入口index.php

  20. 試してみてください
  21. {
  22. $viewController = new ViewController();
  23. $viewController->push("tech",TechArticleView); /連続増加
  24. $mod = $_GET["mod"]:$_GET["mod"]:$_POST["mod"]
  25. //最後に
  26. $viewController->execute($key); catch(Exception $e)
  27. {
  28. //例外の処理
  29. }
  30. ?>

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