Interf " /> 琪琪SEE色原网色原网站18,亚洲欧美成人综合,天天操人人射

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

php中的MVC模式運用技巧

php中的MVC模式運用
首先我來舉個例子:
一個簡單的文章顯示系統
簡單期間,我們假定這個文章系統是只讀的,也就是說這個例子將不涉及文章的發布,現在開始了。
由于只涉及數據庫的讀取,所以我定義了兩個interface


Interface DataOperation
{
   public function select($info);
   public function selectNum($info);
}


上面這interface定義了讀取數據的接口,select方法將返回所需要的文章。selectNum方法返回文章的總數,這是分頁顯示時用到的。$info是一個數組,用來存放查詢條件


Interface DataSource
{
   public static function getInstance();
}

這里我們假定我們操作的是數據庫,DataSource定義一個接口,所有實現該接口的實例類將得到一個靜態對象


Interface Controller
{
   public function pop();
   public function push();
   public function execute();
}
Interface View
{
   public function display();
}



好了,我們來實現.
下面定義一個類來實現DataSource接口,這個類運用了單例模式


class DataBaseSource implements DataSource
{
   public static $instance = null;
   public static function getInstance()
   {
       if(self::$instance == null)
       {
           self::$instance == new PDO("mysql:host=localhost;dbname=article","root","123456");
       }
       return self::$instance;
   }
}


定義一個抽象類來實現DataOperation,我們要共享一個數據庫連接,所以我在抽象類中將這個數據庫對象初始化,這樣,所有的子類都能共享這個對象


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

php技術php中的MVC模式運用技巧,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 青草国产超碰人人添人人碱 | 巨爆乳中文字幕爆乳区 | 一本久道久久综合狠狠躁AV | 十分钟在线观看免费视频高清WWW | 亚洲欧洲日产国产 最新 | 国内精品日本久久久久影院 | 久久中文字幕亚洲精品最新 | 国精产品一区一区三区有限公司 | 日韩一区二区三区视频在线观看 | 妈妈的朋友5在线观看免费完整版中文 | 在线播放真实国产乱子伦 | 伊人久久国产免费观看视频 | 欧洲vs美洲完整视频 | 国产午夜精品理论片免费观看 | 国产精品嫩草免费视频 | 欧美激情一区二区三区四区 | free高跟丝袜秘书hd | 国模玲玲自拍337p | 国内精品欧美久久精品 | 理论片午午伦夜理片久久 | 亚洲色综合狠狠综合区 | 麻豆高潮AV久久久久久久 | 亚洲免费国产在线日韩 | 无人在线观看免费高清视频播放 | 蜜芽资源高清在线观看 | 女人爽得直叫免费视频 | 果冻传媒色AV国产播放 | 100国产精品人妻无码 | 久久AAAA片一区二区 | 老人洗澡自拍xxx互摸 | 久久国产乱子伦精品免费不卡 | 亚洲视频在线免费观看 | 亚洲中文字幕在线第六区 | 国产亚洲精品A久久777777 | 大香网伊人久久综合观看 | 两个人的视频日本在线观看完整 | 99久久久精品免费观看国产 | 青青精品国产自在线拍 | 国产午夜a理论毛片在线影院 | 99国产在线视频有精品视频 | 甜性涩爱下载 |