已發(fā)送,樓主請查收
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、成都小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了萊蕪免費建站歡迎大家使用!
后臺
Modern_mouse.rar是一個完整的項目。后臺為manage目錄,后臺的數(shù)據(jù)庫配置在根目錄下的configs/config.inc.php
后臺使用adodb
前臺使用PDO
cinema.rar 是一個沒有加效果的后臺
數(shù)據(jù)庫配置在application.php
還有check.php
【1】創(chuàng)建模塊目錄
通過前面的學習,我們已經(jīng)知道phpcms V9框架中的模塊位于phcms/modules目錄中,每一個目錄稱之為一個模塊。
如果要創(chuàng)建一個模塊,只要在 phpcms/modules 目錄下創(chuàng)建文件夾并放入你的控制器類就可以了。
例如我要開發(fā)一個叫做test的模塊,那么首先在 phpcms/modules 目錄下創(chuàng)建文件夾,并將其命名為test。
觀察其他模塊的結(jié)構(gòu),可知test模塊的標準結(jié)構(gòu)通常應(yīng)該也是這樣的:
classes 為模塊類庫包
functions 為模塊函數(shù)庫包
templates 為模塊模板包,通常放置含有權(quán)限控制的控制器模板,也就是后臺模板。
如果你的模板有自定義的前臺模板,你需要在phpcms\templates\default目錄下創(chuàng)建一個你的模塊名目錄來放置前臺模板,“default”為你的風格包名稱,我們默認是用default。
【2】創(chuàng)建模塊控制器類
上一步,我們已經(jīng)創(chuàng)建好了一個名為test的模塊,接下來我們繼續(xù)為這個模塊添加兩個控制器類。
phpcms V9 的控制器就是模塊的類文件,位于phpcms/modules/模塊名/目錄下面。類文件名稱就是控制器名+.php,例如一個名為mytest的控制器,那么它的命名為mytest.php即可??刂破黝惸J繼承系統(tǒng)的函數(shù)庫,可以直接使用。
控制器類的類名稱與控制器文件名必須相同。
控制器類文件包含兩種形式:
1.前臺瀏覽(不含權(quán)限控制),mytest.php 控制器
在phpcms/modules/test 目錄下,新建文本文件,命名為mytest,修改文件類型為php, 用Notepad++打開編輯內(nèi)容為:
1 ?php
2 defined('IN_PHPCMS') or exit('No permission resources.');
3 class mytest
4 {
5 function __construct(){}
6 public function init()
7 {
8 $myvar = 'hello world!';
9 echo $myvar;
10 }
11 public function mylist()
12 {
13 $myvar = 'hello world! This is an example!';
14 echo $myvar;
15 }
16 }
17 ?
其實,這個控制器的URL訪問方法前面已經(jīng)介紹過,請參見《phpcms V9 MVC模式與URL訪問解析》
;c=mytest等價于
;c=mytesta=init。
沒有填寫“a”值的情況下,默認調(diào)用init方法。
為什么這樣子?請把《phpcms V9 MVC模式與URL訪問解析》再讀一遍。
2.后臺管理(含權(quán)限控制),mytest_admin.php 控制器
后臺控制器需要加載admin模塊下的admin類,并繼承該類。需要注意的是因為添加的控制器類繼承了其它的類,要小心控制器類的方法名不要和該類中的方法名一樣了,否則會造成影響,具體請查看admin類中有哪些方法。
在phpcms/modules/test 目錄下,新建文本文件,命名為mytest_admin,修改文件類型為php, 用Notepad++打開編輯內(nèi)容為:
1 ?php
2 defined('IN_PHPCMS') or exit('No permission resources.');
3 pc_base::load_app_class('admin','admin',0);
4 class mytest_admin extends admin
5 {
6 public function __construct() {}
7 public function init()
8 {
9 $myvar = 'oh,i am phpcmser';
10 echo $myvar;
11 }
12 }
13 ?
在控制器中增加模板調(diào)用
phpcms 可以實現(xiàn)完全的模板與程序分離,所以在我們的控制器程序中要加載模板,才可以更友好的顯示出來。
1.加載前臺模板
前臺模板文件在phpcms\templates\default\模塊名稱的目錄中,本示例也就在phpcms\templates\default\test中。
加載模板方法如下:
1 // 加載模板方法:
2 include template('test', 'mytest', 'default');
其中,test為模塊名稱,mytest為模板目錄下模板名稱,default為風格名稱,默認為default。
在上面例子中如果要給mytest.php中init方法加載一個mytest的模板(可以拷貝content模塊下的index.html作為替代),如下(所以模板名稱為index):
1 public function init()
2 {
3 $myvar = 'hello world!';
4 echo $myvar;
5 include template('test', 'index');
6 }
這時,當我們再通過URL訪問該方法的時候也就加載了對應(yīng)的模板。
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 public function init()
2 {
3 $myvar = 'oh,i am phpcmser';
4 echo $myvar;
5 include $this-admin_tpl('mytest_admin_list');
6 }
加載模板部分內(nèi)容也可以參見系統(tǒng)框架源碼content模塊 phpcms\modules\content content.php文件的實現(xiàn)。
【3】創(chuàng)建數(shù)據(jù)庫模型類
至此,已經(jīng)明確,各模塊的數(shù)據(jù)庫模型位于:phpcms/model/ 目錄下。
數(shù)據(jù)模型文件的命名規(guī)則建議為:數(shù)據(jù)表名稱 + '_model.class.php'
如果在我們的創(chuàng)建的模塊中我要使用一個數(shù)據(jù)庫“test”,首先需要建立一個數(shù)據(jù)庫模型文件,文件名稱為'test_model.class.php'
內(nèi)容如下:
1 ?php
2 defined('IN_PHPCMS') or exit('No permission resources.');
3 pc_base::load_sys_class('model', '', 0);
4 class test_model extends model
5 {
6 public function __construct()
7 {
8 $this-db_config = pc_base::load_config('database');
9 $this-db_setting = 'default';
10 $this-table_name = 'test';
11 parent::__construct();
12 }
13 }
14 ?
書寫數(shù)據(jù)庫模型類注意一下幾點:
1. 數(shù)據(jù)庫模型類名稱必須與文件名稱相同。
2. 必須繼承與數(shù)據(jù)庫模型基類model。
3. $this-db_setting = 'default'為數(shù)據(jù)庫配置文件中配置數(shù)據(jù)庫鏈接池名稱,默認為default,一般情況下不需要修改。
4. $this-table_name = 'test'為數(shù)據(jù)表名稱。
這樣我們就建立好一個數(shù)據(jù)庫模型類。那么,怎么使用呢?
在模塊的控制器中使用(加載方式):
$this-db = pc_base::load_model('test_model');
具體如下:
1 ?php
2 defined('IN_PHPCMS') or exit('No permission resources.');
3 class mytest
4 {
5 private $db;
6 function __construct()
7 {
8 $this-db = pc_base::load_model('test_model'); // 加載數(shù)據(jù)庫模型
9 }
10 public function init()
11 {
12 $myvar = 'hello world!';
13 echo $myvar;
14 include template('test', 'index');
15 $result = $this-db-select(); // 調(diào)用select方法
16 var_dump($result);
17 }
18 public function mylist()
19 {
20 $myvar = 'hello world! This is an example!';
21 echo $myvar;
22 }
23 }
24 ?
其中$this-db中所支持的方法請參照父類 phpcms/libs/classes/model.class.php 中方法。
不一定都是PHP的,如果是PHPCMS的系統(tǒng),那么后臺是PHP的;如果是aspcms,那么后臺則是asp的。
php的是一種開源的腳本語言,各種插件容易免費獲得,有人說安全性也比較給力。
由于你的功能很簡單,隨便用幾個類似于table的列表網(wǎng)頁就行了,給你個后臺模板網(wǎng)頁,慢慢看 相信有你喜歡的。
后臺模板網(wǎng)址:
請查找一下該系統(tǒng)的安裝手冊.
如果沒有,請嘗試用以下方法:
1.把系統(tǒng)放到網(wǎng)站文件夾下,
2.建立數(shù)據(jù)庫及數(shù)據(jù)表.
3.查看后臺程序源碼,設(shè)置數(shù)據(jù)庫名稱及連接用戶名和密碼,有可能模板的文件夾也要做一下設(shè)置
dbconn 之類的程序多看看.
4.通過瀏覽器訪問程序,根據(jù)錯誤信息進行調(diào)試.
5.如果不行,再找別人幫忙......
那是正常的你打開導出的文件看一下是不是SQL數(shù)據(jù) 有的CMS導出和導入用的是PHP文件