phpcms有控制器。phpcms控制器是模塊的類文件,儲存在“phpcms/modules”下面,每個模塊都是獨立的命名方式,類名是“文件名+.php命名”格式;控制器類默認繼承系統的函數庫,可以直接使用。控制器類的類名稱與控制器文件名必須相同。
本教程操作環境: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教程,歡迎在線學習!