abstract class DataBaseOperation implements 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)
{
//在這裡實現你的代碼
}
}
商務邏輯層我們實現了,下面是控制層
class ViewController implements Controller
{
private $mod = array();
public function push($key,$value);
{
//實現你的代碼,將類註冊進$this->mod;
}
public function pop($key)
{
//實現你的代碼,將$this->mod[$key]值為null;
}
public function execute($key)
{
//在這裡實現你的代碼,產生執行個體.注意利用php5新的特性,異常的處理
}
}
好了,下面是表現層,這裡將實現Interface View
abstract ArticleView implements View
{
protected $smarty = null;
public function __construct()
{
$this->smarty = new Smarty();
///下面你可以定義smarty的一些屬性值
}
}
具體的頁面,例如科技文章的顯示頁面
class TechArticleView extends ArticleView
{
public function display()
{
//實現你的代碼,調用Tech類和更多的DataBaseOperation子類
}
}
好了,下面是總入口 index.php
try
{
$viewController = new ViewController();
$viewController->push("tech",TechArticleView);
//持續的增加
$mod = $_GET["mod"]:$_GET["mod"]:$_POST["mod"];
//最後
$viewController->execute($key);
}
catch(Exception $e)
{
//如何處理異常就是你的事了
}