亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > CMS > PhpCMS > 正文

phpcmsv9源碼學習:數據庫model、foreground類

2024-09-10 07:15:39
字體:
來源:轉載
供稿:網友

在PHPCMS二次開發中,PHP頁面的代碼的開頭總要繼承很多類,今天對這些類做了一點研究,做個筆記.

  1. <?php   
  2.    
  3. defined('IN_PHPCMS'or exit('No permission resources.');   
  4.    
  5. //加載表單類form.class.php,‘’空參數表示類文件的路徑,加載的系統類庫里面的類,參數“0”表示不實例化類   
  6. pc_base::load_sys_class('form');    
  7.    
  8. //判斷用戶是否登錄,未登錄就注冊   
  9. pc_base::load_app_class('foreground');    
  10.    
  11. //加載數據庫類模型 model.class   
  12. pc_base::load_sys_class('model''', 0);   
  13.    
  14. class favorite extends foreground {   
  15.     function __construct() {   
  16.         $this->db = pc_base::load_model('content_model');   
  17.     }   
  18.        
  19.     public function init(){   
  20.         }   
  21.    }   
  22. ?>

(1)foreground.class.php在member模塊對應的文件夾下,它定義了一個foreground類,是index類的基類,代碼如下:

  1. class foreground {   
  2. public $db$memberinfo;   
  3. private $_member_modelinfo;   
  4.     
  5. public function __construct() {   
  6.     self::check_ip();   
  7.     $this->db = pc_base::load_model('member_model');   
  8.     ...    //Vevb.com 
  9.     ...   
  10. }   
  11. ....   
  12. ....   
  13. }

foreground類就只有三個成員和三個方法,其中三個方法分別用來: 初始化數據庫, 檢測用戶是否已經登錄(大概是通過cookie中的auth字段進行判斷, 木有仔細看, 日后再說), 判斷IP是否在禁止列表中.

(2) pc_base::load_model(‘member_model’);

通過pc_base::load_model()加載數據庫模型:member_model. 其中pc_base::load_model()方法就是pc_base::load_class()的簡單封裝, 加載位于C:/www/phpcmsv9/phpcms/model/member_model.class.php的類文件.

member_model.class.php這個文件沒多少行代碼, 其中有一行pc_base::load_sys_class(‘model’, ”, 0);

這一行加載位于C:/www/phpcmsv9/phpcms/libs/classes/model.class.php的文件.

model.class.php定義了一個model類,model類是所有數據庫模型的基類,比如member_model的基類就是model類.

model封裝了一系列數據庫操作,包括但不限于CURD.(當然,這層封裝是是基于phpcmsv9的mysql.class.php等,后者才是真正地對php提供的數據庫api的進行封裝.)

model.class.php前面兩句如下:

defined('IN_PHPCMS') or exit('Access Denied');

pc_base::load_sys_class('db_factory', '', 0);

通過 load_sys_class(‘db_factory’, ”, 0); 加載db_factory.class.php, 第3個參數0表示不要建立db_factory對象.(因為db_factory是單實例-工廠模式,單實例模式要求該類不能從外部實例化).

model類的構造函數如下:

  1. public function __construct()    
  2. {   
  3.     if (!isset($this->db_config[$this->db_setting]))    
  4.    {   
  5.        $this->db_setting = 'default';   
  6.     }   
  7.     $this->table_name = $this->db_config[$this->db_setting]['tablepre'].$this->table_name;   
  8.     $this->db_tablepre = $this->db_config[$this->db_setting]['tablepre'];   
  9.     $this->db = db_factory::get_instance($this->db_config)->get_database($this->db_setting);   
  10. }

1),獲取數據庫配置(member_model類構造時已經設置相關數據成員).

2),調用單實例類db_factory的get_instance建立實例,并由get_database返回一個數據庫對象, 并賦值給$this->db這個數據成員.

比如model類的select()方法,單實例模式,工廠模式都是常用的設計模式.:

  1. final public function select($where = ''$data = '*'$limit = ''$order = ''$group = ''$key='')    
  2. {   
  3.       if (is_array($where)) $where = $this->sqls($where);   
  4.       return $this->db->select($data$this->table_name, $where$limit$order$group$key);   
  5. }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美极品少妇xxxxⅹ免费视频| 久久九九免费视频| 91精品在线观| 中文字幕av一区二区三区谷原希美| 国产精品亚洲欧美导航| 亚洲福利视频久久| 奇米成人av国产一区二区三区| 1769国内精品视频在线播放| 国产乱人伦真实精品视频| 欧美日韩亚洲一区二| 少妇精69xxtheporn| 亚洲国产精品成人精品| 亚洲精品一二区| 久久久久国产精品一区| 26uuu另类亚洲欧美日本老年| 一区二区三区精品99久久| 精品无人区太爽高潮在线播放| 欧美亚洲伦理www| 555www成人网| 国产精品91在线观看| 黑人巨大精品欧美一区二区一视频| 成人黄色午夜影院| 亚洲国产精品久久久| 亚洲偷熟乱区亚洲香蕉av| 亚洲福利在线播放| 国产精品极品美女粉嫩高清在线| 伊人久久久久久久久久| 国产精品扒开腿做爽爽爽男男| 亚洲欧美精品一区| 国产精品永久免费| 欧美成人sm免费视频| 亚洲人成电影在线播放| 国产精品久久久91| 国产精品入口福利| 国产日韩av在线播放| 8x海外华人永久免费日韩内陆视频| 亚洲欧美一区二区精品久久久| 久久香蕉国产线看观看av| 久久久久久久香蕉网| 国产精品7m视频| 国产不卡av在线免费观看| 在线精品国产欧美| 国产亚洲日本欧美韩国| 中文字幕亚洲一区二区三区| 国产va免费精品高清在线观看| 欧美精品免费看| 日韩精品免费在线观看| 欧美色videos| 亚洲最大成人免费视频| 国产欧美日韩综合精品| 亚洲精品日韩丝袜精品| 国产精品视频久| 久久成人在线视频| 亚洲国产高潮在线观看| 中文字幕亚洲综合久久筱田步美| 91国内免费在线视频| 亚洲精品日韩激情在线电影| 国产精品自拍小视频| 992tv成人免费影院| 亚洲综合中文字幕68页| 亚洲国产欧美一区二区三区同亚洲| 亚洲精品福利在线观看| 国产欧美 在线欧美| 亚洲香蕉成人av网站在线观看| 欧美性高跟鞋xxxxhd| 亚洲在线视频观看| 久久久之久亚州精品露出| 久久久久久综合网天天| 精品国产自在精品国产浪潮| 国产精品欧美一区二区三区奶水| 92看片淫黄大片看国产片| 亚洲成人av在线播放| 亚洲男女自偷自拍图片另类| 亚洲国产成人一区| 日韩精品视频在线观看免费| 日韩精品中文字幕有码专区| 欧美一级免费看| 中文字幕亚洲一区在线观看| 91精品啪aⅴ在线观看国产| 亚洲系列中文字幕| 亚洲日韩中文字幕在线播放| 亚洲美女又黄又爽在线观看| 中日韩美女免费视频网站在线观看| 欧美极品在线播放| 欧美电影在线观看网站| 中文字幕久精品免费视频| 亚洲人精品午夜在线观看| 久久成人国产精品| 亚洲黄色成人网| 欧美精品制服第一页| 日韩精品免费看| 国产精品视频最多的网站| 日韩精品在线视频| 精品久久久久久亚洲国产300| 亚洲人成在线观看网站高清| 91精品国产综合久久久久久久久| 国产激情综合五月久久| 秋霞av国产精品一区| 在线观看国产成人av片| 久久久黄色av| 精品国产91久久久久久老师| 97av在线视频| 国产精品视频一区国模私拍| 岛国av一区二区在线在线观看| 欧美国产日产韩国视频| 国产亚洲精品久久久久动| 国产一区二区三区四区福利| 日韩亚洲国产中文字幕| 欧美日韩国产精品一区二区不卡中文| 亚洲精品在线不卡| 成人h片在线播放免费网站| 91沈先生在线观看| 欧美另类高清videos| 成人免费视频a| 精品高清美女精品国产区| 久久精品久久久久电影| 欧美电影免费观看网站| 精品一区二区三区电影| 日韩av在线影院| 欧美精品久久久久久久久| 日韩在线观看网站| 精品福利在线视频| 韩国视频理论视频久久| 国产www精品| 欧美日韩亚洲视频一区| 色在人av网站天堂精品| 97久久精品人人澡人人爽缅北| 国产精品高潮粉嫩av| 日韩电影免费在线观看中文字幕| 亚洲人成电影在线| 欧美最猛性xxxxx免费| 欧美激情视频在线观看| 欧美精品日韩www.p站| 日本成人在线视频网址| 国产精品久久久久9999| 久久这里只有精品99| 国产精品444| 亚洲热线99精品视频| 日本韩国欧美精品大片卡二| 久久在线免费观看视频| 中文字幕视频一区二区在线有码| 国产精品久久网| 亚洲精品国产福利| 欧美xxxx18国产| 精品久久香蕉国产线看观看gif| 日韩专区在线观看| 亚洲国产高潮在线观看| 亚洲jizzjizz日本少妇| 欧美综合激情网| 欧美激情网友自拍| 5252色成人免费视频| 国产一区视频在线播放| 亚洲综合一区二区不卡| 欧美精品电影免费在线观看| 成人黄在线观看| 午夜精品视频网站| 蜜臀久久99精品久久久久久宅男| 福利二区91精品bt7086| 国产精品嫩草影院久久久| 欧美极品第一页| 欧美黄色www| 国产玖玖精品视频| 国产91久久婷婷一区二区| 亚洲欧美制服丝袜|