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) { //如何处理异常就是你的事了 }