phpcms有控制器嗎

phpcms有控制器。phpcms控制器是模塊的類文件,儲存在“phpcms/modules”下面,每個模塊都是獨立的命名方式,類名是“文件名+.php命名”格式;控制器類默認繼承系統的函數庫,可以直接使用。控制器類的類名稱與控制器文件名必須相同。

phpcms有控制器嗎

本教程操作環境:windows7系統、phpcms v9版,DELL G3電腦

phpcms有控制器。

phpcms中什么是控制器

phpcms控制器是模塊的類文件,儲存在phpcms/modules下面,每個模塊都是獨立的命名方式,類名是文件名+.php命名格式,控制器類默認繼承系統的函數庫,可以直接使用。控制器類的類名稱與控制器文件名必須相同。

立即學習PHP免費學習筆記(深入)”;

新增一個控制器

下面我們就在phpcms/modules下面新建一個test文件夾,在test文件夾里面新建一個名叫mytest.php的文件,在文件里面添加以下代碼:

defined('IN_PHPCMS')?or?exit('No?permission?resources.');class?mytest?{????function?__construct()?{ ????}????public?function?init()?{ ????????$myvar?=?'這是默認加載!';????????echo?$myvar; ????}????public?function?mylist()?{ ????????$myvar?=?'這是自定義list!';????????echo?$myvar; ????} }

然后我們在瀏覽器輸入以下訪問方式即可

http://域名/index.php?m=test&c=mytest

默認加載init()方法

http://域名/index.php?m=test&c=mytest&a=mylist

加載的是mylist方法

模板介紹

前臺模板

網站前臺模板位置在phpcms/templates/default/模塊下面

我們在控制器mytest.php文件init()方法里面加入加載模板方法

include?template('test',?'mytest',?'default');

在phpcms/templates/default/目錄下面新建一個test文件夾和mytest.html文件即可。

后臺模板

后臺模板文件在phpcms/modules/模塊名稱/templates 目錄中

帶權限的控制器

后臺控制器

在phpcms/modules/admin/下面新建一個mytest_admin.php文件,文件代碼如下:

defined('IN_PHPCMS')?or?exit('No?permission?resources.'); pc_base::load_app_class('admin','admin',0); class?mytest_admin?extends?admin{ ????function?__construct() ????{ ????} ????public?function?index(){ ????????echo?"后臺控制器"; ????} ? }

訪問地址:http://域名/index.php?m=admin&c=mytest_admin&a=index

phpcms自定義模型

在類上面引入模型

pc_base::load_sys_class('model',?'',?0);

然后類extends繼承model

在__construct方法里面添加以下代碼:

$this->db_config?=?pc_base::load_config('database'); $this->db_setting?=?'default'; parent::__construct();

查詢語句

function?init(){ ????$sql?=?'select?*?from?v9_news?'; ????$data?=?$this->get_array_by_sql($sql); ????var_dump($data); } public?function?sql_query($sql)?{ ????if?(!empty($this->db_tablepre))?$sql?=?str_replace('phpcms_',?$this->db_tablepre,?$sql); ????return?parent::query($sql); } ? public?function?fetch_next()?{ ????return?$this->db->fetch_next(); } //通過SQL語句查詢一條結果 public?function?get_one_by_sql($sql){ ????$this->sql_query($sql); ????$res?=?$this->fetch_next(); ????$this->free_result(); ????return?$res; } //通過sql語句查詢數組 public?function?get_array_by_sql($sql){ ????$this->sql_query($sql); ????$res?=?$this->fetch_array(); ????$this->free_result(); ????return?$res; } ? //釋放數據庫結果資源,調用底層完成 public?function?free_result()?{ ????$this->db->free_result(); }

PHP中文網,大量的免費PHPCMS教程,歡迎在線學習!

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享