- Interface DataOperation
- {
- public function select($info);
- public function selectNum($info)
- }
-
上記のインターフェース定義は、Data インターフェースを読み取ります。の場合、select メソッドは必要な記事を返します。
selectNum メソッドは、ページング表示に使用される記事の総数を返します。
$info はクエリ条件を格納するために使用される配列です。
Interface DataSource { - public static function getInstance();
- Copy code
ここではデータベースを操作するものとし、DataSourceはインターフェースを定義し、このインターフェイスを実装するすべてのインスタンス クラスは静的オブジェクトを取得します。
インターフェイスコントローラー{ パブリック関数pop(); パブリック関数execute(); インターフェイスビュー- {
- パブリック関数display();
- }
- コードをコピーします
- シングルトン パターンを使用して、DataSource インターフェイスを実装するクラスを定義します。
class DataBaseSource は DataSource を実装します { public static $instance = null; public static function getInstance() { if(self::$instance == null) { - self ::$instance == 新しい PDO("mysql:host=localhost;dbname=article","root","123456")
- }
- return self::$instance
- }
- コードをコピーします。
- DataOperation を実装する抽象クラスを定義します。データベース接続を共有したいので、すべてのサブクラスがこのオブジェクトを共有できるように、抽象クラスでデータベース オブジェクトを初期化します。
- 抽象クラス DataBaseOperation は DataOperation を実装します
{ protected $db = null; public function __construct() { $this->db = DataBaseSource::getInstance(); } public function select($info);
- コードをコピー
-
-
- 抽象クラス DataBaseOperation を実装するビジネス サブクラスを作成しましょう
-
-
-
-
-
- class Tech extends DataBaseOperation
{ public function select($info) { //ここにコードを実装します } public function selectNum($info) { / /Implementここにコードを入力してください } } -
- コードをコピーしてください
- ビジネスロジック層を実装した後、コントロール層を開きます。
class ViewController はコントローラーを実装します { private $mod = array(); public function Push($key,$value); //実装しますコードを作成し、クラスを $this->mod に登録します
} public function Pop($key) //コードを実装し、$this->mod[$key] の値を null に設定します。 } public functionexecute($key) { //ここにコードを実装し、例を生成します。php5 の新機能、例外処理の使用に注意してください- }
- }
- //プレゼンテーション層、インターフェイス ビューが実装されます。ここで
- abstract ArticleView は View を実装します
- protected $smarty = null;
- public function __construct()
- {
- $this->smarty = new Smarty(); 以下でいくつかの属性値を定義できますsmarty の
- }
- }
- テクノロジー記事の表示ページなどの特定のページ
- class TechArticleView extends ArticleView
- {
- public function display()
- {
- //コードを実装し、Tech クラスやその他の DataBaseOperation サブクラスを呼び出します
- }
- }< ;/p>
//一般入口index.php
- 試してみてください
- {
- $viewController = new ViewController();
- $viewController->push("tech",TechArticleView); /連続増加
- $mod = $_GET["mod"]:$_GET["mod"]:$_POST["mod"]
- //最後に
- $viewController->execute($key); catch(Exception $e)
- {
- //例外の処理
- }
- ?>
-
-
-
- コードをコピー
-
-
-
-
-
-
-
-
-
-
-
-
|