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

首頁 > CMS > PhpCMS > 正文

phpcms v9 二次開發之構建模塊全過程

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

第一:開發流程

為你的phpcms創建一個模塊的一般開發流程是:

創建數據庫和數據表,沒有數據庫操作可略過.

創建模塊目錄

創建模塊控制器類;

創建模塊類與模塊函數,如果只是簡單的模塊可以不必創建.

創建模板文件;

運行和調試。

第二:創建模塊

phpcms v9框架中的模塊,位于phpcms/modules目錄中 每一個目錄稱之為一個模塊,如果要創建一個模塊,只要在 phpcms/modules 目錄下創建文件夾并放入你的控制器類就可以了.

例如我要開發一個叫做test的模塊,那么首先在 phpcms/modules 目錄下創建文件夾,并將其命名為test,test模塊的標準結構通常是這樣的:

其中,classes為模塊類庫包,functions為模塊函數庫包,templates為模塊模板包這里通常放置含有權限控制的控制器模板,也就是后臺模板.

如果您的模板有單獨的前臺模板,你需要在phpcms/templates/default下創建一個您的模塊目錄來放置前臺模板,"default"為你的風格包名稱,我們默認適用default.

第三:創建模塊控制器類

在創建模塊中我們已經創建好了一個名為“test”的模塊,接下來我們繼續為這個模塊添加兩個控制器類.

phpcms v9的控制器就是模塊的類文件,位于phpcms/modules/模塊/目錄下面,類名成就是文件名+.php,例如一個名為mytest的控制器,那么他的命名為mytest.php即可,控制器類默認繼承系統的函數庫,可以直接使用,控制器類的類名稱與控制器文件名必須相同.

控制器類文件包含兩種形式:

1.mytest.php 控制器,前臺瀏覽,不含權限控制,代碼如下:

  1. <?php 
  2.   defined('IN_PHPCMS')orexit('No permission resources.'); 
  3.   classmytest{ 
  4.     function__construct(){ 
  5.     } 
  6.     publicfunctioninit(){ 
  7.      $var='hello world!'
  8.      echo $myvar
  9.      } 
  10.  
  11.     publicfunctionmylist(){ 
  12.      $var='hello world!this is a example!'
  13.      echo $myvar
  14.      } 
  15.   } 
  16. ?> 

這個控制器的url訪問方法前面已經介紹過了.

http://www.49028c.com/index.php?m=test&c=mytest

http://www.49028c.com/index.php?m=test&c=mytest&a=mylist

沒有填寫 “a” 的情況下,默認調用init方法.

2.mytest_admin.php 控制器,后臺管理,含權限控制.

后臺控制控制器需要加載admin模塊下的admin類,并繼承該類。需要注意的是因為你添加的控制器類繼承了其他的類,你要小心你控制器的方法名不要和該類中的方法名一樣了,否則會造成影響,具體請查看admin類中有哪些方法。

  1. <?php 
  2. defined('IN_PHPCMS')orexit('No permission resources.'); 
  3. pc_base::load_app_class('admin','admin',0); 
  4. classmytest_adminextendsadmin{ 
  5.   publicfunction__construct(){ 
  6.   } 
  7.   publicfunctioninit(){ 
  8.     $myvar='oh,i am phpcmser'
  9.     echo $myvar
  10.   } 
  11. ?> 

在控制器中增加模板調用.

phpcms 可以實現完全的模板與程序分離,所以在我們的控制器程序中要加載模板,才可以更友好的顯示出來。

1.加載前臺模板

前臺模板文件在phpcms/templates/default/模塊名稱 目錄中,本示例也就在phpcms/templates/default/test中,加載模板方法如下:

includetemplate('test','mytest','default');

其中test為模塊名稱mytest為模板目錄下模板名稱,default為風格名稱,默認不填為defalut,在上面例子中如果要給mytest.php中init方法加載一個mytest的模板,如下:

  1. publicfunctioninit(){ 
  2.    $var='hello world!'
  3.    includetemplate('test','mytest','default'); 
  4.  } 

這樣我們通過url訪問該方法的時候也就加載了對應的模板.

2.加載后臺模板

后臺模板文件在phpcms/modules/模塊名稱/templates 目錄中,本示例也就在phpcms/modules/test/templates 中,加載模板方法如下:

include $this->admin_tpl('mytest_admin_list');

其中mytest_admin_list為phpcms/modules/test/templates中mytest_admin_list.tpl.php,注意:此處模板必須以.tpl.php 作為后綴,在上面例子中如果要給mytest_admin.php中init方法加載一個mytest_admin_list的模板,如下:

  1. publicfunctioninit(){ 
  2.    $myvar='oh,i am phpcmser'
  3.    include $this->admin_tpl('mytest_admin_list'); 
  4.  }  

第四:創建數據庫模型類

數據庫模型位于:phpcms/model/ 目錄下。

數據模型文件的命名規則建議為數據表名稱+'_model.class.php'

如果在我們的創建的模塊中我要使用一個數據庫“test”,首先需要建立一個數據庫模型文件,文件名稱為'test_model.class.php',內容如下:

  1. <?php 
  2.  
  3.   defined('IN_PHPCMS')orexit('No permission resources.'); 
  4.  
  5.   pc_base::load_sys_class('model','',0); 
  6.  
  7.   classtest_modelextendsmodel{ 
  8.  
  9.     publicfunction__construct(){ 
  10.  
  11.     $this->db_config=pc_base::load_config('database'); 
  12.  
  13.     $this->db_setting='default'
  14.  
  15.     $this->table_name='test'
  16.  
  17.     parent::__construct(); 
  18.  
  19.   } 
  20.  
  21.  } 
  22.  
  23. ?> 

注意:

1.數據庫模型類名稱必須與文件名稱相同;

2.$this->db_setting = 'default'為數據庫配置文件中配置數據庫鏈接池名稱,默認為default,一般情況下不需要修改。

3.$this->table_name = 'test'為數據表名稱

這樣我們就建立好了一個數據庫模型類,在模塊的控制器中使用:

$this->db=pc_base::load_model('test_model');

來加載,具體如下:

  1. <?php 
  2.   defined('IN_PHPCMS')orexit('No permission resources.'); 
  3.   classmytest{ 
  4.     private$db
  5.     function__construct(){ 
  6.       $this->db=pc_base::load_model('test_model'); 
  7.     } 
  8.     publicfunctioninit(){ 
  9.       $result=$this->db->select(); 
  10.       var_dump($result); 
  11.      } 
  12.   } 
  13. ?> 

其中$this->db中所支持的方法請參照phpcms/libs/classes/model.class.php中方法.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩天堂在线视频| 亚洲一区二区三区香蕉| 国产精品手机播放| 欧美性在线视频| 国产精品综合网站| 日韩在线激情视频| 欧美整片在线观看| 国产成人avxxxxx在线看| 国产不卡视频在线| 亚洲精品www久久久| 久久精品视频va| 日韩黄色av网站| 久久在线精品视频| 亚洲美女在线视频| 日韩成人久久久| 亚洲国产成人在线视频| 久久精品国产久精国产一老狼| 久久69精品久久久久久国产越南| 欧美精品videos| 亚洲伊人久久大香线蕉av| 久久精品中文字幕一区| 亚洲国产三级网| 亚洲欧洲激情在线| 韩国19禁主播vip福利视频| 久久久www成人免费精品| 亚洲香蕉av在线一区二区三区| 1769国内精品视频在线播放| 日韩视频中文字幕| 亚洲毛片在线免费观看| 欧美电影免费观看| 亚洲欧美另类自拍| 人体精品一二三区| 亚洲欧洲自拍偷拍| 欧美日韩一区二区在线播放| 国产精品欧美一区二区| 国产精品99久久99久久久二8| 国产精品久久久久久久久久久久| 国产成人精品电影久久久| 在线观看不卡av| 国产精品国产三级国产专播精品人| 久久久久日韩精品久久久男男| 欧美老少做受xxxx高潮| 精品视频在线导航| 黑人精品xxx一区| 国产福利精品在线| 国产视频精品在线| 久久男人的天堂| 日韩av三级在线观看| 日韩精品极品毛片系列视频| 欧美疯狂性受xxxxx另类| 国产精品xxxxx| 国产精品wwww| 国产精品男人爽免费视频1| 成人女保姆的销魂服务| 国产精品扒开腿爽爽爽视频| 九九视频这里只有精品| 国产手机视频精品| 国产精品爽黄69天堂a| 欧美资源在线观看| 国产成人高清激情视频在线观看| 欧美区二区三区| 日本一欧美一欧美一亚洲视频| 精品亚洲夜色av98在线观看| 色av中文字幕一区| 成人在线精品视频| 欧美一级大片在线免费观看| 国产精品第8页| 亚洲欧美日韩直播| 午夜精品福利在线观看| 日韩欧美在线中文字幕| 97人人模人人爽人人喊中文字| 亚洲精品电影久久久| 日韩电影大全免费观看2023年上| 久久高清视频免费| 欧美性videos高清精品| 精品视频久久久久久| 亚洲伊人久久综合| 欧美日韩加勒比精品一区| 欧美性生交xxxxx久久久| 欧美黑人极品猛少妇色xxxxx| 久久人人爽人人爽人人片av高清| 国产91在线播放精品91| 成人黄色片网站| 欧美色videos| 亚州成人av在线| 伊人男人综合视频网| 国产成+人+综合+亚洲欧美丁香花| 亚洲国产另类久久精品| 亚洲一区二区三区香蕉| 欧美性69xxxx肥| 在线视频中文亚洲| 国产精品久久久久久久久久久久久久| 国产精品爽爽爽爽爽爽在线观看| 欧美激情2020午夜免费观看| 欧美在线一区二区三区四| 狠狠做深爱婷婷久久综合一区| 久久久天堂国产精品女人| 成人综合网网址| 91日韩在线播放| 日韩中文字幕在线观看| 国产欧美一区二区三区久久人妖| 45www国产精品网站| 欧美亚洲成人免费| 91大神福利视频在线| 日韩精品亚洲精品| 国产成人综合一区二区三区| 国产成人自拍视频在线观看| 久久综合88中文色鬼| 日韩欧美一区视频| 亚洲一区二区三区乱码aⅴ| 国产一区二区三区在线观看网站| 成人国产精品免费视频| 草民午夜欧美限制a级福利片| 亚洲欧美另类国产| 在线视频中文亚洲| 91精品久久久久久久久久| 国产精品成人va在线观看| 国产精品成人免费电影| 日本高清不卡在线| 亚洲的天堂在线中文字幕| 国产在线播放91| 国产精品免费一区二区三区都可以| 中文字幕视频一区二区在线有码| 精品福利在线看| 成人精品视频在线| 不卡伊人av在线播放| 尤物yw午夜国产精品视频明星| 欧美日韩性视频| 亚洲高清久久网| 日韩精品视频在线免费观看| 亚洲伊人成综合成人网| 在线看欧美日韩| 日韩有码在线电影| 欧美亚洲国产成人精品| 亚洲国产精品久久久久久| 欧美影院久久久| 中文字幕日本欧美| 久久久亚洲精品视频| 国产99久久精品一区二区| 欧美日韩国产在线播放| 日本国产欧美一区二区三区| 国产91色在线播放| 国产情人节一区| 欧美尺度大的性做爰视频| www高清在线视频日韩欧美| 国产深夜精品福利| 青青草一区二区| 黑人巨大精品欧美一区二区免费| 成人亲热视频网站| 国产精欧美一区二区三区| 国产精品嫩草影院久久久| 亚洲国产精品成人va在线观看| 国产脚交av在线一区二区| 亚洲成人网在线观看| 国产精品久久久久久久久久小说| 欧美与黑人午夜性猛交久久久| 国产一区二区三区欧美| 亚洲3p在线观看| 欧美一级黑人aaaaaaa做受| 亚洲黄色片网站| 国产精品视频永久免费播放| 亚洲香蕉伊综合在人在线视看| 久久精品国产2020观看福利| 国产美女精品视频免费观看|